AFUP Forum PHP 2019 Baromètre Planète PHP

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

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 !

Le speaker

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

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :