Archives du mot-clé montrouge

Forum PHP 2016

Cela fait maintenant un long moment que je n’ai pas eu le temps de m’occuper de ce blog, et j’espère bien pouvoir le faire plus régulièrement. Je reprends donc les publications avec mon retour sur le premier jour du Forum PHP 2016 qui s’est tenu fin octobre au Beffroi de Montrouge.

Jeudi 27 octobre 2016

Arrivé la veille de Casablanca où j’animais une formation en interne, c’est un peu fatigué mais très heureux que j’ai rejoint le Forum PHP au Beffroi de Montrouge. Habitué du quartier puisque j’y suis resté plus de huit mois pour une mission chez un client, j’ai retrouvé l’hôtel dans lequel j’avais pris mes habitudes l’an dernier, à seulement dix minutes à pieds.

Le temps de déposer mes affaires aux vestiaires et de récupérer mon badge, j’ai pu commencer de faire le tour de mes connaissances et de visiter un peu les stands des sponsors. En arrivant, on remarque tout de suite le stand de Radio France (sponsor Platine… tient, ils font du PHP ?) et celui désormais habituel, mais toujours sympathique, de Blablacar. En me promenant, je passe ensuite sur les stands de Microsoft Azure (qui a fait une démo très sympa de déploiement d’une application PHP dans leur cloud), Eleven Labs (avec leur cosmonaute… et non, faire un chemin de Kinder Schoko-bons pour attirer le monde n’était pas une super idée ;-)), Sensiolabs/BlackFire.io (et leur mini-table de ping-pong) et d’autres encore.

Rapidement, comme tout le monde, je prends la direction de l’amphithéâtre pour assister au keynote d’ouverture présenté par Cyril Pascal, de l’AFUP.

Ensuite, les conférences s’enchaînent…

Header http : un bouclier pour votre application (Romain Neutron, Blackfire.io)

Conférence très intéressante sur les entêtes HTTP à utiliser pour se prémunir d’un certain nombre d’attaques potentielles. Romain nous a présenté les principaux entêtes HTTP liés à la sécurité : X-XSS-Protection (contre les attaques XSS donc), X-Content-Type-Options (permet de désactiver l’analyse automatique du type de contenu par le navigateur), X-Frame-Options (contre le « click jacking »), Strict-Transport-Security (force l’utilisation du HTTPS pour toutes les connexions), Content-Security-Policy (prévient les attaques XSS, liste blanche de ce qui peut être exécuté sur le site)…

Je reconnais avoir découvert quelques entêtes qui mériteraient d’être positionnées systématiquement sur les sites web. Romain a ouvert une porte, reste maintenant à creuser le sujet tellement il est vaste et intéressant.

La vidéo est ici.

Industrialisation et automatisation chez M6Web Lille (Pierre Marichez et Renaud Bougre, M6Web Lille)

Pierre Marichez et Renaud Bougre, de M6Web Lille nous ont présenté l’infrastructure utilisée pour les sites gérés par leur agence de Lille et les différentes actions qu’ils ont menées depuis un an pour uniformiser les environnements de développement et de déploiements qui étaient jusque-là très hétérogènes.

Conférence intéressante là aussi pour voir de quelle façon il est possible de passer d’un environnement particulièrement hétérogène et au final peu pratique à une véritable industrialisation des développements. On y a vu notamment du Docker et du Gitlab-ci.

La vidéo est ici.

Affrontez la dette technique de votre projet en toute agilité (Maxime Thoonsen, Theodo)

En partant de la théorie de la vitre brisée (un immeuble subira plus rapidement des dégradations répétées dès lors qu’une fenêtre sera brisée qu’un immeuble intact), Maxime nous a parlé de la dette technique et de la façon de la gérer.

L’accumulation de dette technique peut conduire à une perte de vélocité dans l’équipe de développement, à des risques de sécurité et même à l’arrêt du projet. Il est donc très important de combattre dès le début du projet les mauvaises pratiques. Cela nécessite une bonne connaissance de la dette (cartographie) afin de prioriser les tâches.

Comment définir la dette technique ? Globalement, tout ce qui réduit la qualité du code et la vélocité de l’équipe peut être considéré comme de la dette technique :

  • Complexité,
  • Bugs,
  • Déploiement (si le processus est long et complexe),
  • Problèmes de sécurité,
  • Les erreurs d’architecture,
  • Le manque de tests,
  • L’environnement de développement,
  • Le manque de documentation,

