31/10/2018
Forum PHP 2013 : on y était !
Keynote d’ouverture
Après une rapide présentation personnelle, du lieux et des différents partenaires, Olivier Mansour, actuel président de l’AFUP, à fait place au fondateur de la société Agence-e afin d’annoncer les résultats du sondage réalisé depuis plusieurs mois : “les salaires de l’écosystème PHP en France”. Le Forum PHP édition 2013 est lancé !
À noter que si vous souhaitez revoir une conférence en particulier, vous pourrez les retrouver sur la chaîne YouTube de l’AFUP.
Xavier C.
Faisons le tour de PHP 5.5
Outre la présentation des nouveautés propres à PHP 5.5, Julien Pauli souligne un point important à retenir : la numérotation de version de PHP a été revue et clarifiée. Les versions mineures garantissent une rétro-compatibilité avec la version majeure dont elles dépendent, mais ne contiendront pas de “BC break”, juste du bugfix.
Tous les ans, une nouvelle version majeure 5.x (nouvelles fonctionnalités, gros changements avec BC break possibles) verra le jour. Mais en cas de découverte d’une faille de sécurité, sa durée de vie initiale sera prolongée d’une année.
Niveau performance, globalement pas de surprises, pas d’amélioration ni dégradation, alors que la base de code est plus importante.
Lionel F. et Sylvain D.
Pourquoi faire simple quand on peut faire compliqué ?
C’est avec ce titre racoleur que Frederic Bouchery nous a fait part de son expérience en tant qu’architecte. Dans une première partie assez brève dans laquelle il nous résume son parcours, il n’aborde non pas des problématiques purement techniques et factuelles comme on pourrait s’y attendre, mais pointe plutôt le doigt sur les problématiques liées à l’univers du développement Web : choix d’une techno, gestion du turn-over au sein des équipes, dette technique, etc… Tout y passe. Il nous montre que chaque projet est différent et nous rappelle qu’il ne faut jamais rester sur un traumatisme ou une extase afin de ne pas altérer son propre jugement.
Il met également en avant un problème connu : en France, l’expertise technique n’est pas valorisée, les développeurs sont poussés pour “prendre de la hauteur” et donc s’éloigner de la technique, ce qui donne beaucoup de développeurs inexpérimentés car débutants.
Sylvain D. et Xavier C.
DIY et happy hacking avec PHP & Raspberry Pi
Cette présentation sympathique par Ronan Guilloux s’adresse aux geeks qui ont envie de s’amuser avec PHP et le Raspberry Pi. La présentation s’adresse aussi bien à ceux qui n’en ont jamais entendu parler qu’à ceux qui le possèdent déjà. Après un rappel sur l’origine de celui-ci, l’auteur s’attache à présenter l’écosystème de Raspberry au travers d’un peu d’histoire des “makers”, et nous présente le matériel, ainsi que les différents accessoires disponibles sur le marché.
Enfin, la partie la plus fun de la présentation (malheureusement écourtée par manque de temps) : l’utilisation de PHP pour allumer une LED. Exemple simple, mais fonctionnel, qui ouvre une porte sur des utilisations infinies (bidouille, domotique, etc…). On ressort avec plein d’idées et l’envie d’en commander un pour tester dans son coin !
Lionel F. et Sylvain D.
OpenStreetMap for the web
L’auteur nous présente l’alternative libre à Google Maps qu’est OpenStreetMap. Celle-ci s’avère très crédible et déjà mature, l’outil est passé en revue depuis le code vers l’interface web qui permet d’éditer/ajouter des points d’intérêt. Il présente également plusieurs idées d’exploitation des données fournies comme le pub finder qui trouve pour vous les 5 pubs les plus proches de votre localisation.
Lionel F.
Vis ma vie de sysadmin avec des développeurs PHP
Faire sauter la cloison entre les sysadmins et les développeurs était un sujet récurrent de cette conférence. Dans cette présentation très intéressante, l’auteur nous raconte les processus mis en place chez M6Web pour gérer des déploiements et la stabilité de leurs plateformes dans un contexte de forte charge avec les contraintes propres au multi-média (TV/Internet) dans toute sa splendeur.
Lionel F.
Stack: a PHP interface for framework-agnostic code sharing
Belle présentation, l’auteur reprend les bases en partant du fonctionnement d’Unix pour remonter jusqu’aux frameworks PHP. On traverse ainsi toutes les couches de gestion du protocole HTTP pour mieux comprendre l’intérêt et la place de chacun de composants.
Lionel F.
En dev exactement comme en prod : créez un environnement de développement devops
Une autre présentation en faveur du dévOps. Plus orientée développeurs, celle-ci présente les différentes solutions logicielles permettant un cycle de déploiement élevé et une liberté accrue pour les développeurs. Le sysadmin est omniprésent dans ce cycle, après le pair-programming, vous trouverez ici le pair-devopsing.
Lionel F.
Building Scalable PHP Applications Using Google’s App Engine
C’est LE show à l’américaine du forum : Mandy Waite et Amy Unruh venues toutes droit des states ont un discours parfaitement rodé pour nous présenter la dernière fonctionnalité de Google App Engine sortie il y’a un peu plus d’un mois : le support du langage PHP. Toutes les problématiques auxquelles sont confrontées chaque développeur sont abordées. Si la solution semble ergonomiquement très propre grâce à un système de ce que nous appellerons le “one click deployment button”, les questions des auditeurs viennent rapidement mettre à mal le millimétrisme de cette conférence quand il s’agit d’aborder des problématiques de confidentialité (récente affaire “PRISM” notamment) ou de développement “en local”. Même si les conférencières semblent bien connaître leur sujet, on regrettera l’absence d’un profil plus technique pour répondre aux questions nécessitant une certaine expérience dans le domaine du développement.
Xavier C.
A Rocket Internet experience
Retour d’expérience sur la création d’une équipe de développement à Dubaï. Je retiens surtout le processus de recrutement et la difficulté de mettre en place des bonnes pratiques dans un contexte de TTM étroit.
Lionel F.
Aphorisms of API Design
Dans cette conférence passionnante et inspirée, Larry Garfield nous présente les 8 concepts à garder en mémoire pour créer des API robustes et extensibles. Tout y passe ! Écrire un code résistant et prévisible, optimiser la manipulation de ressources multiples, documenter le code pour gagner en confiance, réutiliser plutôt que réinventer, maîtriser l’abstraction galopante du code ou encore rendre extensible via l’usage des interfaces et de l’injection de dépendances. Après un telle présentation, on a qu’une seule envie, mettre en application !
Romain M.
Symfony 2 and Zend Framework 2: the perfect team
Symfony 2 et Zend Framework 2 ont chacun leurs avantages alors pourquoi choisir ? C’est le thème de cette présentation qui nous montre la simplicité de faire interagir ces deux frameworks grâce à leur respect des conventions PSR, des règles de nommage et grâce à l’autoload de composer. Il s’en suit une étude de cas sur la création d’une API apigility en ZF2 pour une application existante en Symfony 2 sans avoir modifier le modèle existant. On apprend ensuite comment interroger cette API depuis l’application Symfony 2 en utilisant un composant Zend. Pour finir et être complet, on voit rapidement comment inclure des components Symfony 2 dans une application Zend. A l’issue de cette présentation, l’interaction entre les composants des deux frameworks parait tellement facile que l’on se demande pourquoi on ne l’a pas fait plus tôt !
Romain M.
Behat – Retour d’expérience
Cette présentation axée sur la mise en place des tests Behat évoque les problématiques qui peuvent être soulevées pendant la mise en place et l’évolution de la suite de test d’une application. On évoque la sélection du driver adapté à la situation (parmi Selenium, PhantomJS ou Goutte), la mise en place de l’infrastructure de test avec Jenkins, mais aussi des situation plus pragmatiques avec le choix des fonctionnalités qui seront testées ou comment maintenir la validité des tests avec l’évolution de l’applicatif. En somme, une véritable liste de conseils indispensables pour tester en toute sérénité !
Romain M.
Scaling PHP in the real world
Cette conférence, très technique, a pour but de nous sensibiliser sur l’importance des performances d’une page et son impact sur l’utilisateur (agacement, frustration…).
Nous avons vu des bonnes pratiques sur l’optimisation du code PHP (cache Opcode/APC, job queues…), les différents caches à utiliser (Varnish pour le HTTP, Memcached/Redis pour Doctrine, cache proxy Nginx ou Apache pour les assets). Dustin nous a aussi présenté différents outils pour aider à optimiser notre code comme l’utilisation de Xdebug + WebGrind ou le recours à des solutions propriétaires comme AppDynamics ou New Relic.
Le plus rassurant est d’apprendre que la plupart de ces bonnes pratiques enseignées lors de cette conférence sont utilisées chez Ekino 🙂
Philippe D. A.
Fonctions avancées du driver MySQL natif pour PHP
Serge Frezefond fait un tour complet du nouveau driver Mysql natif pour PHP, disponible depuis PHP 5.3. Après une introduction sur le protocole de communication Mysql, Serge Frezefond a présenté les avantages du nouveau driver par rapport à notre ancienne libmysql. Au programme
- des performances accrues, avec une meilleure intégration rendue possible grâce à sa licence PHP,
- de nouvelles fonctionnalités, déjà exploitées par certains bundle Symfony2 comme JSMysqlndBundle,
- et la possibilité d’extension via des plugins (Hook).
Les plugins offrent de nombreuses possibilités parmi lesquelles l’implémentation d’un caching ou la gestion de réplication et load balancing.
La présentation s’est terminée sur des notions plus avancées avec sharding framework et MariaDB Galera Cluster.
Philippe D. A.
Ne cherchez plus, c’est ElasticSearch qu’il vous faut
Une présentation pleine d’humour où Gérald Croës et Julien Salleyron retracent comment ils en sont venu à ElasticSearch et pour quels besoins, avant de nous présenter les principaux concepts pour une bonne prise en main de cette solution. Une session très vivante qui a certainement convaincu ceux qui n’avaient pas encore testé ElasticSearch.
Philippe D. A.
La programmation évènementielle… et les pâtes
L’excellent orateur François Zaninotto nous a transporté en Italie pour un cours de cuisine à la sauce PHP. Pour réussir cette recette de pâtes, l’EventLoop viendra à votre aide pour créer une belle casserole asynchrone. François Zaninotto nous a démontré, code à l’appui, qu’on pouvait faire de l’asynchrone en PHP en concluant que notre PHP n’est finalement… pas tellement fait pour ça.
Philippe D. A.
L’histoire du scaling en PHP d’une grosse start-up californienne
Florian Jourda nous a raconté comment la startup Box.com a fait face à un développement très rapide en adaptant sa stratégie et sa technologie.
Une conférence très dense en informations où Florian nous présente les choix fait par Box (En terme d’architecture basée principalement sur des services, de scalabilité, de monitoring, et de bonnes pratiques…).
Au delà des aspects techniques, on notera que le principal défi était finalement humain : réorganisation de la hiérarchie qui place les ingénieurs au cœur des décisions, choix techniques visant à attirer de nouveaux développeurs pour répondre aux besoins de recrutement, mise en place de structures pour améliorer les compétences, transparence sur les objectifs et les résultats…
Une conférence qui amène à s’intéresser à cette startup avec en bonus de nombreux liens qui seront certainement sources d’inspiration.
Philippe D. A.
Resources
- Playlist vidéo sur youtube (enregistrements des différentes conférences)
- Liste complète des conférences sur joind.in (contient également les slides)
- Site de l’Association Française des Utilisateurs de PHP
- Photos : Arnaud Limbourg ; avec nos remerciements
http://afup.org/pages/forumphp2013/