blog

Blog

AngularJS : La voie du testeur - les scopes

Publié le 23/02/2014 par Vivian Pennel

AngularJS est un framework javascript permettant de faciliter l’écriture d’application single page. Il y a de nombreuses fonctionnalités très intéressantes proposées par ce framework, mais selon moi il y en a une très importante : il est développé de manière à ce que le code écrit puisse être testé en intégralité, ce qui facile fortement une approche TDD.

Cet article est destiné aux personnes qui démarrent sur l’écriture de tests avec AngularJS, ou celles qui cherchent des trucs et astuce pour le quotidien. Une connaissance basique d’AngularJS et de Jasmine sont nécessaires.

Lire la suite

Testez vos données plus rapidement avec Symfony2 et Doctrine

Publié le 27/04/2013 par Vivian Pennel

Ce petit article a pour but d’expliquer comment mettre en place un environnement de test de données avec symfony2 et doctrine. Cet environnement devra respecter 3 critères très importants :

  • Rapidité : La suite de test, même si elle accède à une base de données ne doit pas être trop longue à s’exécuter
  • Prédictibilité : On doit pouvoir se baser sur des données de tests déterminées
  • Isolation : Les tests ne doivent pas interférer dans l’exécution des autres.
Lire la suite

Gestion de plusieurs versions de Play framework avec pvm

Publié le 31/03/2013 par Vivian Pennel

Travaillant sur différents projets avec Play, sur différentes versions du framework j’ai trouvé qu’avoir plusieurs installations à gérer à la main c’était pas très pratique. Le but de ce post est de proposer une solution grâce à un outil très simple

Lire la suite

Mon avis sur Play2 / Scala au travers d'une TodoApp

Publié le 02/08/2012 par Vivian Pennel

Après plusieurs lectures notamment de “Programming in Scala” de Martin Odersky, Lex Spoon, et Bill Venners et en lien mes objectifs personnels 2012, à savoir maîtriser Javascript et apprendre Scala, je me suis lancé dans l’écriture d’une petite application pour mettre tout ça en pratique.

L’article est découpé en 2 parties, d’abord le côté serveur avec play/scala puis le côté client avec angularjs/coffee script. Le but est de donner mon avis / mes retours d’expérience sur les langages et technologies utilisées.

Cette première partie est dédiée à play et scala.

Lire la suite

Devoxx France 2012

Publié le 08/05/2012 par Vivian Pennel

J'ai eu la chance d'assister a la première édition du Devoxx en France à Paris.
Cet évènement a regroupé près de 1200 développeurs venus assister à des labs, university, tool in action, conférences, etc…
Le tout réparti sur 3 journées bien remplies (de 9h à 20h et plus) dans un très bel endroit.

Lire la suite

Compte rendu code retreat Montpellier du 24/03/2012

Publié le 25/03/2012 par Vivian Pennel

Hier s’est déroulé le premier code retreat à montpellier dans les locaux d’Epitech. L’évènnement a organisé par Julient Lafont, Sylvain Fraïssé, et moi-même, sponsorisé par Zenexity. Nous avons démarré par une petite présentation de l’organisation, puis du fonctionnement de la journée et 4 principes de développement à respecter sur l’ensemble des sessions par les facilitateurs. Rôle tenu par Antoine Vernois et Sylvain Fraïssé. presentationCes principes sont issus de l’eXtreme Programming :

Lire la suite

JPA/Hibernate, Flush manuel et @GeneratedValue sont dans un bateau

Publié le 14/03/2012 par Vivian Pennel

Mon dernier article traitait de la gestion des transactions et des rollback avec JPA se terminait sur la conclusion que si on utilise Hibernate en provider, mieux vaut utiliser le flush manuel pour avoir un contrôle complet. Cependant, j’avais noté de faire attention à la méthode de génération des ID, qui peut transformer le flush manuel en semi-manuel… C’est l’objet de cet article.

Lire la suite

Soirée git montpellier

Publié le 14/02/2012 par Vivian Pennel

Hier soir, une soirée a été organisée par le Montpellier JUG, où Sébastien Douche était invité.