Attention cependant, il peut y avoir de la bonne dette technique, avec notamment les POC, qui permettent de tester rapidement un concept et de refaire proprement si le code est conservé, et dont le coût sera toujours inférieur à une vraie dette technique.

Le combat contre la dette technique peut se structurer autour de trois principales actions :

  1. Identifier la dette : soit d’un seul coup lors d’un audit, soit au fil de l’eau grâce aux développeurs.
  2. Évaluer, décrire et communiquer autour de la dette : utilisation d’un outil comme Trello par exemple pour recenser les points de dette technique identifiés et encourager les développeurs à les traiter au fil de l’eau.
  3. Monitorer la dette : pondérer la dette (par exemple : nommage d’une variable incorrecte, 1 point, problème d’architecture, 100 points) et définir un standard, une limite à ne pas dépasser (par exemple 500 points).

Différents outils sont disponibles pour réaliser ces tâches, on notera notamment Scrutimizer, Sensiolab Insight, Sonar et bien entendu, l’intelligence des développeurs. 🙂

La lutte contre la dette technique est un combat quotidien, et le respect d’un certain nombre de règles peut la rendre moins difficile :

  • Rendre le code plus propre que lorsqu’on l’a trouvé.
  • Se focaliser sur un seul sujet à la fois et le traiter correctement.
  • Demander du temps au métier pour diminuer la dette (sans doute le plus difficile à faire ;-)).
  • Distribuer des responsabilités sur chaque dette avec un délai, de façon à plus impliquer l’équipe de développement.

Enfin, la prévention de la dette est extrêmement importante. La création d’un tableau de bord et de métriques peut permettre à l’équipe d’avoir une même vision de la dette, de maintenir l’intérêt et la motivation de tous, et surtout de rendre cette dette lisible par tous de façon à mieux la traiter. L’implication du client et sa sensibilisation à ce combat quotidien est également très bénéfique.

Prôner la simplicité des solutions, mettre en place des revues du code, et faire des choix adaptés à l’équipe (en fonction du nombre de débutants, de développeurs expérimentés…) sont autant d’actions simples permettant la diminution de la dette.

Enfin, gardez toujours en tête cette règle : écrivez toujours votre code comme s’il devait être maintenu par un psychopathe ! C’est toujours très motivant pour écrire du code propre ! 🙂

Inutile de dire que j’ai trouvé cette conférence très intéressante tant je suis confronté tous les jours à la dette technique (je travaille en effet principalement sur des TMA depuis un peu plus d’un an maintenant)…

La vidéo est ici.

Télétravail ? C’est bon, mangez-en ! (Manuel Raynaud, Wisembly)

Manuel vit à la campagne, du côté de Clermont-Ferrand, au pied des volcans d’Auvergne, et travaille pour Wisembly, située à Paris. Il nous a donc fait partager son expérience de télétravailleur, avec les avantages et les inconvénients, les outils et les processus mis en place…

Après nous avoir présenté différents types de télétravail (temps plein dans une société ne disposant pas de local, comme Automattic, temps partagé avec du travail « présentiel » classique, temps partiel), il nous a fait part des difficultés couramment rencontrées : solitude, manque de communication, difficulté de collaboration… Les solutions, être proactif et provoquer des échanges informels avec ses collègues, comme on pourrait le faire devant une machine à café, faire des rapports réguliers et mesurer le travail fournit, pas la présence.

Différents outils ont été mis en place chez Wisembly afin de faciliter l’intégration des télétravailleurs et leur participation à la vie de l’entreprise :

J’étais particulièrement intéressé par ce retour d’expérience puisque je pratique moi-même assidûment le télétravail (j’ai un contrat de travail spécifique me permettant de le faire et fixant les conditions) depuis quelques années. Je me suis tout à fait retrouvé dans l’expérience de Manuel, avec la liberté d’organiser son travail (dans certaines limites bien entendu), d’économiser énormément de temps de transport (actuellement, je dois être dans la moyenne avec entre 45 minutes et une heure de trajet matin et soir lorsque je me rends au bureau) et de pouvoir optimiser son temps de travail. Et tout ce temps gagné, c’est autant de stress et de fatigue en moins, et des moments en plus à passer en famille ! 🙂

La vidéo est ici.

