[: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…)

[:fr]La parole est aux speakers : Erwan Richard[:]

[: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éveloppeur et protection de la vie privée

Entre les GAFAs et le monde fou de l'internet des objets, le numérique ne nous a jamais autant espionné et catalogué. Je me pose de plus en plus de question sur notre responsabilité en tant que développeur envers la protection de la vie privée. Avons-nous des alternatives ? Peut-on simplement refuser de développer une fonctionnalité qui nous dérange. Une conférence qui pose des questions et ouvre le débat.

Qu’est ce qui t’a poussé à donner une conférence « Développeur et protection de la vie privée » ? Ne penses tu pas que les développeurs sont déjà au courant de ces problématiques ?

Ma femme m’a demandé récemment en voiture « Mais pourquoi tu installes tous ces systèmes d’analyses sur tes projets alors que tu les bloques à la maison ? ». Cette question m’a vraiment fait réfléchir. Je passe un temps fou à protéger ma vie privée et celle de mes proches mais sur mes projets clients j’installe Google Analytics sans même réflechir.
J’ai fêté mes 10 ans d’expérience en 2016 et ce n’est qu’aujourd’hui que je m’interroge sur les outils que j’utilise ou que je conçois. Je pense qu’on est tous conscient des enjeux au niveau personnel, mais on se rend pas compte qu’on est les plus capable de faire bouger les lignes. On a une grande responsabilité !
Depuis cette prise de conscience on travaille en interne au Phare pour chercher des alternatives et avoir un discours pédagogique envers nos clients. L’arrivée de la GDPR, la nouvelle régulation européenne, l’année prochaine est un bon point d’accroche, mais techniquement tout reste à défricher, personne ne sait vraiment quoi faire.

Ma conférence est un point de départ pour discuter de l’éthique de notre métier, des alternatives dont nous disposons et de celles qui restent à inventer. C’est presque une thérapie de groupe en fait 🙂

(suite…)

[:fr]La parole est aux speakers : Jonathan Van Belle[:]

[: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

git, vers l’infini et au-delà!

git, la plupart d’entre nous l’utilise, on a tous une connaissance plus ou moins vague de git : commit, merge, push, pull et éventuellement des rebase ou encore des stash. Je ne vais pas vous parler de cela! Ce que nous allons voir c’est comment étendre git, comment faire en sorte que dans votre flux habituel de travail git soit là pour vous épauler avec quelques petit trucs et astuces. En gros, nous allons voir comment, au travers de git, créer des plug-ins vous permettant de vous épauler au quotidien, et tout cela dans notre langage favori ! Que cela soit pour votre boulot, pour vous, pour vos projets open source ou encore pour passer de l’un à l’autre, je vous garantis que vous repartirez avec de l’extra et que vous ne voudrez plus vous en séparer.

Tu participes à plusieurs projets open source (en ce moment atoum et HOA project). Quelles sont les raisons qui t’ont motivées à t’impliquer dans ces projets ?

Ce sont effectivement les deux projets open source sur lesquelles je travaille le plus, actuellement. Deux projets particulièrement motivants.
atoum est un outil très particulier, et de sa particularité il amène plusieurs défis. Défi technique, de par sa nature de test unitaire, où l’on doit pouvoir d’un côté analyser le code exécuté, et de l’autre fournir une plateforme permettant d’aider le développeur dans son quotidien. Défi de documentation, où il faut rendre les choses le plus explicites et claires possible. L’ensemble doit aussi tenir compte des derniers avancements de PHP lui-même. C’est l’ensemble de tous ces points, ainsi que l’équipe du projet qui me motive dans cette implication.
Hoa c’est différent. En travaillant sur atoum, j’ai eu l’occasion de discuter avec Hywan lors de son doctorat. Il travaillait notamment sur une extension pour atoum permettant d’intégrer praspel. Il fallait des tests, j’ai donc fait des retours et découvert hoa de cette manière. De fil en aiguille, voyant la qualité du projet j’ai commencé à contribuer. D’abord par des idées, puis des petites choses simples. Le travail sur hoa que j’effectue est plus un travail d’idée et de réflexion.
Dans les deux cas, il s’agit de projets de qualité, avec des gens motivés et très sympa!

(suite…)

[:fr]La parole est aux speakers : Frédéric Bouchery[:]

[: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

Refacthon

Vous savez ce qu'est le refactoring, mais connaissez-vous le refacthon ? Normal, c'est un terme que nous avons inventé chez Figaro-CCMBenchmark et qui consiste en des séances de refactoring en groupe comme on pourrait le faire lors d'un "mob programming". Il y a d'énormes avantages à pratiquer régulièrement le refacthon, et nous vous proposons d'en faire un en live (petites perles de code PHP en prime).

Ta conférence est intitulée « Refacthon ». Peux-tu nous décrire ce terme que tu as inventé ?

En dehors de sa racine « Refact » en référence à « Refactoring », ce mot n’a pas franchement d’étymologie précise. Cela sonnait bien à mon oreille. Il y a bien eu une tentative de renommage par un membre végétarien de l’équipe en « refactomate », mais nous sommes restés sur ma première idée. Lorsque j’ai imaginé ce rituel, je cherchais à créer un bon esprit d’équipe, avec de l’échange et du transfert de connaissances. J’ai bien essayé de proposer du coding dojo, mais sa mise en oeuvre nécessitait un peu de temps, que nous n’avions pas, et si on faisait ça sur le temps du midi, comme beaucoup le font dans d’autres entreprises, cela demandait un engagement sur le temps « perso » qui n’était pas toujours conciliable avec les activités de chacun. Il fallait donc monopoliser la totalité des 7 personnes de l’équipe sur un temps court, pendant les heures normalement affectées à nos projets, et le « Refacthon » est né. Je n’en dirai pas beaucoup plus, car je ne souhaite pas trop dévoiler avant le Forum PHP comme cela s’organise. Sachez seulement, que cela fait 1 an que nous le pratiquons, et quand notre séance ne peut pas se faire pour des raisons d’organisation, les développeurs râlent et demandent à le faire un autre jour pour « compenser ». C’est pas un signe de motivation, ça ?

(suite…)

[:fr]La parole est aux speakers : Kevin Nadin[:]

[: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

La génération de dates en PHP

Les dates en PHP peuvent être en apparence simple d'utilisation, mais il existe plusieurs comportements inattendu généralement méconnu des développeurs, des méthodes pratiques et des pièges dans la génération de dates. Cette présentation permet de voir comment générer des dates simplement en utilisant des timestamps, en utilisant l'objet DateTime, les Timezone, et lors de ces revues nous verrons les pièges lié à ces fonctions. Nous finissons avec la résolution de demandes réelles à but financier ou pour du reporting.

Tu vas nous parler au Forum PHP 2017 de gestion de dates en PHP, quels sont les problèmes les plus rencontrés avec la gestion des dates ?

Les soucis les plus fréquents apparaissent lorsque l’on souhaite récupérer des dates passées dynamiquement, comme par exemple récupérer le numéro du mois précédent, ou la date du lundi de la semaine passé. Les fonctions que l’on utilise qui récupèrent ces dates facilement sont pratiques mais elles contiennent des comportements qui sont sources d’erreurs, il est donc important de les connaitre.

(suite…)