Cette année, Eleven Labs était Sponsor Gold du Forum PHP, et l’AFUP nous attendait au Beffroi de Montrouge. Au programme : un bon nombre de conférences techniques, des retours d’expériences et pas mal de PSR (pour notre plus grand plaisir :)). Mais aussi un tournoi de ping-pong organisé par Sensio, la (déjà) mythique borne d’arcade par Eleven Labs et en dessert une petite barbe à Papa de chez JoliCode !

montage-pour-article-forum-php-ld

KEYNOTE D’OUVERTURE

tweet-keynote-douverture

Une petite keynote rapide de Cyril Pascal qui nous accueille pour ce nouvel événement. Présentation du programme et des sponsors.

HEADERS HTTP : UN BOUCLIER SUR VOTRE APPLICATION

tweet-headers-http

Romain Neutron ouvre donc le bal, avec une première conférence sur les HEADERS HTTP. Il nous explique comment se protéger un peu plus des différentes vulnérabilités XSS en s’attardant un peu sur ce qu’est le Clickjacking, et sur la compromission de Root Certificate.

Il présente ensuite les Headers HTTP suivants, en expliquant ce qu’ils représentent, leur importance et comment les utiliser:

  • X-XSS-Protection
  • X-Content-Type-Options
  • X-Frame-Options
  • Strict-Transport-Security
  • Content-Security-Policy
  • CSP in Real World
  • Subresource Integrity
  • Public Key Pinning

Slide: https://speakerdeck.com/romain/headers-http-un-bouclier-sur-votre-application Twitter: https://twitter.com/@romainneutron

AFFRONTEZ LA DETTE TECHNIQUE DE VOTRE PROJET EN TOUTE AGILITÉ

tweet-dette-technique

Comment identifier et comprendre la dette technique au sein d’un projet ? Quelles sont les méthodes ou les outils pour la vaincre ? Maxime Thoonsen, nous apporte son retour d’expérience pendant ce talk.

La dette technique, c’est quoi ? “La dette technique est une métaphore du développement logiciel inventée par Ward Cunningham. Il s’inspire du concept existant de dette dans le contexte du financement des entreprises et l’applique au domaine du développement logiciel.”

Il nous explique qu’il existe de la mauvaise dette technique comme de la bonne, tout en distinguant l’une de l’autre.

La mauvaise est généralement très vite repérée :

  • baisse la qualité du projet
  • baisse la productivité
  • mauvaise qualité de code
  • présence de complexité inutile
  • présence de bugs
  • s’accompagne généralement de longs déploiements
  • implique des failles de sécurité
  • une mauvaise conception dans l’architecture du projet
  • des problèmes de tests
  • un manque de documentation

La bonne dette technique :

  • une bonne communication
  • des warnings dans le code

L’importance du monitoring :

  • permet l’estimation réelle de l’état de la dette technique
  • aide à prioriser le dépilement des tâches
  • réduit les mauvaises surprises

Dans son cas, cette réduction de dette au quotidien est passée par :

  • la création d’un board Trello, spécialement pour la gestion de la dette
  • demander du temps au métier
  • intégrer 20% de résolution de bug par sprint
  • responsabiliser et impliquer directement les devs sur les différentes dettes
  • faire des choix adaptés à l’équipe selon les connaissances techniques de l’instant T.
  • code review
  • github template
  • mettre une classe modèle dans le code pour donner l’exemple de bonne pratique
    • Best practices
    • PSR
    • Commentaire
    • Indentation
    • PHPDoc

Slide: http://slides.com/maximethoonsen/agile-technical-debt-forum-php#/ Twitter: https://twitter.com/maxthoon

INDUSTRIALISATION ET AUTOMATISATION CHEZ M6WEB LILLE

tweet-rex-m6web

Pierre Marichez et Renaud Bougre viennent nous expliquer leur retour d’expérience d’un an sur la mise en place de process et workflow chez M6WEB Lille.

Pourquoi ces changements ? Leur plus grand problème est que sur les 7 projets présents à l’époque, aucun des projets n’avait de process commun. Chaque développeur était libre du choix de la techno du début jusqu’au déploiement en PROD.

capture-du-2016-11-03-23-25-53

Comment s’y sont-ils pris ?

  • Uniformisation des environnements de dev
  • Définition d’un workflow de dev
  • Intégration continue
  • Automatisation
  • Monitoring
  • Alerting

Pour résumer voilà tout ce qu’ils ont mis en place :

capture-du-2016-11-03-23-29-07

Slide: https://speakerdeck.com/renooo/industrialisation-et-automatisation-chez-m6web-lille Twitter: https://twitter.com/@chtipepere

CLINIQUE ‘CIRCUIT BREAKER’, LE FUSIBLE DE VOTRE SITE

tweet-clinique-circuit-breaker

Sous forme d’un speed talk devant le stand Eleven Labs, notre @captainJojo42 alias Jonathan Jalouzot, nous a proposé une petite introduction au pattern Circuit-Breaker.

Il nous explique dans quel type d’architectures il peut être mis en place. En comparant Monolithique vs Microservices. Il nous présente aussi les avantages de ce pattern. Tout est dans les slides :)

Slide: http://docs.google.com/presentation/d/1F8bAMh5ZRUsXYST7_dmpTk9aDMzS_vBNKL8LBOc-oIU/edit#slide=id.g17d4f57d2a_0_58 Twitter: https://twitter.com/CaptainJojo42

PATTERN ADR, PSR-7, ACTIONS FRAMEWORK-AGNOSTIC ET AUTOWIRING AVEC SYMFONY

tweet-conf-symfony

Kévin Dunglas **nous propose un tour d’horizon des problématiques que l’on embarque tous au quotidien sans parfois sans rendre compte. Il insiste aussi sur le fait qu’avant d’être un développeur **Symfony nous sommes des développeurs PHP, on a tendance à l’oublier.

Il prend pour exemple les contrôleurs:

  • ils peuvent embarqués trop de logique
  • bien souvent orientés framework (full symfony)
  • SRP: Single responsibility principle

Dans le but de perdre en dépendance avec le framework, il introduit le pattern ADR: Action-Domain-Responder (https://github.com/pmjones/adr), ainsi que son implémentation dans Symfony.

Slide: https://dunglas.fr/2016/10/slides-forum-php-create-symfony-apps-as-quickly-as-with-laravel-and-keep-your-code-framework-agnostic/ Twitter: https://twitter.com/dunglas

ÉTENDRE COMPOSER

tweet-etendre-composer

Clairement la conférence la plus rapide du forum, je crois ~9min. Pour notre plus grand plaisir, on en voudrait tous les jours :) Nicolas Joseph, parle peu mais très bien. Il nous fournit une liste de commande et de plugin qui lui facilite la tâche au quotient.

Slide: https://github.com/sanpii/slides/releases/tag/forum-php

CONCLUSION

Seul petit point négatif à mon goût, reste que les cliniques aient eu lieu dans la salle des sponsors. Impossible d’entendre correctement le speaker. Ces talks auraient mérités une salle de conférence au calme.

Pour résumer ces deux jours, des conférences de qualité, de très bons conférenciers et une bonne organisation. En gros, on veut la même pour l’édition 2017.

Merci l’AFUP. See you next year ;)

merci-afup