[:fr]La parole est aux speakers : Gabriel Pillet (AFUP Day 2019 Lyon)[:]

Publié le

[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Alice et Bob sont sur un bateau

TOP 3 des phrases que j'aimerais ne plus entendre sur un projet web : "Je vais prendre un café pendant que l'import tourne…", "Le mot de passe de l'utilisateur admin, c'est azerty1234 ?" et "T'as qu'à utiliser un dump de la base de prod.". Si 99% des projets dans le web servent principalement à manipuler des données quelconques, comment se fait-il que l'on délaisse autant la partie "jeu d'essai" de nos projets ? Et puis d'ailleurs c'est quoi un (bon) jeu d'essai ? Nous verrons ensemble les bonnes pratiques pour bichonner nos données dans les différents environements du projet (dev, test, préprod et prod) et des astuces pour faciliter leur création avec Alice et Faker.

SupInfo
17/05/2019
16:50-17:30

Un jeu d’essai correspond à des données métiers. Souvent, on constate que les clients ont du mal à tester une application avec des données fictives. Arrives-tu à faire en sorte que tes clients prennent le temps de produire un jeu d’essai qui veut dire quelque chose pour eux avec lequel ils pourront tester leur appli ?

Le problème principal, qui est le sujet de fond de cette conférence, c’est qu’aucun des acteurs du projet ne prend généralement le temps de se poser sur la question du jeu d’essai. Si c’est le développeur qui fournit le jeu d’essai à la va-vite, il y a de grandes chances pour le client ne s’y retrouve pas (M. Foobar, c’est qui ?!), si au contraire c’est le client qui fournit les données (un extrait anonymisé de la base de production par exemple), c’est le développeur qui va avoir du mal à faire le tri, extraire la logique, trouver un sens à ces dizaines de milliers de lignes réparties dans une centaine de tables obscures qu’on lui demande d’assimiler.

La solution est pourtant « simple », c’est un travail d’équipe qui doit réunir tous les acteurs du projet et qui doit prendre un temps non négligeable sur la réalisation du projet, surtout au début du projet.

Sur les trop rares projets qui ont un jour bénéficié d’un jeu d’essai bien conçu, il est fréquent que celui-ci ne soit pas maintenu et cesse d’être utilisé. Parviens-tu à encourager tes collègues à maintenir, dans la durée, ce jeu d’essai ?

Si le jeu d’essai est bien conçu, il doit être complètement intégré au processus de développement, comme peuvent l’être les tests automatisés par exemple (puisqu’à mon avis le jeu d’essai est aussi une pierre angulaire des tests automatisés). Si j’ajoute une nouvelle fonctionnalité, je devrais faire évoluer mon jeu d’essai pour que la fonctionnalité soit testable sans aucune opération manuelle. Par exemple : sur une fonctionnalité d’annulation de commande, je DOIS avoir une commande en cours dans mon jeu d’essai, sinon on sera obligé dès qu’on veut tester l’annulation de commande de créer une commande manuellement.

C’est plus facile de jouer le jeu du jeu d’essai quand on utilise des tests d’intégration (ou tests de bout en bout), puisqu’à chaque fonctionnalité on est sensé ajouter un test qui aura de toute manière besoin d’un jeu d’essai à jour pour fonctionner.

Tu apprends à développer à des élèves. Pourrais-tu nous parler de cette expérience ?

C’est parti d’un besoin que j’ai eu de me sentir vraiment utile à la société (plus utile que de simplement coder des applications pour des clients, pouvoir laisser un impact durable et positif), comme j’avais déjà donné des formations pro sur Symfony je ne partais pas de rien, mais enseigner à des élèves est un exercice complètement différent ! J’interviens depuis deux ans à l’école YNOV, à des Bac +1 et Bac +2, sur des modules plutôt orientés programmation web (PHP, Symfony, Postgres et shell scripting).

C’est vraiment une expérience que je conseille à n’importe quel développeur ou développeuse qui cherche à transmettre ses connaissances (et à réapprendre les bases !), c’est très valorisant et il n’y a pas besoin de suivre une formation spécifique pour intervenir dans une école, d’autant que les élèves apprécient particulièrement avoir en face quelqu’un qui a une expérience professionnelle concrète. J’axe ma pédagogie à 80% sur la pratique, avec des projets à réaliser un peu fun pour motiver les étudiants (refaire twitter avec Symfony, faire un tamagotchi en shell script etc.). Après tout n’est pas rose, ça demande beaucoup d’investissement même sur un petit module, et ça rémunère bien moins qu’une activité de développement classique !

Une conférence présentée par

Gabriel PILLET
Gabriel PILLET
Gabriel est développeur backend en Freelance et aussi un peu prof de code. Ses passions : les chats, Symfony, la qualité et le télétravail bien fait. Son super pouvoir : rendre simple un problème compliqué.

Autres interviews

[:]