Après cette matinée déjà bien chargée, il est temps de se restaurer. Cette année, l’AFUP nous propose un assortiment de petits sandwichs avec différentes garnitures (ceux au saumon étaient excellents ;-)), une boisson et un dessert. C’est toujours très sympa, ça permet de continuer de discuter avec un tas de gens intéressants tout en passant d’un stand à l’autre.

Après ce petit moment de détente, retour aux conférences !

La place de PHP dans l’architecture technique de Radio France (Rodolfo Ripado et Florent Tissot, Radio France)

J’ai redécouvert Radio France à l’occasion de cette conférence, et surtout j’ai découvert la place que PHP pouvait occuper dans une architecture dédiée à la diffusion d’autant de médias différents (radio, écoute en direct sur le web, podcast…). J’ai donc appris au final que l’équipe de développement PHP était plutôt importante (une soixantaine de personnes de mémoire, j’espère ne pas dire de bêtise) et que Radio France était particulièrement active dans le domaine du PHP (sponsor Platine cette année d’ailleurs).

La vidéo est ici.

Comment relire du code pourri sans se fatiguer (Damien Seguy, Exakat)

Les conférences de Damien Seguy sont toujours intéressantes, je vous les recommande vivement, et celle-ci n’a pas fait exception ! 🙂

A partir de métriques obtenus par différents outils qu’il nous a présentés, Damien nous a fait partager son analyse d’un code dont nous ignorions tout de la source. Tout au long de sa présentation, il a poussé son auditoire à tirer des conclusions sur le code examiné (sans jamais le voir je le rappelle), sur sa qualité, sur les éléments qu’y s’y trouvent, sur sa compatibilité avec différentes versions de PHP…

Il nous a donc parlé d’analyse statique du code et des outils disponibles. Naturellement, relire le code d’une application est humainement impossible, les tests unitaires sont peu adaptés et l’analyse dynamique revient à parcourir et à explorer le code.

Le code n’étant rien de plus qu’une donnée structurée, il existe des outils permettant de le relire automatiquement.

Parmi les outils disponibles, on peut noter :

  • PHP Lint: analyse de code statique.
  • PHPLoc, PHPMetrics : analyse et génération de métriques pour un code PHP.
  • PHP7cc, PHAN, Exakat, SonarQube : pour vérifier la compatibilité avec PHP7 et effectuer une revue de code automatisée.
  • Les diagrammes de contrôles de flux.
  • Les graphes de dépendances.
  • Deptrac : analyse des dépendances entre classes.

La vidéo est ici.

Pourquoi strlen(« « ) != 1 ? (Damien Alexandre, Jolicode)

Damien Alexandre nous a parlé du traitement des chaînes de caractères, depuis la naissance d’Unicode jusqu’à l’UTF-8, et des problèmes que sa gestion peut entraîner lors des développements (j’ai appris par exemple que MySQL ne supporte pas UTF-8 contrairement à ce que l’on croit… et ne prend en compte que les trois premiers octets au lieu de traiter les quatre octets de chaque caractère…).

Même si j’ai un peu moins accroché que sur d’autres conférences, j’ai là aussi appris plein de choses intéressantes ! 🙂

La vidéo est ici.

Ce fut une journée bien remplie, plein de belles rencontres et de notes à mettre au propre !

Merci d’avoir tenu jusque-là ! 🙂

Le Forum PHP 2015 est maintenu !

Une bonne nouvelle (parce qu’il en faut) vient de me parvenir aujourd’hui : le Forum PHP 2015 est maintenu !

Parce que malgré l’horreur de ces derniers jours, il faut continuer, je suis heureux de pouvoir dire que je serai là avec vous dans une semaine.

Je crois qu’il y a environ 500 personnes inscrites à ce jour, et j’espère que nous nous retrouverons nombreux au Forum dans une semaine !

A bientôt !

Forum PHP 2014, jour 2

Ouf, presque un mois s’est écoulé depuis que j’ai publié mon compte-rendu de la première journée du Forum PHP 2014

Voici donc (enfin) mes impressions sur le déroulement de cette seconde journée.

Je passe rapidement sur la qualité de l’accueil, de l’organisation et les différents sponsors qui sont les mêmes que la veille. La description du premier jour est ici.

« Frameworks, a history of violence », François Zaninotto

François Zaninotto nous a gratifié d’une performance… inoubliable !

