Tagged Interview speaker

La parole est aux speakers : Sarah Haïm-Lubczanski

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Sans documentation, la fonctionnalité n'existe pas !

La nouvelle fonctionnalité est prête, tout le monde est ravi. Les utilisateurices vont-ils savoir s’en servir ? Si vous pensez que le changelog et la PHPDoc suffisent, je voudrais vous demander : pourquoi priver vos utilisateurices des meilleures parties de votre logiciel ? Je vous propose de définir la qualité minimale attendue pour une documentation et d’examiner l’effort à fournir pour l’atteindre. Nous parlerons des process de documentation et de comment on fait pour documenter avec les moyens et les compétences disponibles.

Salle Morpheus
17/05/2018
15:15-15:55

Le speaker

Sarah Haïm-Lubczanski
Sarah Haïm-Lubczanski
Technical Writer chez eZ Systems, Sarah Haïm-Lubczanski a toujours préféré le contact des informaticiens spécialistes à celui du grand public, et cela a bien fonctionné puisqu'elle écrit la documentation du logiciel opensource, que produit son entreprise. Co-fondatrice de l’antenne AFUP Lyon, co-fondatrice de la Game Dev Party et co-organisatrice du premier Coding Goûter lyonnais, elle est engagée dans le tissu associatif local technologique. Elle apprécie d’être à l’initiative de projets qui aident les autres.

Tu es ‎Technical Writer, ce qui un poste peu fréquent. Peux-tu nous en parler ?

En résumé : je suis en charge de la documentation technique du logiciel, open source, que produit mon entreprise.

Dans la communauté de la documentation (hé oui, elle existe), un terme a été trouvé qui paraît plus juste pour mon métier, il s’agit de Documentarian. Ce nouveau terme reflète mieux le fait que l’écriture de documentation est la moins fréquente de mes tâches. La majorité de mon travail est de l’architecture d’information, et de la communication avec le reste des personnes qui permettent au logiciel d’exister (les développeurs, les responsables de produits, les consultants, etc.).
Chez eZ Systems, je fais partie du département Ingénierie et je travaille avec des développeurs PHP et frontend. Ayant moi-même un passé de développeuse PHP, je me sens à même de comprendre leurs contraintes et leur boulot.
Je ne travaille pas seule, nous sommes 3 dans la Team Doc et nous collaborons au jour le jour avec la quinzaine de développeurs de la Team Dev.
Les points communs avec les développeurs PHP est que je résous des problèmes pour les utilisateurs. Je travaille au rythme des releases de notre logiciel. Les sprints rythment mes périodes de travail, et je participe à la démo et à la retrospective.

Lire la suite

La parole est aux speakers : Romain Monceau

Jusqu’au PHP Tour Montpellier 2018, 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 pire meilleure idée : faire du batch processing avec Doctrine

Doctrine, comme indiqué dans sa documentaion officielle, n'a pas été créé pour être utiliser pour des processus lourds de traitement de données (import/export, édition de masse, etc.). Néanmoins, la réalité des projets amène parfois à devoir réutiliser des briques métiers (validation, subscribers, entités, queries, etc.). Cette présentation est un retour d'expérience présentant de bonnes pratiques sur l'utilisation de Doctrine et des SGBD afin de traiter une grande volumétrie de données.

Salle Morpheus
18/05/2018
16:25-17:05

Le speaker

Romain Monceau
Romain Monceau
Développeur passionné depuis une quinzaine d'années, amoureux de l'open source, Romain travaille comme lead developer chez Akeneo depuis plus de 5 ans.

Tu travailles pour la société Akeneo qui édite le logiciel open source éponyme, quel y est ton rôle ?

J’ai eu la chance de débuter l’aventure dès le début d’Akeneo, ce qui m’a permis d’y jouer plusieurs rôles. J’ai commencé en tant que développeur de l’équipe Produit et cette équipe Produit est passée de 2 à 6/7 personnes sur les 2 premières années.
Après ces 2 années, j’ai demandé à aller dans l’équipe Professionnal Services qui s’occupe du consulting (formation des intégrateurs, intégration et expertise notamment). C’était important pour moi d’évaluer ce que j’avais pu mettre en place, de me rapprocher du besoin client et d’avoir un retour sur l’expérience développeur. Ce fût une expérience très enrichissante qui m’a permis également de rencontrer des développeurs à travers le monde.
Je me suis ensuite occupé de l’équipe Marketplace pour développer la connectivité de notre outil pendant 2 années. Aujourd’hui et depuis le début d’année, je suis à nouveau dans l’équipe Produit en tant que Lead Developer et Coach Agile d’une équipe de 5 personnes. J’essaie aussi de m’occuper de notre communauté du mieux que je peux.

