vendredi 27 janvier 2012

Selenium IDE

Selenium IDE

Selenium IDE est en environnement de développement intégré pour les scripts Selenium. Il est implémenté comme une extension de Firefox et permet d'enregistrer, de modifier et de corriger des tests fonctionnels. Selenium IDE intègre tout Selenium Core ce qui permet d'enregistrer et de rejouer rapidement des tests dans un environnement réel.

Selenium IDE n'est pas qu'un outil d'enregistrement. Il est possible d'utiliser ses capacités d'enregistrement mais aussi de modifier à la main les scripts. Via l'autocomplétion et la capacité de déplacer rapidement les commandes, Selenium IDE est l'environnement idéal pour créer des tests Selenium, quel que soit le style choisi.

Lire la suite...

Sonar

Sonar

Sonar est une plate-forme ouverte de gestion de la qualité du code. Elle couvre les 7 axes de la qualité du code:

Sonar sait gérer Java mais aussi d'autres langages comme PHP (mais aussi C, C#, Flex, Natural, PHP, PL/SQL, Cobol et Visual Basic 6).

Sonar est extensible à l'aide de plugins très simples à installer. L'un deux permet l'interfaçage avec Jenkins

Parmi les fonctionnalités notables de Sonar, sa capacité à gérer des projets multiples, son authentification possible sous LDAP, ses outils de revue de code augmentés d'information signalant les manquements et des voies d'amélioration possible, sa localisation notamment en français, sa gestion personnalisé des règles à appliquer, etc. Des nuages permettant de repérer du premier coup d'oeil où l'effort doit être porté en priorité pour obtenir des résultats rapidement.

Sonar peut être appelé depuis le poste de travail du développeur, depuis Eclipse, via Maven ...

Il génère une émulation entre les équipes qui essaient d'avoir le projet le plus propre, ce qui apparaît clairement dans les tableaux de bord "radiateurs".

Nous verrons dans un prochain billet comment l'installer.... même si c'est très simple.

Sonar est actuellement en version 2.13.

jeudi 26 janvier 2012

Subversion: installation

Logo subversion

Le gestionnaire de source est la brique de base indispensable à toute tentative d'industrialisation des développements. Voici maintenant une petite procédure d'installation d'un serveur Subversion, dernière version (donc 1.7.2 à ce jour) sur un serveur Debian Lenny qui utilisera tant que possible les paquets et qui s'appuiera en outre sur:

  • un serveur HTTP Apache série 2.2
  • un serveur de messagerie Postfix
  • un navigateur de dépôts de source WebSVN qui fera l'objet d'un autre billet.

Lire la suite...

mercredi 25 janvier 2012

Jenkin, plugin eXtreme Feedback Panel et gestion d'une vue

Logo jenkins

Tant qu'on est à parler de Jenkins, voici une astuce permettant de modifier ou de supprimer une vue (view). Dans le cas normal, il suffit d'afficher la vue en question puis de cliquer sur le menu correspondant à gauche pour modifier ou supprimer.

Mais il se trouve qu'avec certains plugins tels que xfpanel (Extreme Feedback Planing), le menu gauche n'apparaît pas ... pas de panique ! (selon le célèbre guide galactique). Les menus ne sont que des liens qui obéissent aux mêmes URL. En conséquence, il suffit d'afficher la vue puis d'ajouter à l'URL "/configure" ou "/delete".

Par exemple, pour la vue "poum" sur l'instance Jenkins située à l'URL http://poum.serveur.fr:8080, cela donne respectivement:

  • http://poum.serveur.fr:8080/view/poum/manage
  • http://poum.serveur.fr:8080/view/poum/delete

Étonnant, non ?

lundi 23 janvier 2012

Changelist avec Subversion

Logo subversion Depuis la version 1.5 de subversion, il est possible de gérer des changelist ce qui permet de ne livrer que les modifications qui correspondent à un sujet particulier même si d'autres fichiers ont été modifiés. Ceci permet d'effectuer des livraisons de code par sujet, ce qui est une bonne pratique avec un outil de gestion de source car cela améliore grandement la traçabilité.

Lire la suite...

Subversion: gestionnaire de source centralisé

Logo subversion Banière SVN

La première brique indispensable à la création d'une plate-forme d'intégration continue est un gestionnaire de sources. C'est sur cet outil que s'appuieront ensuite les outils de tests automatisés et les outils qualimétriques.

Comme avantages immédiat à l'utilisation d'un tel outil, citons:

  • la mise en sécurité du code source de tout développeur (pas de perte de travail en cas de crash disque)
  • la capacité de revenir en arrière si une modification s'avère désastreuse
  • la capacité de savoir qui a fait quoi, quand et pourquoi (si le commentaire est pertinent)
  • la fusion au fur et à mesure des travaux de toute l'équipe (et pas au moment de la livraison)
  • la possibilité de travailler sur plusieurs branches de développement et de porter les modification de l'une sur les autres

Lire la suite...

jeudi 19 janvier 2012

La feuille de route

Java PHP

Deux aspects seront traités en parallèle:

  • la méthode
  • les outils

Concernant la méthode, je me focalise sur les approches agiles en lorgnant fortement sur le Behaviour Driven Development (BDD).

Concernant les outils, encore 2 catégories parfois liées:

  • le poste du développeur
  • les outils centralisés.

Concernant le poste développeur, il faudra:

  • un IDE et sa gestion incluant la gestion de source
  • des outils de tests unitaires, fonctionnels et de charge
  • des outils qualimétriques

Pour finir les étages de la fusée centralisée:

  • un gestionnaire de source
  • un gestionnaire de dépendances et de build
  • des outils de tests unitaires
  • des outils de tests fonctionnels (recette automatisée)
  • des outils de tests de montée en charge
  • un outil d'intégration continue
  • un outil de qualimétrie
  • un outil de recueil des anomalies et demandes d'évolution
  • un outil de gestion de projet

dimanche 15 janvier 2012

Bienvenue !

Ce blog est destiné à partager les connaissances que j'aurais pu acquérir dans le domaine du développement, plus principalement dans la recherche de l'amélioration de la productivité et donc, de la qualité logicielle.... Une particularité: l'ajout de la contrainte de travailler en équipe sur un Intranet non connecté à l'Internet.

Les principaux langages évoqués seront Java et PHP sans oublier Javascript, les développements étant principalement web. Mais comme il faut bien se faire plaisir, il y aura aussi du Perl !

Le choix des outils est réalisé selon les critères suivants:

  • licence libre
  • projet actif
  • localisé en français
  • authentification LDAP possible
  • api web SOAP ou REST
  • intégrable avec les autres outils si nécessaire
  • cohérence technologique: outil si possible en Java ou PHP sur SGBD Postgres si nécessaire et via serveur Apache

A bientôt !