Sur le fond, sa présentation de l’évolution des frameworks au cours des âges était tout à fait intéressante. Il semble que l’avenir soit plus aux micro-frameworks qu’aux grosses machines de guerre. Les applications demandent de plus en plus de développement, se complexifient, mais elles peuvent généralement être découpées en plusieurs petites applications, pouvant chacune utiliser un micro-framework très spécialisé, et par conséquent très efficace, se concentrant sur l’essentiel.

Les frameworks « full-stack » pallient parfois à des lacunes du langage en attendant qu’il évolue, mais ils évoluent aussi moins vite, car ils sont beaucoup utilisés et que les changements ne doivent pas, dans la mesure du possible, casser la rétro compatibilité du code.

Pour essayer de résumer ses propos (que j’espère ne pas trop trahir) :

  1. Il faut se concentrer avant tout sur le domaine : l’application doit être structurée par le modèle métier, et pas par le framework.
  2. L’utilisation des micro-frameworks va se répandre de plus en plus, car ils sont plus souples et évolutifs.
  3. Il ne faut pas hésiter à métisser les langages et les frameworks, afin de tirer le meilleur de chacun d’eux.
  4. Il est impératif de nos jours de connaître plus de langages et de frameworks et de ne pas s’enfermer dans une seule technologie : la formation continue prend alors tout son sens, et il faut que les entreprises fassent cet effort.

François, en très grande forme, a structuré son propos autour d’un discours de candidat de parti politique : le parti de l’Innovation ! Les traits d’humour et les clins d’œils ont rendu cette présentation plus qu’agréable à écouter !

La vidéo est ici.

« Développement rapide avec Symfony et un modèle de contenu », Bertrand Dunogier

Le contenu sur le web évolue et devient de plus en plus complexe. Les CMS (Content Management System ou Système de Gestion de Contenu) se transforment rapidement en usine à gaz quand on commence à les adapter à des besoins spécifiques, qui sont parfois à la limite de leurs possibilités.

Symfony2 (mais également d’autres frameworks modernes centrés autour de HTTP) répond en partie à ce problème.

Le contenu est :

  • complexe,
  • versionné,
  • sécurisé,
  • flexible,
  • sémantique,
  • internationalisé.

Le framework doit s’intégrer et non s’imposer (on rejoint un peu ici les propos tenus dans la conférence de François Zaninotto), et ne pas tout réinventer : il fait partie d’un tout et n’est pas une fin en soi. L’important, c’est le contenu.

On passe donc maintenant d’un CMS à un CMF : Content Management Framework, ou Framework de gestion de contenu.

Bertrand Dunogier nous a donc présenté les composants eZ Publish Platform, basés sur Symfony2, et comment ils peuvent aider les développeurs à se concentrer sur la logique métier du projet.

La vidéo est ici.

Eh oui, c’est tout. Je n’ai malheureusement pu assister qu’à ces deux conférences lors du second jour. Des impératifs professionnels m’ont obligés à rentrer plus tôt que prévu et j’ai dû faire l’impasse sur l’après midi.

Un point positif, cette année, j’ai pu tester les « cliniques » présentes sur les stands des sponsors. Merci notamment à Zend pour leur accueil, à Blablacar pour leur service que j’ai été amené à utiliser dans les semaines qui ont suivi, et à SensioLabs pour leur gentillesse et leur efficacité : même si ils n’ont pas pu répondre à ma question assez technique sur le stand, j’ai reçu la semaine suivante par email une réponse de leur support (normalement payant).

Bref, encore une bonne cuvée pour ce Forum PHP, félicitations aux organisateurs, et à l’année prochaine ! 🙂

Forum PHP 2014, jour 1

Cette fois ça y est !

L’édition 2014 du Forum PHP s’est déroulée cette année encore au Beffroi de Montrouge.

C’est terminé, et de mon point de vue, c’était encore une bonne cuvée ! 🙂

J’ai mis près d’un mois pour finir d’écrire cet article, qui ne concerne que le premier jour du Forum… Le bon côté des choses, c’est que presque la totalité des conférences filmées sont disponibles maintenant sur la chaîne Youtube de l’AFUP et que j’ai donc pu ajouter directement les liens. Je publierai (plus rapidement j’espère ;-)) le compte-rendu de la seconde journée.

L’accueil était comme toujours de bonne qualité (et ça fait plaisir de revoir des personnes que l’on ne rencontre que quelques fois dans l’année), et après avoir récupéré mon badge et mon sac de goodies (dont un bien utile puisqu’il s’agit d’un chargeur autonome usb pour téléphone de 2600 mAh), j’ai pu monter au 1er étage à la rencontre des différents stands des sponsors.