Lire la suite

La parole est aux speakers : Ulrich Lusseau

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

REX sur 5 ans d'élevage de lapins

Il y a 5 ans, j'installais ma première instance de RabbitMQ et n'avait qu'un seul broker. Aujourd'hui, j'en suis au stade industriel. Je vais vous raconter tous mes échecs et toutes les solutions apportées par RabbitMQ, ça va parler dlk, cluster, fédération... mais aussi déploiement automatique des configs, librairies PHP. Une connaissance de base de RabbitMQ/AMQP est recommandée.

Salle Morpheus
17/05/2018
11:25-12:05

Au cours de ces 5 ans d’utilisation de RabbitMQ, quels ont été les cas d’utilisation fonctionnels de cet outil ?

J’utilise énormément RabbitMQ pour différer tout ce qui prend du temps dans une page web et qui n’est pas vital pour renvoyer la réponse à l’utilisateur : envoi de mails, traitement d’image, gestion du cache, indexation dans elasticsearch… J’utilise également RabbitMQ pour paralléliser les crons comme les imports de données. Je trouve que cet outil n’a de limite d’utilisation que mon imagination et j’ai encore plein d’idées à tester, je manque juste de temps pour les mettre en oeuvre.

Lire la suite

La parole est aux speakers : Arnaud Lemaire

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

CQRS, Fonctionnel, Event Sourcing & Domain Driven Design

Avec autant de buzzwords dans le titre, explicitons le menu 😕 – Nous commencerons avec une étude des principes du CQRS et la notion de projection pour construire les modèles de données dédiées à la lecture, le tout avec un datastore traditionnel (relationnel). ? – Nous continuerons avec le concept d’état en programmation fonctionnelle, et comment les gérer au sein d’une application tout en respectant le principe d’immutabilité. Et comment ils ont transformé la gestion d’états pour la construction d’interface utilisateur. ? – Dans un troisième temps, nous nous intéresserons aux évènements du domaine-métier dans le Domain Driven Design et comment ceux-ci s’intègrent dans la mécanique de construction des projections. ?– Enfin, nous assemblerons toutes ces notions pour faire apparaitre l’«?event sourcing?» comme modèle de persistance pour nos données. ? – Pour clôturer, nous verrons les erreurs les plus courantes rencontrées lors de l’implémentation d’un modèle en event sourcing. Take away: ?– Utiliser CQRS (sans event-sourcing) pour simplifier la gestion de la persistance dans son application. ?– Comprendre comment gérer des états dans un contexte fonctionnel ? – Gérer facilement les évènements-métier au sein d’une architecture DDD. ?– Savoir comment implémenter correctement un système basé sur l’event sourcing.

Salle Jarvis
17/05/2018
16:25-17:05

Le speaker

Arnaud Lemaire
Arnaud Lemaire
Arnaud a été tour à tour (et pas dans le bon ordre) : CTO d’une startup, directeur de la production chez un éditeur logiciel, architecte logiciel, consultant et développeur. Après avoir travaillé pour des Startups, des PME, des grands groupes et le secteur public, il est maintenant membre d’un bureau d’étude pour aider des clients de toute taille à réussir leurs projets logiciels depuis la conception jusqu’au déploiement en production.

Tu vas nous parler de DDD et d’Event Sourcing : as-tu eu l’occasion de voir de nombreux projets utilisant ces principes ?

L’approche du Domain Driven Design, comme principe pour la construction d’un logiciel, est devenue, pour moi, un prérequis pour le succès d’un projet logiciel. Le fait d’architecturer le logiciel, à partir du métier qu’il représente, est en effet le meilleur moyen d’éviter que ce dernier ne soit déphasé par rapport à celui-ci. C’est donc une pratique qui est maintenant intégrée dans mon quotidien de développeur.

A contrario, l’application des patterns techniques, comme l’Event Sourcing, est soumis aux contraintes du projet. Il s’agit d’outils qui permettent de bénéficier d’importants avantages, sur certains types de projets. Ces derniers ne doivent, toutefois, pas être appliqués aveuglément (comme n’importe quels autres patterns, d’ailleurs).

