AFUP Day Lyon 2020

Nous continuons notre tour de France des AFUP Day 2020 avec la deuxième étape à Lyon toujours en visioconférence. Ces conférences ont eu lieu le 24 juin 2020, voici le programme complet des conférences.


Retour d’expérience

Comme pour l’AFUP Day Nantes 2020, une partie de l’équipe technique de Kiboko a également participé à cet événement. Nous avons choisi de vous faire un retour d’expérience en choisissant chacun une conférence :

La programmation défensive ou l’art de ne pas se faire confiance par Alexandre BALMES

Camille a choisi la conférence d’Alexandre BALMES présentant la programmation défensive ou l’art de faire confiance en personne, même pas en son propre code. Il nous a présenté la librairie « Safe » qui se trouve très intéressante car, aujourd’hui beaucoup de fonctions natives de php ont été écrites avant l’ajout de la gestion d’exception (ce qui fait que certaines fonctions peuvent renvoyer « false » au lieu de « true » en cas d’erreur). Cette librairie réécrit ces fonctions et permet de renvoyer des exceptions qui rendent les erreurs bien plus pratiques à identifier.

Alexandre nous a également présenté différents outils d’analyses statiques qui permettent d’améliorer grandement la qualité de son code :

  • PHP-CS-Fixer qui permet d’améliorer son code pour qu’il réponde au standards php récents (PSR)
  • php stan qui permet une analyse statique du code et de détecter de potentiels erreurs
  • rector php qui est un outil qui permet de refactoriser son code

Ainsi que divers autres outils d’analyse statique. Tous ces outils sont faits pour avoir une approche défensive et d’anticiper les potentiels bugs qui peuvent échapper aux développeurs.

6play_API-v2-Final(1).doc par Benoit VIGUIER

Cette conférence, sélectionnée par Clément, sur les API employées pour M6 Replay s’intitulait « 6play_API-v2-Final(1) » pour nous rappeler qu’un concept initial n’est jamais éternel et que ce qui semblait être une bonne idée peut se transformer en cauchemar ingérable, uniquement descriptible comme un gros plat de spaghettis indémêlables.

Tout a commencé par un schéma pour représenter les connections entre les différentes fonctionnalités, ce qui aide à voir quelles informations l’API devrait fournir. En 2011 n’y avait que M6play, et le schéma était simple, mais depuis une dizaine d’autres services sont venus s’y greffer. Benoit a ensuite parlé des différents types d’API, de leurs avantages et inconvénients et nous a expliqué les différentes itérations par lesquelles les développeurs sont passés pour correspondre au mieux aux besoins de l’équipe Front-end. Par exemple, les API de type REST n’étaient pas adaptées car elles revenaient à utiliser Doctrine et provoquaient trop d’appels, donc trop de données pour les téléphones. C’est un débat constant entre des outils trop spécialisés ou trop génériques.

La conférence s’est terminé par la citation : « Make interfaces easy to use correctly and difficult to use incorrectly », en conclusion,  faire en sorte que l’utilisateur ne puisse pas se tromper, abuser de l’API ou se limiter simplement s’il ne comprend pas comment s’en servir.

DevOps ? Je n’ai jamais voulu faire ça, et pourtant… par Sofia LESCANO

Julien a choisi la conférence de Sofia LESCANO. Elle nous a présenté son retour d’expérience et sa montée en compétence dans le domaine du dev-ops, autrement dit, la gestion du serveur/monitoring des applications et la qualité du code. Elle nous a fait part qu’à ses débuts, elle était réticente quant à l’apprentissage de ce domaine. Mais c’est en découvrant l’immense panoplie d’outils permettant de faciliter et automatiser l’infrastructure de ses projets que Sofia s’est découvert une passion pour le dev-ops.

En faisant un peu de veille technique on peut comprendre facilement comment gérer le stockage de fichier, les bases des données, la puissance de son serveur, de manière qualitative. Sofia, pendant ce talk nous a prouvé que devenir dev-ops en étant à la base développeur n’est pas insurmontable et qu’il y a matière pour apprendre en s’amusant et améliorer l’écosystème de nos projets.

Tu n’es pas un {framework} développeur ! par Thomas Dutrion

Nicolas nous fait part de la conférence de Thomas qui a été présenté en fin de journée. Il nous a rappelé que nous étions des développeurs PHP avant d’être développeurs de tel ou tel framework (coucou Symfony et Laravel). En effet, dans les offres d’emploi et dans les CV, il n’est pas rare de voir marquer « Recherche développeur Symfony » dans le cas d’une offre d’emploi ou « Développeur Symfony » sur un CV ou sur un profil Linkedin. Et si on remplaçait ça par « Recherche développeur PHP » ou encore mieux par « Recherche développeur » ?

Pour illustrer ses propos, Thomas a fait quelques petits comparatifs sur un exemple de code avec quelle syntaxe et méthode à adopter si on utilise Symfony ou Laravel. Il a même montré une équivalence de code en PHP dénué de tout framework et la logique était bien évidemment la même.

Sois un développeur PHP avant d’être un développeur Symfony/Laravel !

Le partage de connaissance en entreprise. par Guillaume Thirard

Xavier a sélectionné cette conférence car les expériences vécues et présentées par Guillaume sont très proches de celles déjà rencontrées dans le passé. Et il est vrai que transmettre un savoir-faire à un collaborateur est devenu un point sensible et parfois chronophage, mais des méthodes et des outils existent pour faciliter cela.

Documenter, automatiser et lister les différentes tâches ou actions à réaliser permettent de faciliter l’arrivée d’une nouvelle recrue. Ces documentations sont désormais indispensables pour mettre en place les outils modernes que nous utilisons aujourd’hui et comme l’indique Guillaume il ne faut pas oublier de la maintenir et de la mettre à jour. Un autre point très intéressant pour transmettre son savoir est de faire des codes review constructives, en posant des questions et échangeant avec le reviewer.

D’autres méthodologies existent pour faciliter l’apprentissage tel que le pair programming, le mob programming, participer à des conférences internes ou externes. À titre d’exemple, chez Kiboko, depuis le début de l’année nous avons mis en place 2 à 4 Kibokast par mois où un technicien nous présente un sujet à toute l’équipe (souvent choisi suite à un code review ouvrant cette discussion).


On se donne rendez-vous dans quelques jours pour les conférences des autres AFUP Days 2020 :
AFUP Day Nantes
AFUP Day Lille