Zend France, SensioLabs, Theodo, Blabacar, AlterWay et l’Agence-E (qui publie en partenariat avec l’AFUP le baromètre des salaires dans le milieu PHP) notamment ont répondu présents.

J’ai ensuite pu assister à mes deux premières conférences (le programme que j’avais établi précédemment a grandement évolué au fil du Forum, en fonction de mon humeur et des places disponibles). Attention, ça se remplit vite !

Il faut dire aussi qu’il faut parfois faire des choix difficiles entre assister aux conférences, discuter avec des personnes que l’on n’a pas souvent l’occasion de croiser durant l’année et assister à des démonstrations sur les stands des sponsors.

« Keynote d’ouverture », Fabrice BERNHARD :

Le président de l’AFUP a ouvert l’édition 2014 en nous présentant rapidement le déroulement du Forum PHP, de l’AFUP, les différents partenaires…

La vidéo est ici.

« Le métrique, ce n’est pas que pour les DevOps », présentée par Olivier GARCIA et Patrick ALLAERT (Catchy.io) :

Olivier et Patrick nous ont expliqué l’importance des métriques et comment ils peuvent aider à prendre des décisions dans une entreprise.
Ils nous ont présenté le Lean Startup (dont le concept a été formalisé par Eric Ries) et qui suit quatre grands principes :

  • La production par étapes,
  • Une offre adaptée à la demande,
  • Une focalisation sur la production de valeur,
  • Une amélioration continue.

Les métriques doivent être « AAA » : Actionnables, Auditables et Accessibles.

Nous avons également vu quelques outils de récolte de métriques :

Google Analytics : très facile à mettre en place, permet de récolter n’importe quelle mesure stockée dans GA.

StatsD + Graphite : très à la mode en ce moment, écrit en Python, plus long à mettre en place.

La vidéo est ici.

Mon avis : une bonne introduction aux métriques. Reste maintenant à approfondir le sujet.

« Live coding : construisons ensemble notre premier site Drupal 8 », présentée par Bastien JAILLOT (Jolicode) :

Bastien est venu nous présenter la nouvelle version de Drupal qui vient de sortir en beta2.
Première grosse évolution : Drupal est maintenant (en partie) basé sur Symfony2. Cette version n’est bien entendu pas à utiliser en production, mais l’installer permettra d’anticiper sur les futures fonctionnalités.

La vidéo est ici.

Mon avis : présentation sympathique de Drupal, prouvant une fois de plus que l’effet « Bonaldi » est toujours présent lors d’une démonstration, aussi bien préparée soit-elle. 🙂

« Laisse pas traîner ton log », présentée par Olivier DOLBEAU (Blablacar)

Encore trop souvent, pour consulter les logs (parfois disséminés un peu partout), on se connecte en SSH sur le serveur et on cherche, à la main, avec un script…, dans les logs l’information dont on a besoin. La plupart du temps, ce n’est ni récupérable ni réutilisable, et il faut refaire la même chose à chaque fois.

Olivier nous a présenté l’ensemble ELK, pour ElasticSearch, Logstash, Kibana.

ElasticSearch est un moteur de recherche et d’analyse de données.

Logstash est un outil permettant de parcourir, d’analyser et d’enrichir des données.

Kibana est un moteur de visualisation de données, permettant de construire des tableaux de bord personnalisés.

Ces trois applications combinées forment un puissant outil d’extraction et d’analyse de logs. Nous avons pu voir comment cette solution a été mise en place chez Blablacar, qui traite environ une trentaine de Go de logs par jour.

La vidéo est ici.

Mon avis : je n’ai pas eu jusqu’à maintenant une grande quantité de logs à traiter quotidiennement, néanmoins, je me retrouve parfaitement dans la description du développeur devant rechercher une information cruciale cachée dans quelques milliers de lignes… 🙂 Je vais garder cette idée dans un coin et essayer de l’expérimenter pour voir ce qu’elle peut m’apporter (et donc à mon client) rapidement.

« Composer Best Practices », présentée par Jordi BOGGIANO

Après un petit rappel sur la gestion sémantique de version, Jordi, qui est tout de même, Lead Developper de Composer, nous a présenté quelques bonnes pratiques, et notamment l’utilisation de « ~ », le fait de ne jamais mettre Composer.lock dans git.ignore

La vidéo est ici.