Travaillant à la fois en tant que développeur sur des applications pour le compte de clients tiers, mais aussi en accompagnement technique auprès de différentes équipes, j’ai la chance de pouvoir évoluer sur des projets diversifiés en termes de langages, d’industrie ou de taille. Autant de contextes qui m’ont permis de bénéficier d’une expérience éclectique sur la mise en place de ces principes.

Lire la suite

La parole est aux speakers : Kevin Dunglas

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Maîtriser le composant Serializer de Symfony

Le composant Serializer de Symfony existe depuis la première version de Symfony 2, mais a gagné énormément de fonctionnalités au fil du temps. Au cours de ce talk, je présenterai les fonctionnalités méconnues et pourtant très puissantes de cette bibliothèque. Après un rappel des fondamentaux, nous découvrirons comment le composant permet - de manière transparente - de manipuler tous types d'objets PHP, quelques soient leurs styles : getters / setters, propriétés publiques, proxys.... Nous verrons ensuite les différents formats supportés nativement : JSON, XML, YAML et CSV. Puis nous manipulerons des dates, et évoquerons l'upload de fichiers avec le support des "data: URI". Finalement, nous aborderons quelques cas plus complexes tels que choisir les propriétés à sérialiser / désérialiser grâce aux groupes, gérer les références circulaires, sérialiser des arbres en limitant leur profondeur et mettre à jour des objets déjà existants.

Salle Jarvis
17/05/2018
15:15-15:55

Le speaker

Kévin Dunglas
Kévin Dunglas
Kévin est le fondateur de la société autogérée Les-Tilleuls.coop. Il est membre de la core-team Symfony et a créé le framework API Platform. Il est également contributeur à plus d'une centaine de projets Open Source, conférencier et rédacteur d'articles et livres techniques.

Pourrais-tu nous présenter des cas d’usage du composant serializer ?

Le serializer Symfony permet de transformer n’importe quelle structure de données interne au langage de programmation PHP (objet, tableau associatif…) en un format générique intelligible par d’autres langages ou systèmes (tels que le SGBD). Le composant de Symfony supporte nativement les formats JSON, XML, YAML, CSV mais aussi les « data: » URI.

Il est également capable d’effectuer l’opération inverse, à savoir transformer l’un de ces formats génériques en structure de données PHP (désérialisation). Contrairement à json_decode, qui ne sait créer qu’un tableau associatif ou un object stdClass à partir des données formatées passées en entrée, le composant Symfony est assez intelligent pour recréer les types appropriés (les instances des bonnes classes).

De plus, ce composant est très facile à étendre, par exemple le framework API Platform (que je développe) propose, grâce au composant Serializer, le support de formats d’API hypermédias tels que JSON-LD, JSONAPI et HAL.

En bref, le serializer est très pratique pour créer des API web, mais il peut servir dans tous les cas ou l’on doit manipuler des données pour les faire transiter d’un système à un autre.
Par exemple, j’ai réalisé à l’aide du serializer Symfony un petit outil open source nommé Doctrine JSON ODM.

Cette bibliothèque tire parti des colonnes de type JSON que supportent les SGBDR modernes tels que Postgres 9.4+ et MySQL 5.7.8+ : elle serialize automatiquement en JSON enrichi n’importe quel structure de données PHP avant de la stocker dans la colonne JSON. Quand les données sont récupérées, la bibliothèque va effectuer l’opération inverse, à savoir transformer le JSON enrichi en objets typés PHP.

Ainsi, il devient possible stocker des données très dynamiques dans un SGBD classique, en tirant parti des capacités de type NoSQL des moteurs seulement là où c’est nécessaire. Mieux, il est également possible de requêter le contenu du document lui même, et même de poser des index en son sein.

Grâce au Serializer Symfony, cette opération est complètement transparente pour l’utilisateur final si il utilise déjà l’ORM Doctrine.

Lire la suite

La parole est aux speakers : Joel Wurtz

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

100% Asynchrone - 0% Callback en PHP

PHP et Asynchrone n'ont jamais fais bon ménage. Pourtant depuis plusieurs années de nombreuses librairies s'y sont essayé mais leurs API ont toujours été rempli de callbacks et la complexité associée. Nous verrons comment nous affranchir des callback et transformer nos scripts en asynchrone pour obtenir des meilleurs performances.

Salle Morpheus
17/05/2018
14:30-15:10

Le speaker

Joel Wurtz
Joel Wurtz
Développeur et passionné WEB à JoliCode, Joêl aime abordé tous les sujets du front (ReactJS / Redux) jusqu'à l'admin système (Docker) en passant bien sur par le back (PHP / Symfony / ...).

