Lecture 6 minutes
C'était d'ailleurs l'occasion pour tout l'écosystème PHP de la région de se retrouver autour de nombreux conférenciers spécialisés. Parmi les 120 personnes présentes à Lyon, Synolia était bien entendu de la partie !
Quel est le rapport entre TCP, UDP et la programmation orientée objet ? Par Frédéric Hardy
Première conférence de la journée ! Frédéric Hardy nous explique que notre façon de faire de la POO se rapproche du protocole UDP, c’est-à-dire : envoyer des messages sans savoir si une entité va les écouter et les utiliser. Cela induit une certaine complexité dans le code (complexité cyclomatique) avec de multiples If et try/catch.
En guise de solution, il nous propose de coder avec une philosophie dite “TCP”.
L’idée principale est de toujours fournir, à la classe appelée, la classe de sortie.
Un programme n’est plus une suite d’ordres dans une classe mais un réseau d’objets qui travaillent entre eux.
L’avantage de cette méthode est que le test des différents fonctionnements est plus aisé. Aujourd’hui, le frein à cette façon de faire est que la plupart des librairies fonctionne avec la méthode “UDP” . Coder/recoder l’adaptation des librairies prend du temps.
Laravel : the Good, the Bad and the Ugly. Par Stéphane Hulard
Cette conférence proposée par Stéphane Hulard est une présentation de ce qu’est Laravel, framework PHP bien connu hors France.
Ce framework présente plusieurs points positifs :
1) il est basé sur Symfony
2) il dispose d’une documentation accessible
3) il nous permet de réaliser des POC rapidement.
Grâce à un exemple par le code, Stéphane Hulard nous montre que nous pouvons avoir une application maintenable en respectant les standards et/ou les bonnes pratiques de développement PHP.
Une présentation très claire et illustrée par l'exemple, ce qui nous permet de très bien comprendre son approche.
OVH.com. Par Flavien Chantelot & Aurélien Damien
Flavien Chantelot & Aurelien Damien nous font un retour d’expérience sur la gestion d’un site tel qu'OVH.com. En quelques chiffres, OVH.com représente 20 000 pages, 15 langues et plus de 1.5M de clients par mois.
Jusqu’en 2018, il n’y avait aucune gestion “projet” pour l’equipe. Les fonctionnalités / bugs étaient gérés en flux tendu au quotidien, sans analyse préalable (simple email + exécution) et sans process de release, Q&A. D’un point de vue technique, le site était en XML/XLST généré via PERL versionné avec du SVN.
Depuis mi-2018, la société a mis en place une méthodologie “projet” avec le workflow suivant : demande > analyse > rédaction > release > Q&A > MEP.
L'évolution technique a suivi : le site est basé sur Drupal et versionné avec GIT. Cependant, quelques reliquats demeurent - par choix et par manque de temps - comme le fait que le site soit toujours généré en XML/XLST.
En 2019, le site est devenu full statique pour des raisons de performance et de sécurité.
Pour conclure ce talk, Flavien nous rappelle 4 points clés pour un développeur dans un contexte projet Legacy :
- la bienveillance (ne pas dénigrer le passé, les choix ont été faits dans un certain contexte et avec une certaine deadline),
- le pragmatisme (pas d’over engineering),
- FOTM (attention au “flavor of the moment”)
- KISS (Keep it simple, stupid)
“Au secours, je ne connais aucune autre femme qui fait du PHP !” Par Marine Gandy
Marine Gandy nous livre son expérience, son parcours de femme provenant d’une filière littéraire pour devenir développeuse web.
Son parcours : Filiere L > MMI (seul DUT acceptant L) > Alternance > Embauche
Marine nous livre les difficultés auxquelles elle a fait face et nous confie des pistes qui auraient pu lui simplifier les choses :
- Avoir une femme à laquelle elle aurait pu s'identifier dans le monde du web
- Consulter des offres d’emploi au féminin (Ex: développeuse / développeur)
CTO : La table ronde. Par Pascal Martin, Mathilde Rigabert Lemée, Olivier Mansour et Eric Lemoine
Mathilde Rigabert Lemée (CTO chez Jolimoi), Olivier Mansour (CTO adjoint chez M6 Web), et Eric Lemoine (CTO chez Decitre), ont répondu aux questions concernant leurs métiers, leurs quotidiens et ont prodigué leurs conseils aux futurs CTO présents dans la salle.
Leurs rôles :
- Manager / RH
- Veille
- Gérer la dette technique
- Orienter la tech vers le futur business
- Responsable de la philosophie et de la vision équipe
- Promoteur de son équipe
Leur quotidien :
- Comprendre ce que veut faire l’équipe
- Améliorer/Optimiser l’expérience du développeur
- Choix de technologies
Leurs conseils à de futurs CTO :
- Faire de la veille
- Se former au management
- Changer d’entreprise
L’architecture progressive, par Mathieu Napoli
Une conférence particulièrement intéressante ! Mathieu Napoli nous présente son point de vue actuel sur l’architecture logiciel.
Selon lui, 3 critères servent à déterminer un choix technique :
- Métier
- Business
- Humain (Pérennité et Compétence au sein de l’entreprise)
Ce que nous en retenons :
- Approche plutôt que solution
- Idéalement, complexité Technique <= complexité Métier
- Choix parmi les différentes solutions selon la phase du projet / l’entreprise (Start-up, multinational, etc.)
- « Du code legacy, c’est un projet qui a réussi »
- Se détacher de l’idée d’un modèle unique (ex: ORM, Repository...)
- Adapter les solutions à l’échelle du module
- La cohérence n’est pas une priorité
- Avancer progressivement
- Pas d’over engineering
- Eviter de toujours utiliser les méthodes/concepts à la mode
Analyse statique, par Julien Deniau
Julien Deniau nous montre les avantages d’utiliser un outil d’analyse statique.
Exemples :
- Check de « compilation » : (mauvais type de paramètre passé)
- Check de « cohérence » des abstractions
- Tests inutiles (Condition if toujours vraie)
- Conversions inutiles
- Conversions nécessaires
- Fautes de frappes (vérifie l’existence de paramètres lors de leur utilisation par exemple)
Les merveilles méconnues du SQL, par Lætitia Avrot
Lors de cette conférence, l’objectif de Lætitia Avrot était de nous faire comprendre que le SQL était un langage à part entière et qu’aujourd’hui à cause des ORM, de leur abstraction, nous nous en servons mal. Nos applications pourraient être plus performantes si nous utilisions le SQL comme un langage de programmation.
Quelques sites pour aller plus loin :
Alice et Bob sont sur un bateau, par Gabriel Pillet
Gabriel Pillet va répondre à la question suivante : “Jeux de données : pourquoi ne s’y intéresse-t-on pas alors que c’est le centre de nos sites ?”
Les jeux de données sont importants lors des tests automatisés et manuels. Pour avoir des tests de qualité, il nous faut un jeu de données polyvalent, exhaustif et volumineux. Pour faciliter la création de ces données, Gabriel nous propose un générateur de fixtures nommé Alice.
Vivement l'année prochaine
En conclusion, un grand merci à l'AFUP pour cette journée riche en apprentissages et en rencontres.