Mon avis : utilisateur très récent de Composer, je trouve que Jordi nous a fait une présentation très claire de ce qu’il vaut mieux faire dans Composer, et j’ai appris plein de choses. 🙂 Le fait qu’il ait fait cette présentation en français, ce qui lui arrive rarement (ayant parfois du mal à retrouver certains termes en français, il avait prévenu que ses phrases ressembleraient parfois à des citations de JCVD), a sans doute contribué à la clarté de son exposé.

« Et si on utilisait WordPress ? », présentée par Julio POTIER (BoiteAWeb.fr)

Je me suis intéressé sérieusement pour la première fois à WordPress il y a un peu moins d’un an pour la création de ce blog. J’avais donc très envie de voir ce que Julio Potier pouvait nous dire à propos de WordPress.

J’espérais une présentation un peu plus technique, mais c’était quand même intéressant de voir d’où était parti WordPress et où il en est maintenant (23% du web mondial, +6% en un an, 37 millions de sites sur WordPress.com, 2 millions de téléchargements par seconde sur WordPress.org).

Nous avons vu ce que WordPress peut faire (on peut tout faire, du simple blog à un site très élaboré, en passant par du e-commerce, mais ce n’est pas forcément LA solution à tout), ce qu’il ne peut pas faire (peu de limites en fait) et les différentes idées reçues (WordPress, c’est uniquement pour les blogs ou les petits sites).

La vidéo est ici.

Mon avis : une présentation sympathique de WordPress qui m’a donné envie de creuser un peu plus le sujet. 🙂

 

 

 

Retour sur le Forum PHP 2013

Les 21 et 22 novembre derniers, j’ai participé comme tous les ans, au Forum PHP qui s’est tenu pour la première fois cette année au Beffroi de Montrouge (très pratique, aux portes de Paris, à cinquante mètres de la station de métro « Mairie de Montrouge »).

Pour ceux qui ne connaissent pas cet événement, le Forum PHP est organisé une fois par an par l’AFUP, et réunit sur deux jours une trentaine de conférences axées sur PHP mais aussi sur toutes les solutions qui peuvent y être liées de près ou de loin (que ce soit d’un point de vue technique ou organisationnel).

En arrivant le jeudi matin vers 8h30, j’ai découvert comme beaucoup pour la première fois le Beffroi de Montrouge. Le hall est assez vaste, avec un double escalier (et un ascenseur) menant aux étages et au sous-sol. L’accueil et le vestiaire se fait juste après le passage des portes. Dès le début, une queue se forme (rapidement gérée et réduite), laissant présager une fois encore du succès de la manifestation. Heureusement, les locaux sont vastes et aptes à accueillir tous les visiteurs.

Une fois mon badge, mon ticket pour le déjeuner et mes « goodies » récupérés, je pars explorer les lieux histoire de me repérer pour retrouver facilement les conférences qui m’intéressent.  Au sous-sol se trouve l’auditorium, ma plus grande salle mise à disposition pour les conférences. Au premier étage, il y a le bar, avec des boissons chaudes et des viennoiseries à disposition, le stand AFUP et les stands des sponsors : Zend, VA Consulting, Alter Way, SensioLabs, Splio, Theodo… et j’en oublie. C’est l’occasion de rencontrer de façon informelle des acteurs importants de l’écosystème PHP. En face des sponsors, se trouve le grand salon, l’autre salle destinée à recevoir les conférences. L’ambiance est comme d’habitude, plutôt détendue et bon enfant. Ça fait plaisir de revoir des personnes que je ne croise finalement que quelques fois par an sur des animations tournant autour de PHP et/ou du web ou sur des listes de diffusion. En plus, la déco de la « salle des sponsors » est plutôt sympa puisqu’une fresque de Moebius orne le mur.

IMG_0048_salle_sponsors

Je n’ai naturellement pas pu assister à toutes les conférences (toutes ne m’intéressaient pas directement par ailleurs). Je vais donc essayer de vous donner mon avis personnel (et ce n’est rien d’autre que mon avis) sur certaines conférences auxquelles j’ai pu assister. Il ne s’agira pas d’une description précise, juste de quelques impressions. Pour vous faire une idée par vous même, si vous voulez voir (ou revoir) les conférences du Forum, l’AFUP les a toutes enregistrées et beaucoup sont déjà à disposition sur la chaîne YouTube.

 Jeudi 21, 9h – 9h30 : keynote d’ouverture