J’utilise svn quotidiennement au boulot, ainsi que git sur mes projets perso. Réfléchissant à la fois à comment modéliser notre organisation avec un DVCS qui viendrait remplacer svn et en même temps améliorer mon utilisation actuelle de git, j’ai sauté sur l’occasion.

J’y suis personnellement allé en m’attendant à une présentation de type “tutoriel” où on explique comment installer git, comment se synchroniser, bref l’utilisation courante.

Lire la suite

Play! Créer des composants MVC avec les FastTags

Publié le 26/01/2012 par Vivian Pennel

J’ai beaucoup apprécié la facilité de développement rencontrée avec play!, qui sur beaucoup de points ressemble à Symfony (fixtures, controleur, tags etc..). J’ai malgré tout rencontré quelques points qui m’ont paru étonnant. Notamment, pour créer un template ré-utilisable qui a besoin d’accéder à la couche métier, il faut passer par les FastTags

Ce concept nous permet de faire à peu près tout ce dont a besoin, excepté qu’il casse le pattern MVC. En effet si on regarde de plus près la classe FastTags, on s’aperçoit que l’on a du HTML écrit dans des chaîne Java. Pas trop sexy. Du coup comment créer un Custom Tag, avec notre logique en Java et le template dans un fichier html séparé ?

Lire la suite

Ouverture du site vivian-pennel.fr

Publié le 23/01/2012 par Vivian Pennel

Après de longs mois sans écrire sur mon ancien blog j’ai décidé de reprendre en allant plus loin, sur mon propre site. Cela a été l’occasion d’approfondir play!, mais aussi d’être plus libre sur les fonctionnalités dont j’ai besoin aujourd’hui.

Le contenu de ce blog devrait principalement être axé autour des technologies Java, qui sont actuellement mon coeur de métier. Cependant, ce nouveau départ est aussi pour moi l’opportunité de mettre en pratique de nouveaux principes principalement issus du mouvement craftsmanship :

  • Rendre public mon apprentissage de nouvelles technologies, méthodes et outils
  • Transmettre mes connaissances pour permettre à d’autres de progresser, mais aussi pour m’aider à connaître mon niveau de maîtrise
  • Conserver une base de connaissance pour pouvoir m’y référer dans le futur

Si vous souhaitez suivre le contenu de ce blog, vous pouvez vous abonner au flux RSS, ou me suivre sur twitter.

Enfin si vous avez des questions, vous pouvez les poser directement sur ce post, ou alors via la page de contact.

Bonne visite !

Lire la suite

Automatiser le filtrage des requêtes avec le behavior SoftDelete de Doctrine 1.x

Publié le 25/02/2010 par Vivian Pennel

Le behavior softDelete de doctrine est très pratique. Il permet d’automatiser la gestion des suppressions non physique en base.

Techniquement pour doctrine inférieur à 1.2, ce behavior ajoute un champ deleted de type BOOLEAN dans la table cible, qui passera à vrai lors de la suppression d’une ligne. Pour doctrine 1.2, ce champ est renommé en deleted_at et, est de type DATE. On a donc maintenant en plus la date de suppression.

Lire la suite

[Symfony >= 1.2] Validation conditionnelle de formulaire

Publié le 10/02/2010 par Vivian Pennel

Le but de ce billet est d’apporter une idée d’approche pour l’implémentation de règles métiers sur les formulaires.

Supposons que nous ayons un formulaire A avec 2 champs A1 et A2. avec la spécification suivante : A1 est obligatoire, mais uniquement si A2 est saisi.

Lire la suite

Configuration d'un environnement de travail pour symfony sous Windows XP

Publié le 08/11/2009 par Vivian Pennel

Dans ce billet je vais expliquer comment installer et configurer Apache/PHP/Windows XP pour Symfony. Ce sera la première partie d’un article visant à montrer comment travailler dans de bonnes conditions avec cet environnement. Je n’ai pas testé Windows Vista ou Seven mais je suppose que cela doit pouvoir s’adapter facilement.

Lire la suite