Tu vas nous parler d’asynchrone. As-tu un retour sur des projets tels que ReactPHP ?

Oui, plein ! Il faut savoir que dans la tête de beaucoup de personnes PHP n’a jamais été fait pour de l’asynchrone, ce qui est totalement faux. En effet ce n’est pas du tout un problème de language (même si il peut aider), mais beaucoup plus un problème de librairies. Il y a encore quelques années, ReactPHP était inexistant et il y avait très peu de librairies sur l’asynchrone. Mais ce temps est révolu, ReactPHP est proche d’une version stable et de nombreux autres projets existent tel que Amphp (dont je parlerai). Les choses commencent même à bouger du coté de PHP pour aider tout ce petit monde, mais pour en savoir plus il faudra venir à ma conférence.

Lire la suite

La parole est aux speakers : Quentin Pautrat

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Un autre regard sur la validation

"Persister les données c'est bien, persister les bonnes données c'est mieux". Derrière cet adage se cache, entre autres, la validation, une facette bien connue des développeurs et développeuses. Tellement connue qu'elle en est devenue triviale. À travers les différents frameworks et leurs documentations, nous avons banalisé cet aspect du développement. Il arrive que ces outils ne soient pas toujours adaptés et nous orientent dans de mauvaises directions. Cependant il est de notre responsabilité de voir plus loin et de se poser les bonnes questions.

Salle Morpheus
17/05/2018
16:25-17:05

Le speaker

Quentin Pautrat
Quentin Pautrat
Quentin est peu architecte logiciel, un peu développeur et un peu software craftsman chez Evaneos. DDD, BDD, TDD, Hexagonal Architecture, POO, Design Patterns sont ses jouets, entre autres, du quotidien.

La génération de formulaires est souvent l’un des composants les plus difficiles à aborder dans un framework. Aurais-tu des conseils pour en apprendre leur usage ?

En réalité, je pense que c’est assez simple. Il semble compliqué parce qu’il permet de faire beaucoup de choses.
Alors qu’en fait il suffit de garder en tête que le formulaire à une responsabilité bien précise. Son rôle est de permettre à l’utilisateur de saisir des informations et de le tenir informé des éventuelles erreurs de saisies. Rien d’autre. Si on limite l’impact du formulaire à la seule couche de présentation, tout devient normalement plus facile. Sans trop en dévoiler, une bonne idée est par exemple de ne pas utiliser ses entités métier directement dans ses formulaires. Si vous voulez en savoir plus j’en parle dans ma présentation.
Bien entendu il est toujours possible de tomber sur des formulaires complexes. Dans ces cas là, il n’y a pas de secret, il faut apprendre et tester… ou bien de déléguer la génération au client. Bon courage !
Lire la suite

La parole est aux speakers : Julien Vinber

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Un peu d'événement dans un monde linéaire.

Bien connu dans d'autres langues, l'utilisation d'événement peut apporter énormément dans la conception d'application en PHP. Que ce soit des événements synchrone pour améliorer la solidité de notre code ou asynchrone pour ne pas perdre en performance et dépasser certaine limitation que l'on peut avoir avec le langage. Après une présentation des avantages et des principes, nous verrons comment concrètement les mettre en places dans notre code, que ce soit directement ou en utilisant un Framworks. Nous aborderons également rapidement l'utilisation de serveur de message comme RabbitMQ pour mettre en places des événements asynchrones.

Salle Jarvis
18/05/2018
11:25-12:05

Qu’est-ce qui t’a donné envie de parler de la programmation évènementielle ?

J’ai choisi de mettre en avant les événements car j’ai pris l’habitude de les utiliser dans d’autres langages. Et même s’il existe de nombreuses solutions pour en faire en PHP, c’est rarement un réflexe d’y penser.
Cela peut s’expliquer en regardant l’histoire du langage. Mais je trouve cela dommage, d’autant plus que bien utilisé cela peut devenir un outil très puissant, en particulier pour gérer les « Single responsibility ».
Lire la suite

La parole est aux speakers : Edouard Cunibil

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Réussir en tant que communauté

"Come for the code, stay for the community". Avec plus d'1 million de membres, il faut croire que Drupal mérite son slogan. Le but de cette conférence est de souligner les multiples facettes de cette communauté et de mettre en valeur les décisions et initiatives qui expliquent sa croissance encore aujourd'hui. Il sera question de valorisation du travail, de protection des personnes, d'inclusion des minorités.