Olivier Mansour, président de l’AFUP ouvre le Forum PHP 2013. Il est accompagné cette année de François-Xavier Beillon, fondateur de Agence-e, qui a co-réalisé avec l’AFUP une étude sur les salaires de l’écosystème PHP en France. Plus de 1300 personnes ont répondu en 2013 à une enquête concernant leur salaire, leurs conditions de travail, et c’est la synthèse de cette enquête qui nous a été présentée succinctement. L’étude complète était à la disposition de tous sur le stand Agence-e qui la distribuait sur une clé usb (les résultats de cette enquête sont disponibles ici).

Jeudi 21, 09h30 – 10h15 : faisons le tour de PHP 5.5

Julien Pauli (que l’on ne présente plus ;-)) est venu nous présenter les nouveautés de PHP 5.5, sorti en juin 2013 (la version 5.5.6 était sortie au moment de cette conférence, et la version 5.5.7 est sortie le 12 décembre 2013). J’aime beaucoup les conférences de Julien, d’une part parce qu’il connaît parfaitement son sujet, et d’autre part parce qu’il réussit généralement à transmettre son enthousiasme. Je note en particulier parmi les nouveautés l’API de gestion des mots de passe et le mot clé « finally ».

Forum_PHP_2013_Julien_Pauli

Jeudi 21, 10h15 – 11h : pourquoi faire simple quand on peut faire compliqué

Présentation de Frédéric Bouchery basée sur son expérience sur les pratiques de développement, de formation et de gestion au sein des projets informatiques. On y parle des idées reçues, des bonnes et des mauvaises pratiques, des conséquences des choix techniques sur le projet, les développeurs et leurs compétences.

Jeudi 21, 11h – 12h15 : 3 millions d’utilisateurs dans 10 pays, l’histoire technique de BlablaCar

BlablaCar, vous connaissez certainement : c’est le nom de la société qui se « cache » derrière des sites comme covoiturage.fr. Olivier Dolbeau, développeur chez BlablaCar nous explique comment la solution technique, d’abord développée en PHP4 et PHP5, a migré (bientôt totalement) vers Symfony2 en introduisant des composants externes (moteur de recherche…) et pourquoi. Il est très intéressant de voir que des sites à forte audience comme celui de covoiturage.fr par exemple ont démarré un peu comme du bricolage et comment, avec le succès et les contraintes qu’il amène, ils ont dû évoluer vers une industrialisation des développements.

 Jeudi 21, 12h15 – 13h : WordPress, le CMS qui fait tourner 20% du web

 Amaury Balmer, CTO de BeApi, administrateur et co-fondateur de WordPress Francophone, vient nous présenter la dernière version du CMS, ainsi qu’un intéressant retour d’expérience de la part de l’APHP, qui a choisi cette solution pour son site, son Intranet et ses nombreux sites spécialisés. Je connaissais un tout petit peu la dernière version de WordPress pour l’avoir installée parce que je m’y intéressais déjà. C’est cette présentation, montrant la souplesse et la robustesse de ce CMS, ainsi que sa facilité d’utilisation (tout au moins pour commencer), qui m’a convaincu de sauter le pas et de le choisir pour monter ce blog.

Jeudi 21, 14h00 – 14h45 : vis ma vie de sysadmin avec des développeurs PHP

Baptiste Dupain (très sympathique au demeurant pour un sysadmin ;-)) de M6Web, est venu nous présenter la façon dont les montées en charge d’applications PHP sont gérées sur les sites du groupe M6 et quels outils sont utilisés. J’ai beaucoup aimé l’anecdote concernant le faux reportage pour le 1er avril dans un magazine auto de la chaîne décrivant comment il était possible de faire le plein dans une station service en utilisant un code à la pompe permettant de ne pas être débité. La voix-off annonçant à la fin du reportage que le code en question était disponible sur le site de l’émission, le trafic a naturellement explosé et les administrateurs qui n’avaient pas été prévenus, s’en sont arrachés les cheveux. 😀

Forum_PHP_2013_Baptiste_Dupain

 Jeudi 21, 16h – 16h45 (oui, j’ai fait une petite pause ;-)) : en dev exactement comme en prod : créez un environnement de développement devops

