[:fr]La parole est aux speakers : Sébastien Lavenant[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Les interfaces, l’ADN de votre application

Tout comme l’ADN, qui permet l’identification d’une personne, les interfaces représentent la signature structurelle de votre application. Nous en utilisons tous, mais les exploitons nous au mieux ? Que se soit pour l’injection de services, les tests, l'exposition d’API, ou bien d’autres usages, elles sont au coeur de notre quotidien. Je vous propose de découvrir comment profiter des possibilités offertes par l’utilisation de ce formidable outil : l’interface.

D’où vient l’idée de donner une conférence sur les interfaces ?

Lors de mes dernières participations à des conférences PHP, j’ai constaté que la grande majorité des conférences portaient sur des sujets souvent liés aux technologies du moment. Les sujets fondamentaux y sont parfois délaissés. Il me paraissait intéressant de présenter un thème qui semble connu de tous, mais qui est pourtant sous-exploité. Beaucoup de choses peuvent correspondre à cette définition et, les interfaces m’ont paru être un sujet particulièrement approprié.

(suite…)

[:fr]La parole est aux speakers : Sophie Beaupuis[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Le langage objet passé, présent futur

Comment en est-on arrivé à la nécessité d'un langage orienté objet ? Quelle était le besoin et l'idée de départ ? Cette conférence a pour but de répondre à ces questions et de questionner aussi le présent, notre façon de "faire de l'objet" dans PHP aujourd'hui. Enfin nous aborderons pour finir deux visions de l'objet plus récentes : le motif "Objet nu" et la programmation orientée à l'Est.

Après plusieurs années de consulting, y-a t-il des erreurs récurrentes que tu a rencontré sur les projets PHP ?

Oui, je retrouve souvent :
– Le fait que les développeur oublient toujours que le site aura plus d’un seul utilisateur concurrent.
– Le fait de ne jamais penser à la dimension (taille et nombre) des données et à leurs relations.
– Le manque de robustesse de l’application vis à vis de la défaillance d’un service tiers.
– Le peu d’intérêt des développeurs pour ce qui se passe en production.
– L’absence de réflexion générale sur l’architecture dans de très nombreux cas.

(suite…)

[:fr]La parole est aux speakers : Kévin Dunglas[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Développer plus rapidement avec Symfony 4

Symfony est un framework universellement reconnu pour sa qualité, sa fiabilité et sa capacité à propulser les gros projets "entreprise". Mais depuis quelques années, Symfony s'est également doté de nombreuses fonctionnalités permettant de développer toujours plus rapidement des applications web. Symfony 4 propose des améliorations majeures dans ce domaine grâce à une refonte profonde de la configuration par défaut du framework qui va changer profondément la manière dont nous développons des applications. Au cours de cette présentation, j'aborderai :

  • Les grands concepts et les nouveautés de Symfony 4: micro-framework par défaut, 12-factor app, nouveaux composants...
  • Flex, le nouvel installateur surpuissant de Symfony qui peut également installer et configurer automatiquement bibliothèques et bundles 
  • La nouvelle structure de répertoire simplifiée (et sans bundle) de Symfony 4
  • L'autowiring (qui est désormais activé par défaut), qui permet l'injection automatique des dépendances sans avoir à écrire aucune configuration (fini le YAML et le XML)
  • Le système de contrôleurs, amélioré et assaini
  • "Encore", le nouveau système de gestion des assets (JS, CSS) basé sur Webpack
  • Les intégrations officielles des bibliothèques Doctrine (ORM), API Platform (API Rest) et EasyAdmin (générateur d'admin)
  • Comment utiliser facilement Symfony 4 avec Docker du poste de dev jusqu'au déploiement dans le Cloud, grâce à un squelette dédié A la fin de ce talk, vous saurez comment utiliser Symfony aussi bien pour vos gros projets que pour vos prototypes, vos petites applications et vos "week-end projects", tout en vous permettant de basculer d'un mode à l'autre.

Tu va nous parler de la version 4 de Symfony et tu es membre de la Core Team. Quel a été ton rôle dans cette release ?

Symfony 4 – qui sortira courant novembre – va changer de manière profonde la manière de développer des applications.

L’objectif assumé pour cette version est de simplifier la prise en main du framework ainsi que d’accélérer le processus de développement ; mais sans transiger avec ce qui a fait la réputation de Symfony : extensibilité, modularité et fiabilité.

Pour se faire, énormément de nouvelles fonctionnalités ont été introduites, les plus notables sont :
Symfony Flex : un nouvel installateur pour les composants Symfony, les bundles et les bibliothèques PHP qui permet de partir d’une structure légère de type micro-framework et d’ajouter sans effort des briques fonctionnelles avancées tel qu’un ORM, un système de gestions des logs, une interface d’administration ou encore une API.
L’amélioration du mécanisme d’injection de dépendances et l’activation du mode « autowiring » par défaut, qui permet de ne plus avoir à écrire de configuration et de « refactorer » facilement les applications.
Une approche « Cloud Native » qui va de paire avec un retour aux sources d’Unix (configuration par variables d’environnement, logs écrits directement sur stderr…). Résultat : une bien meilleure intégration avec Docker, Kubernetes et les plateformes du type Google Container Engine, SensioCloud ou encore Heroku.
L’apparition de Symfony Encore, le premier composant écrit en JavaScript de Symfony, qui permet de très facilement intégrer NPM/Yarn, Webpack ou encore React dans un projet.
Une comptabilité plus importante avec HTTP/2 (composant Weblink).

Malgré toutes ces nouveautés, la rétro-compatibilité avec les versions précédentes du framework reste au coeur de nos préoccupations. Il est donc possible de migrer aisément une application Symfony 3 vers Symfony 4, ainsi une application qui fonctionne sans erreur d’obsolescence avec Symfony 3.4 fonctionnera également avec Symfony 4.0.

Le travail sur cette version a été titanesque. C’est le fruit de contributions de plusieurs centaines de développeurs. Le rôle de la Core Team est surtout de relire et de merger ces contributions.
Pour ma part, j’ai surtout travaillé sur la partie simplification de l’expérience développeur et la compatibilité avec Docker.
Ceux qui ont assisté à ma présentation au Forum PHP de l’an dernier devraient avoir une impression de déjà vu : les outils et façons de faire que j’avais présentés ont depuis été intégrés directement dans le core de Symfony et seront activés par défaut dans Symfony 4.

(suite…)

[:fr]La parole est aux speakers : Pierre Plazanet & Antoine Lelaisant[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

[ATELIER] Des Lego, des bonnes pratiques et du fun !

Expliquer les bonnes pratiques de code est compliqué. La compréhension étant une des clés pour changer l'état d'esprit, et les bonnes pratiques techniques un pré-requis pour créer du code de qualité, il est important de les expliquer. Je vous propose d'utiliser les Lego pour comprendre les mécanismes et les intérêts : - de la simplicité, - du TDD, - de la refactorisation, - de l'intégration continue, - du code "propre". D'après un atelier original de Mike Bowler et Bryan Beecham. Les intervenants : Nous - 1 scrum master et 1 développeur - avons cherché des jeux simples pour expliquer à des dev/manager/dirigeants/PO à quel point les développeurs et leur manière de coder est une des pierres angulaires de l'agilité. Et surtout comment leur faire prendre conscience que du bon code c'est du temps, de la réflexion et du travail d'équipe. Chaque jeu dure entre 20 et 45mn. En début de session les participants choisiront les jeux auxquels ils souhaitent participer. Nous serons 2 animateurs donc plusieurs petits groupes pourront se former pour jouer à des jeux différents. Ces jeux ont été créés par Mike Bowler et Bryan Beecham. Attention spoil, description des jeux : http://www.gargoylesoftware.com/ex

Atelier sur inscription, disponible sur Eventbrite.

Vous allez reprendre l’atelier donné par Cécile Especel et Eve Vinclair-Berkemeier au PHPTour qui avait été donné d’après un atelier orginal de Mike Bowler et Bryan Beecham. Quelles problématiques sont survenues lors de cette reprise ?

On avait joué l’atelier la première fois pendant notre Hackathon en Italie (et oui, soleil, Apérol et code) en 2016, ensuite, Antoine l’a animé avec Cécile au Printemps Agile à Caen cette année. On adore tous ce « serious game« , qui permet de faire comprendre à tout le monde l’importance du BDD, livrer régulièrement… on va s’arrêter là pour ne pas spoiler 😀
Même si on connait les jeux, il faut travailler leur déroulé (et garder un rythme correct) et faire une passation avec Cécile et Eve pour bien comprendre l’enjeu du débrief à la fin de chaque jeu. La grande différence avec Cécile et Eve c’est qu’elles sont coach agile, avec un point de vue managérial et agiliste pur sur ces jeux. Là nous sommes dans un contexte de développeurs proposant un atelier pour développeurs, la nuance est subtile et les réflexes et explications seront adaptés.

(suite…)

[:fr]La parole est aux speakers : Julien Janvier[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

L’art subtil du nommage

C’est bien connu, dans le développement logiciel, il n’y a que deux choses difficiles : l’invalidation de cache, et le nommage. Côté cache je ne peux malheureusement rien pour vous. En revanche, en ce qui concerne le nommage de nos chères variables, méthodes et classes, il est légitime de se poser quelques questions. Pourquoi est-ce si compliqué ? Y-a-t-il des pièges à éviter ? Existe-t-il des règles ou des méthodes qui pourraient nous aider ? Dans cette brève présentation, je vous propose d’explorer quelques pistes afin de tenter de répondre à ces interrogations.

Peux-tu nous parler un peu de ta contribution à Sylius ? Quel est ce projet et quelle a été ta contribution ?

Sylius est une solution e-commerce écrite en PHP et basée sur le framework Symfony. C’est à la fois une solution clef en main et un ensemble de librairies réutilisables facilitant la création de sa propre boutique sur mesure.
J’y ai participé activement en 2013 et 2014 en suivant le parcours classique d’un contributeur open-source qui veut s’impliquer dans un projet : rapport de bugs, traduction, correction de bugs, lecture assidue du code, propositions et écriture de nouvelles fonctionnalités et revues de code des autres contributeurs.

Cette expérience a été formatrice et enrichissante. A cette époque, je stagnais en tant que développeur. Ce que je faisais sur mon temps de travail ne me correspondait plus et j’avais envie d’améliorer mes compétences. Sylius m’a permis de découvrir ou de mettre en pratique les notions de SOLID, de découplage, de BDD ainsi que des outils comme Git, Behat ou encore PhpSpec. En 6 mois de contribution à Sylius, j’ai eu la sensation d’apprendre plus qu’en 3 ou 4 ans de vie professionnelle.

Même si aujourd’hui je ne contribue plus à ce projet, je continue de suivre son évolution. Je suis admiratif de ce qu’à réussi à construire Paweł et suis reconnaissant de ce projet. La récente sortie de la version 1.0 est une super nouvelle. Je profite de ce billet pour dire un grand bravo à l’équipe et à tous les contributeurs.

(suite…)

[:fr]La parole est aux speakers : Jean-François Lépine[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Faut-il faire du travail de qualité ?

Laissez moi vous raconter l'histoire de Bob et Alice, dont les enjeux sont assez complexes (spoiler : ça sent le vécu) : Deux développeurs (Bob et Alice) doivent estimer le temps de développement d'un site ; Bob pense finir en une semaine ; Alice en 8 semaines.
Lorsqu'on interroge Bob, il répond qu'il s'agit là d'un site vite fait ; comme il ne fait que peu de bugs, il n'aura pas à déployer souvent, alors un simple serveur FTP devrait suffire. D'ailleurs il a déjà un serveur pour un autre client, il suffira de tout mettre dessus et d'ajouter un vhost ni vu ni connu. Pour les tests, ça prend trop de temps (et c'est vraiment désagréable !), donc pas la peine. Pour les spécifications, on est agiles non ?
Lorsqu'on interroge Alice, elle explique qu'elle ne peut travailler sans Jira, Jenkins, Gitlab, PHPUnit, Capistrano, Docker, Yarn, Bower ni Gulp sous peine de fournir un travail de mauvaise qualité. Elle a donc tenu compte du temps d'intallation et de configuration de ces outils. Elle doit d'ailleurs étudier la Blockchain, ReactJs et Kubernetes pour affiner le temps estimé.
Qui a raison ?

Ta conférence est intitulée « Faut-il faire du travail de qualité ? », et tu vas y dépeindre deux visions du développement diamétralement opposées : y a t-il un de ces profils de développeur-e-s que tu rencontre plus souvent ? D’ailleurs, qu’est-ce qui t’a poussé à proposer un tel sujet ?

Je pense que deux visions opposées du web s’affrontent en ce moment.
Pour être caricatural : les « aigris », qui regrettent le temps où télécharger jQuery et FileZilla suffisait pour faire un site; et les « buzz-addicts », qui aiment utiliser toutes les technologies à la mode au fur et à mesure qu’elles sortent.
Je rencontre principalement des développeurs qui rentrent dans la seconde catégorie ; et c’est bien normal, tout le monde aime apprendre de nouvelles choses. Mais je vois également de plus en plus de développeurs qui regrettent la course à la nouveauté, principalement dans l’écosystème JavaScript.
Quand je discute avec les uns et les autres, l’argument de la qualité ressort quasi systématiquement. Il faut « faire du code de qualité ». C’est une sorte de quête du Graal, mais où chacun semble se faire sa propre idée de ce qu’il faut rechercher.
C’est tout cela qui me pousse à proposer cette conférence : partager mon expérience et mes réflexions sur ce sujet, et voir s’il n’existe pas des outils / pratiques pour savoir vers quel chemin une équipe doit se diriger lorsqu’elle construit un projet.

(suite…)

[:fr]La parole est aux speakers : Nastasia Saby et Fabien de Saint pern[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

L’AB testing chez M6 Web

Retour d’expérience sur notre solution d’AB testing utilisée sur 6play pour expérimenter de nouvelles fonctionnalités, telles que la recommandation et la personnalisation à la maille utilisateur. Nous parlerons également de canary-testing pour l’optimisation et la mise en production. Nous montrerons la mise en place sur une architecture en micro-services déjà existante, utilisée dans un environnement multiplateforme (Web, Mobile, IPTV). Nous aborderons le monitoring et tracking des tests, ainsi que le suivi de cohorte. Nous parlerons Symfony 3, Apcu, Redis, Varnish… mais aussi Kafka, Cassandra, Elasticsearch, Hadoop.

Pourquoi proposer une conférence en binôme ?

Cette mise en place d’une solution d’AB testing est le fruit du travail de personnes réparties sur plusieurs équipes. En ayant deux échantillons de cet ensemble plutôt qu’un, nous avons déjà deux visions des choses et pouvons un peu mieux rendre compte du projet.

Et puis, l’union fait la force :). On peut échanger, se faire penser à des choses auxquelles on n’aurait pas pensé tout seul, s’aider à formuler des idées, …

(suite…)

[:fr]La parole est aux speakers : Haikel Guémar[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

C'est quoi être différent dans l'IT ?

On parle beaucoup des problématiques de diversité, parfois avec véhémence (e.g Google Manifesto). Pour une fois, j'aimerais juste revenir sur un point essentiel: c'est quoi être différent dans l'IT? Prendre quelques minutes pour se mettre dans les chaussures d'une femme, d'une personne LGBT, d'un handicapé, d'une personne de couleur différente, de culture différente, ou même d'un milieu social différent dans un monde dominé par une culture fortement homogène avec ses propres codes.

Tu es Release Wrangler pour le projet RDO chez Red Hat. Que signifie ce poste et en quoi consiste-t-il ?

Celà consiste à s’assurer que les nouvelles versions du projet RDO sont publiées en temps et en heure avec un niveau qualité constant. Je m’occupe également de coordonner le travail avec différentes communautés (OpenStack, CentOS, et les équipes internes à Red Hat).
Certain.e.s me feront remarquer que celà correspond au rôle de Release Manager, mais la sémantique ayant sont importance, je donne l’accent sur le fait que je mets la main à la pâte plutôt que de hurler des ordres 🙂

(suite…)

[:fr]La parole est aux speakers : Nicolas Grekas[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Les process qualité - le cas de Symfony

En entreprise ou pas, assurer la qualité d'un projet logiciel sur la durée est un challenge difficile. Parce que son code est ouvert aux yeux de tous, pour le meilleur et pour le pire, contribuer à un projet open-source est souvent l'occasion d'apprendre à revoir ses exigences. À travers le cas "Symfony", je vous propose une visite guidée des process mis en place années après années, écueil après écueil. Contributions, review, intégration continue, process de publications, politique de suppression de code, standardisation des pratiques, etc. Voyons ce qui, au delà du code, contribue de façon essentielle au succès du projet.

Comment as-tu découvert Symfony et rejoint sa communauté ?

À la sortie de mes études, j’ai co-fondé l’entreprise Webistem. Nous commercialisions (et elle commercialise toujours) des solutions Web destinées au monde de la recherche. À cette occasion – c’était l’époque – j’avais développé un framework PHP qui nous servait de base commune pour nos produits (les composants Symfony Debug, VarDumper et Polyfill en sont directement issus). Open-Source, il a été le prétexte à mes premières conférences aux forums de l’AFUP.

8 ans plus tard, j’avais fait le tour de cette expérience et je cherchais la suivante. Après une brève mission chez Qapa, j’ai frappé à la porte de SensioLabs, et Fabien m’a accueilli à bras ouverts. L’OSS et l’AFUP, c’est bien pour se faire connaître un peu. Depuis ce début décembre 2013 et mon premier commit dans Symfony, personne ne m’a dit d’arrêter, alors je continue.

(suite…)

[:fr]La parole est aux speakers : Benoît Merlet[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Les hexagones de la Ruche qui dit Oui !

Malgré une douloureuse ré-écriture en partant de zéro, le site de la Ruche qui dit Oui ! n'avait toujours pas d'architecture évidente permettant de faciliter les évolutions fonctionnelles et techniques. Afin d'éviter une nouvelle "big ball of mud" difficile à maintenir, l'équipe a décidé l'année dernière de procéder à la migration continue de notre architecture vers un ensemble d'hexagones. Chaque hexagone est en réalité un module bien borné et bien découplé au sein d'un monolithe, ce qui nous permet de ne pas céder aveuglément à la mode des microservices ! Voyons ensemble comment cette migration continue a débuté, quels sont les pièges à éviter et bien sûr quels bénéfices nous en retirons au quotidien.

Comment as-tu découvert l’architecture hexagonale et qu’est qui t’as motivé à proposer ce sujet ?

Avant la Ruche qui dit Oui !, j’ai travaillé pendant presque 10 ans en tant que consultant et j’ai dû faire face à des montagnes de dette technique.
C’est donc tout naturellement que je me suis intéressé à la discipline du génie logiciel dont l’un des objectifs est de réduire le coût d’entretien d’un projet informatique.
En chemin, j’ai fait la rencontre des termes SOLID, Design Patterns, DDD, CQRS, Event Sourcing, pour enfin découvrir l’architecture hexagonale.
Le voyage ne va certainement pas s’arrêter là, mais je pense que l’escale où nous nous trouvons à la Ruche qui dit Oui ! mérite d’être partagée.
J’espère que mon retour d’expérience fera prendre conscience à la communauté de l’existence de solutions contre la dette technique !

(suite…)