Diving in Docker

Chez PMSIpilot, nous aimons avoir une infrastructure moderne, performante et surtout, simple à maintenir. En interne, nous avons un outillage assez conséquent pour supporter notre organisation. Déployer ces services sur des machines physiques est, d’une part coûteux et, d’autre part, difficilement maintenable. Nous avons choisi il y a environ un an de basculer la plupart des services non-critiques sur Docker.

… 

 

De l’utilisation du couple Behat/Sahi sur différents browsers

Différents brothers

Jusqu’à peu, nous utilisions Behat pour sa définition principale : confirmer la stabilité des fonctionnalités de nos applications et leur non régression dans le temps. Une partie de ces fonctionnalités faisant appel à du javascript, nous l’avons tout naturellement couplé à Sahi (la dernière version en date étant la 3.5) et Chrome. Nous avons récemment décidé d’étendre ces tests à d’autres navigateurs afin de nous assurer une compatibilité cross-browsers de notre application.

Et là, c’est le drame : un tsunami d’erreurs. Comme le disait récemment un tavernier près du port de Cherbourg : « ce qui plaît à un navigateur ne plaît pas forcément à un autre ». Nous nous sommes donc plongés dedans et voici donc la liste non exhaustive des écueils auxquels nous avons été confrontés. Et vu qu’à PMSIpilot on n’est pas des requins, on vous met aussi les solutions apportées. [/fin de la minute maritime]

… 

 

La qualité

La qualité

Un projet est composé de quatre variables :

  • le périmètre fonctionnel (quoi),
  • la qualité (comment),
  • les ressources (qui),
  • le temps (quand).

J’ai volontairement classé ces variables dans l’ordre où il me semble qu’elles devraient être définies. Mais nous ne vivons pas dans le monde des Bisounours et c’est pourquoi la qualité est en général la variable qui sert à laisser de la marge aux autres.

… 

 

Améliorez votre confort avec Behat

Aujourd’hui je vais vous montrer quelques astuces qui vont peut être sauver votre santé mentale quand vous vous apprêtez à lancer une longue suite de tests avec Behat pour valider votre développement. En vrac on va parler de filtres pour lancer des scénarios spécifiques, de pouvoir lancer vos tests en arrière plan, d’utiliser le système de hooks pour faire des notifications, et même des captures d’écran !

… 

 

Gitboard, le tableau de bord des projets Git

Nous travaillons sur plusieurs projets, tous gérés par Git. Il y a certains jours avec beaucoup de commits et d’autres sans.

C’est pourquoi nous avons développé Gitboard, un petit script php qui permet d’avoir rapidement une vue d’ensemble d’un projet Git :

  • le nombre de commit des derniers n jours, n heures et n minutes,
  • le détails des derniers commits,
  • l’écartement des branches locales non mergées,
  • des statistiques simplistes sur les différents commiters.

… 

 

Mink, Sahi et un gros DOM sont dans un bateau

… le bateau coule !

tl;dr > Voir directement la pull request

Ça fait environ deux semaines que nous utilisons Behat pour élargir notre couverture de tests fonctionnels sur notre application, et je dois dire qu’on est quand même très content, c’est facile, ludique et relativement stable. Pour donner une idée on en est à 30 scénarios, environ 400 steps et une douzaine de comportements persos.

Seulement sur certaines pages très lourdes, on a eu presque aléatoirement quelques problèmes quand on utilisait Mink avec Sahi

… 

 

Le pattern observer en Javascript

Il est très intéressant dans une application de pouvoir faire dialoguer des objets entre eux. Pour ce faire, il existe le pattern observer. Celui-ci permet de définir une relation entre plusieurs objets de façon à ce qu’à chaque modification (comprendre évènement) d’un objet les autres en soient informés.

Dans cet article je vais faire une première approche, en essayant de vous expliquer comment nous utilisons ce pattern dans notre projet.

…