Benjamin Grandfond, architecte chez Theodo, nous a présenté un certain nombre d’outils permettant de déployer rapidement un nouvel environnement de développement, similaire à celui que le développeur trouvera en production. Je pense que je vais me pencher plus particulièrement sur Vagrant (outils permettant de créer des machines virtuelles durant le développement de l’application permettant de reproduire l’environnement de production, sans pour autant modifier la configuration de sa machine), qui m’a l’air très efficace.

Vendredi 22, 9h30 – 10h15 : mon environnement de travail a-t-il encore un avenir ?

Frédéric Dewinne (VA Consulting) et Sophie Beaupuis (Zend Technologies) nous ont présenté des solutions pour industrialiser la production de code PHP, ne plus se contenter (et maintenir) des outils internes et utiliser des standards. Le but est de stabiliser les applications, diminuer les coûts et standardiser les pratiques de développement. On y parle des frameworks de développement, de tests unitaires, et de tests de comportements ; de gestion de dépendances et de version du code ; d’automatisation de tests et de déploiement. Les outils du Zend Server sont présentés, ainsi que Jenkins (serveur d’intégration continue), SonarQube (qualité de code) ou Travis CI (tests en mode SAAS). La surveillance de l’application (« monitoring ») une fois déployée est également très importante : New Relic analyse les performances et Zend Server fourni des outils d’investigation des causes de dysfonctionnements. Beaucoup d’informations intéressantes dans cette présentation. Je connaissais déjà un peu Zend Server, et Jenkins et New Relic de nom. Je n’ai pas eu l’occasion de travailler sur une infrastructure au sein de laquelle ils étaient mis en œuvre, mais je ne désespère pas. 🙂

 Vendredi 22, 10h15 – 11h00 : fonctions avancées du driver MySQL natif pour PHP

Présentation intéressante de Serge Frezefond de mysqlnd. J’y ai appris pas mal de choses sur le fonctionnement de la couche d’accès à la base de données, mais je reconnais ne pas être forcément assez pointu dans ce domaine pour en avoir retenu beaucoup. Le mieux je pense est d’aller voir ou revoir la présentation.

 Vendredi 22, 11h30 – 12h15 : ne cherchez plus, c’est ElasticSearch qu’il vous faut

Gérald Croes et Julien Salleyron nous ont fait non une présentation, mais un véritable show ! Il était évident qu’il était parfaitement préparé et la complicité qu’ils partageaient était évidente. Je ne peux que vous conseiller d’aller voir la vidéo, c’était un grand moment. Ils nous ont présenté ElasticSearch, un moteur de recherche open source, écrit en Java, particulièrement efficace et simple à mettre en œuvre, interrogeable via une API REST. La démonstration de l’indexation de Wikipedia était particulièrement impressionnante ! J’espère avoir l’occasion de bientôt pouvoir approfondir le sujet.

Vendredi 22, your PHP can fly

Intéressante et amusante démonstration des possibilités de PHP par Baptiste Adrien. Ce jeune diplômé, comme il l’a lui même plusieurs fois rappelé, a démontré la possibilité de piloter via PHP un AR Drone de Parrot, même si il a souligné qu’il était plus efficace d’utiliser Javascript pour le faire. Quelle utilité me direz-vous ? Aucune bien sûr ! Et c’est pour cela que cette démonstration était rigoureusement indispensable ! Le drone est piloté via le réseau wifi en utilisant les fonctions natives « stream » de PHP (socket, tcp, udp).

Forum_PHP_2013_Baptiste_Adrien

J’ai tenté de filmer quelques moments de cette démonstration, mais n’étant pas équipé pour cela, ces deux extraits ne sont pas de bonne qualité. Ça vous donnera néanmoins une petite idée de ce que l’on a pu y voir. 🙂

Un AR Drone piloté par PHP !

L’AR Drone fait un « flip » !

Je termine le Forum comme d’habitude, fatigué, mais heureux d’avoir pu y participer. J’ai assisté à des conférences intéressantes, retrouvé des connaissances, découvert un certain nombre de produits qui ont attiré mon attention et que je pourrais être amené à mettre en œuvre dans un avenir plus ou moins proche. En plus cette année, je vais pouvoir revoir certaines conférences, et surtout voir celles que j’ai raté mais auxquelles j’aurais aimé pouvoir assister. Merci l’AFUP. 😉

Vivement l’année prochaine, mais en attendant, pour ceux qui le peuvent, n’hésitez pas à vous rendre au PHP Tour 2014, qui aura lieu à Lyon, les 23 et 24 juin prochains (l’appel à conférenciers est ouvert).