Salle Morpheus
18/05/2018
12:10-12:30

Comment es-tu rentré dans la communauté Drupal ?

Initialement, je cherchais quelques conseils pour l’un de mes tous premiers sites et le formateur qui m’avait lancé avait abordé l’existence d’un salon IRC. En souvenir de mes jeunes années de lycéen geek, j’y suis allé faire un saut et j’ai trouvé ce dont j’avais besoin là bas. Ayant moi-même pas mal œuvré à la grande époque du Site du Zéro pour aider les personnes à progresser dans le développement web, je me suis un peu retrouvé dans ce salon super accueillant et j’ai commencé à aider les gens à mon tour quand je le pouvais, au fil de ma propre montée en compétence. De fil en aiguille, je me suis retrouvé à filer un coup de main sur l’organisation du Drupalcamp Paris 2013 où j’ai physiquement rencontré la plupart de ceux qui étaient devenus des collègues de travail virtuels. C’est à partir de là que j’ai commencé à contribuer plus, ce qui m’a valu la chance de bénéficier quelques temps plus tard d’un scholarship pour aller rendre visite à nos amis Drupaliens de San Francisco au BADCamp, un événement d’une toute autre mesure avec plusieurs milliers de personnes. D’un naturel très timide, j’étais très angoissé à l’idée d’aller là bas, en n’ayant pas vraiment parlé anglais depuis très longtemps et sans connaître personne mais ça a finalement été une des expériences les plus incroyables de ma vie. Quelques personnes ont reconnu mon pseudo et ont décidé de me prendre sous leur aile et j’ai pu rencontrer une quantité énorme de gens incroyablement ouverts et bienveillants.

Lire la suite

La parole est aux speakers : Nicolas Grekas

Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Tirer le maximum du moteur PHP 7 - l'exemple de Symfony

PHP 7.0 est déjà de l'histoire ancienne. Mais savez-vous en tirer partie à fond ? Si le moteur est plus rapide sur toutes les opérations en général, il y en a quelques unes qui sont particulièrement optimisées. Avec PHP 5, vous avez peut-être pris certains réflexes qui ne sont plus d'actualité, pour soi-disant écrire du code plus performant ? Je vous propose de passer en revues les différentes techniques d'optimisation mises en place dans Symfony, qui font de la v4 la plus rapide jamais publiée. Ce sera l'occasion de tordre le coup à quelques idées reçues, et de vous en donner quelques autres pour le jour où vous chercherez à presser les dernières millisecondes hors de cette boucle intensive. Benchmark à l'appui évidement.

Salle Jarvis
17/05/2018
09:30-10:10

Le speaker

Nicolas Grekas
Nicolas Grekas
Nicolas travaille chez SensioLabs, en tant que CTO de Blackfire.io, le profiler PHP qui simplifie et industrialise l'analyse des performances de vos applications. Développeur PHP engagé dans l'open-source depuis de nombreuses années, il est désormais membre de la core team de Symfony, entre autres contributeur des polyfills Symfony (ex patchwork/utf-8), des composants Debug, VarDumper, Cache, etc.

Tu es un habitué des events AFUP, tu proposes souvent de nouveaux sujets : où trouves-tu ton inspiration ?!

Trouver un sujet n’a rien d’évident. Trouver un sujet qui passionne l’auditoire est encore plus difficile. On met souvent la barre trop haute : un sujet très pointu demandera beaucoup de travail à préparer, et sera difficile à recevoir. Personnellement, j’essaye de dédramatiser : plutôt que de chercher ce qui égoïstement me passionnerait, j’essaye de puiser dans les travaux auxquels j’ai participé, ceux avec lesquels je me sens à l’aise et qui ont un potentiel de transmission intéressant. Je peux aussi emprunter des sujets à d’autres (avec leur accord évidement, merci Ryan). Si l’objectif, en donnant une conférence, est d’accompagner un panel de devs à monter en compétence, je n’ai pas d’hésitation. Évidemment, le contact quotidien avec le « front » Symfony est une bonne source d’inspiration. J’ai aussi un petit carnet sur lequel je note les idées qui me passent par la tête. Et de temps en temps, j’en retiens une. Celui du PHP Tour autour de la performance PHP 7 est la suite logique de cette obsession à gratter la moindre milliseconde pour Symfony 4, doublée de l’envie de partager les choses apprises en interrogeant Julien Pauli (on bosse ensemble sur Blackfire).
Lire la suite