Catégorie Forum PHP 2018

La parole est aux speakers : Frédéric Descamps

Jusqu’au Forum PHP 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

MySQL 8.0 : quoi de neuf ?

MySQL 8.0 est la nouvelle version de MySQL. Plein de nouvelles fonctionnalités ont fait leur apparition tel que les Window Functions ou les CTEs. De nouvelles possibilités de LOCK d'enregistrement, des améliorations d'index et beaucoup d'autres changements dans tout les domaines. Durant cette session, le public pourra apprendre quelles sont les améliorations apportées à MySQL 8.0 et comment les utiliser en PHP.

Grace Hopper
26/10/2018
09:30-10:10

Le speaker

Frédéric Descamps
Frédéric Descamps
"@lefred" a été consultant OpenSource et MySQL plus de 15 ans. Après avoir obtenu son diplôme en Informatique de Gestion, Frédéric Descamps a commencé sa carrière comme développeur pour un ERP sous HPUX. Il optera ensuite pour une carrière dans le monde de l'open-source en rejoignant l'une des premières start-up belge dédiée à 100% aux projets libres autour de GNU/Linux. C'est en 2011 qu'il a rejoint Percona, l'un des principaux spécialistes MySQL. Il a ensuite décidé de rejoindre l'équipe Community MySQL en 2016 en tant que responsable de la Communauté MySQL pour EMEA & APAC. Frédéric est également un conférencier régulier des conférences OpenSource. Son blog principalement dédié à MySQL est http://lefred.be

Ces derniers temps PostgreSQL gagne de plus en plus en notoriété : quelles sont pour toi les dernières avancée notoires de MySQL ?

Je pense que c’est bien pour l’écosystème des bases de données open source que PosgreSQL soit aussi de la partie. Maintenant au point de vue de la popularité, je ne pense pas que ce soit vraiment une course où MySQL et PostgreSQL ont toutes les cartes en main. Je pense que ce qui fait également la popularité d’une DB open source, ce sont les projets qui utilisent cette DB. Et là, ce n’est pas entièrement de notre (MySQL & PostgreSQL) ressort. Je m’explique un peu: quand Drupal et WordPress sont très populaires et bien MySQL l’est tout autant. Quand Django devient très populaire, et bien PosgreSQL le devient aussi un peu plus. Donc je pense que bien sûr on doit tout faire pour que ces produits continuent à nous utiliser et, nous, à les aider à intégrer nos nouveautés. Le choix de la DB dépend également beaucoup des développeurs de ces frameworks. Et là c’est un peu le discours Emacs ou Vi 😉
PostgreSQL était très connu pour avoir plus de caractéristiques qui font partie du standard SQL et nous (MySQL) pour notre performance, notre convivialité et l’écosystème autour de notre projet. Avec la version 8.0 nous avons comblé pas mal de lacunes sans pour autant avoir mis de côté la performance et l’intégrité des données qui est pour nous (et nos utilisateurs) un point crucial. Avec MySQL 8.0 nous avons par exemple les Window Functions, les CTEs et un très large support de GIS. Et bien entendu la réplication qui fait la force de MySQL depuis bien longtemps a aussi été complétée avec pas mal de nouveautés que vous pourrez découvrir lors de ma présentation.

Lire la suite

La parole est aux speakers : Guillaume Bouyge

Jusqu’au Forum PHP 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

De 6play.fr à une plate-forme internationale : retour d’expérience

Comment rendre compatible un modèle de données créé il y a 10 ans, qui n’a cessé d’évoluer mais qu’on doit conserver ? Comment traduire une application symfony ? Et côté front ? Comment garder la rétro-compatibilité de nos API et de l’ensemble de nos microservices ? Comment adapter nos back-offices, parfois legacy ? Comment échanger entre équipes, de métiers ou pays différents ?

Ce projet a été l’occasion de remettre à plat une partie de notre architecture, d’en faire évoluer d’autres.

Retour d’expérience sur sept mois de transformation pour passer d’un produit dédié à la France à une plateforme accessible dans quatre pays.

Katherine Johnson
25/10/2018
16:25-17:05

Le speaker

Guillaume Bouyge
Guillaume Bouyge
Guillaume Bouyge est développeur web depuis 2010. Il a toujours été attiré par les nouvelles technologies. Développeur PHP jusqu'en 2016 il a pu côtoyer différents framework et librairies. Depuis 2013, chez M6web il a eut la chance de faire partie d'un projet d'envergure, savoureux mélange de haute performance et technologie de pointes. Depuis 2016, il est lead développeur chez M6Web. Ce nouveau poste lui permet d'ajouter une dimension humaine et relationnelle à cet univers technique.

Tu es lead développeur à M6Web. Quel est ton quotidien à ce poste ?

Être lead développeur chez M6Web c’est à la fois gérer une équipe de développeurs, être à l’écoute des équipes produit qui définissent les besoins, savoir y répondre techniquement tout en respectant les budgets et concevoir les solutions.
J’accompagne mon équipe au quotidien dans leur travail. Je leur fournis les explications, l’assistance dont ils ont besoin pour mener à bien les tâches techniques sur lesquelles ils travaillent. Nous travaillons tous ensemble pour faire vivre la plateforme et faire en sorte que cette dernière reste à jour pour absorber la dette technique.
L’agilité nous permet d’avoir une autonomie complète sur la technique. Les product-owners (chef de projets) avec qui je travaille au quotidien l’ont compris et nous font confiance.
C’est un beau mélange entre technique et management qui me permet d’intervenir sur le produit de bout en bout.

Lire la suite

La parole est aux speakers : Matthieu Napoli

Jusqu’au Forum PHP 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

Serverless et PHP

Serverless et ses "functions as a service" nous promet des applications scalables et à bas coût. En réalité à quoi est-ce que ça ressemble vraiment ? Et comment merger l'écosystème PHP mâture avec cette nouvelle architecture et ses outils ? Est-ce qu'on peut y faire tourner des applications HTTP ou CLI ? Est-ce que ça marche avec Symfony, Laravel ou même PSR-15 ? Explorons les réponses à ces questions à travers des études de cas et le projet Bref, solution pour déployer PHP en serverless.

Katherine Johnson
25/10/2018
09:30-10:10

Le speaker

Matthieu Napoli
Matthieu Napoli
Développeur depuis plus de 10 ans, Matthieu est aussi auteur de projets open source tels que PHP-DI, Silly, Couscous ou Bref. Passionné par les sujets d'architecture web et de qualité de code, il est également impliqué dans le PHP-FIG sur PSR-11 et PSR-15.

Serverless : pourrais-tu nous décrire succinctement ce nouveau paradigme ?

Serverless est une alternative au format d’hébergement traditionnel où nous payons pour des ressources (un serveur, un disque de stockage…) : dans un hébergement serverless nous payons pour des services. Par exemple un service de stockage de fichier (AWS S3 et similaires), des bases de données «  »as a service » », et bien sûr des hébergements «  »Function as a Service » » pour faire tourner ses applications.
La grosse différence : les services sont à la demande et se payent à l’utilisation. Finie la location d’un serveur 4 CPU et 8 Go de RAM, désormais on se contente de demander à l’hébergeur d’exécuter notre code et celui-ci allouera autant de ressources que nécessaires en fonction de la charge. Les promesses sont donc celles de scalabilité extrême et de coûts réduits. En effet, plus besoin de payer des gros serveurs à se tourner les pouces pendant les creux, et plus de problèmes de serveurs saturés pendant les pics. L’hébergeur se débrouille.
En tout cas c’est la théorie, et dans la pratique cela demande de revoir un petit peu l’architecture de nos applications. L’avantage c’est que PHP a une longueur d’avance sur le sujet !

Lire la suite

La parole est aux speakers : Benoit Viguier

Jusqu’au Forum PHP 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

Générateurs et Programmation Asynchrone: Mode d’emploi

Les générateurs sont souvent réduits à une simplification des itérateurs, mais ils sont surtout très pratiques et performants pour executer des traitements asynchrones. Nous aborderons le fonctionnement d’un programme asynchrone, le rôle des promises, et approfondirons l'utilisation des générateurs pour simplifier l’écriture de notre code. Enfin nous détaillerons des cas pratiques « prêts à l’emploi » pour tout type d’application, avec un retour d’expérience sur ce qui a été mis en place chez M6Web.

Katherine Johnson
26/10/2018
11:25-12:05

Le speaker

Benoit Viguier
Benoit Viguier
Lead Développeur Backend chez M6Web. Dans l’informatique depuis plus de 10 ans, dans le web depuis 5, et passionné depuis toujours.

Comment en es-tu venu à utiliser les générateurs pour faire de la programmation asynchrone ?

Dans le cadre d’un nouveau projet chez M6Web, j’ai étudié quelques solutions techniques pour faciliter la mise en place de traitements asynchrones en PHP. Je suis rapidement tombé sur le framework Amp qui utilise les générateurs pour simplifier l’utilisation des Promises et ainsi éviter l’enfer des Callbacks. Pour moi ça a été un déclic car les générateurs sont une spécialisation des Coroutines, ils sont vraiment faits pour ça, il ne s’agit pas du tout d’un détournement maladroit d’une fonctionnalité de PHP. Ce mécanisme, déjà bien connu dans d’autres langages, permet d’interrompre l’exécution d’une fonction et de le reprendre plus tard : c’est le cœur de la programmation asynchrone. La documentation MDN des générateurs nous apprend d’ailleurs que les fonctions async de Javascript sont construites sur un modèle identique aux générateurs, exactement pour les mêmes raisons. En général, tous ceux qui ont travaillé un peu avec les Promises Thenable sont rapidement conquis par les avantages des générateurs pour la programmation asynchrone.

Lire la suite

La parole est aux speakers : Baptiste Langlade

Jusqu’au Forum PHP 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

Le temps: la dépendance oubliée

Il y a 2 pratiques qui sont maintenant bien ancrées dans la plupart des projets : l'injection de dépendance et ne pas utiliser d'état global. L'objectif est de produire un code plus maintenable, testable et prédictible. Pourtant l'utilisation de l'api du temps en PHP enfreint ces 2 pratiques, il est donc temps d'adopter le pattern de l'horloge.

Grace Hopper
25/10/2018
12:10-12:30

Le speaker

Baptiste Langlade
Baptiste Langlade
Baptiste Langlade est un développeur PHP (certifié symfony2) passionné par indexer internet, Neo4j et le fonctionnement du cerveau.

Injecter la dépendance temps : est-ce un concept difficile à vendre à une équipe de développement ?

Comme souvent la réponse est : ça dépend ! Ça dépend du domaine d’activité et de la maturité de l’équipe. Si le métier adressé n’est pas du tout sensible au temps, les gens vont avoir du mal à voir la plus-value de changer une façon de faire qui fonctionne bien (ce qui est compréhensible). En revanche dans le cas où le temps est une part importante du métier ça va dépendre de l’expérience cumulée de l’équipe. Si elle a souffert de bugs en prod ou de débuggage il sera plus facile de vendre le concept. Dans le cas contraire l’équipe ne verra pas non plus l’intérêt de changer une façon de faire qui ne l’a pas gênée jusqu’ici.

Lire la suite

La parole est aux speakers : Stéphane Hulard

Jusqu’au Forum PHP 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

Symfony/Messenger un composant à votre service !

Avec la sortie de Symfony 4.1 le 30 mai 2018, un nouveau composant officiel fait son entrée sur le marché : Messenger. Il s'agit d'une abstraction autour des files d'attente de message. Ce nouveau composant ouvre la porte à une nouvelle façon de travailler car les traitements asynchrones et la consommation des messages sont maintenant supportés nativement par Symfony.

Qu'est-ce que ça change ? Pourquoi un nouveau composant officiel ? Comment l'intégrer dans un projet ? Quels sont les connecteurs supportés ? Quels bénéfices dans la structure du code ?

Nous avons choisi de faire confiance à ce jeune composant et je vous invite à suivre nos pas à travers les exemples réels de notre implémentation.

Katherine Johnson
26/10/2018
09:30-10:10

Le speaker

Stéphane Hulard
Stéphane Hulard
Stéphane a baigné dans le web depuis 2006, et est aujourd’hui CTO chez ExoSkills et Formateur indépendant. Il a accompagné des clients tels qu’Ubisoft, International Herald Tribune, Savoie Mont Blanc, Armani, Michelin, Engie, General Electrics… Il travaille principalement autour de trois axes : le conseil, la formation et la contribution open source. Il apprécie particulièrement travailler sur des projets legacy pour accompagner les équipes à les reprendre en main et s'obstine à la mise en place des méthodes d'ingénierie logicielle sur le web (intégration et déploiement continu, tests unitaires, documentation...) ! Il télétravaille presque à 100% ce qui lui permet de vivre à l'étranger la moitié de l'année, dans différents pays, avec sa femme et ses trois enfants.

Comment le composant symfony/messenger se situe-t-il par rapport à des initiatives comme queue-interop ?

C’est justement un des sujets que je vais aborder pendant la conférence. Le nouveau composant est sorti en compagnie d’un d’adapteur pour facilement s’interfacer avec les initiatives existantes. Pour être plus précis, je m’appuie sur le projet « php-enqueue” pour avoir accès à différents drivers (Redis, Kafka, SQS, …). Ce projet est une implémentation de « queue-interop ».

Pour autant ce n’est pas du tout obligatoire, Messenger est une brique donnant accès à la logique de bus de message. Libre à chacun ensuite d’utiliser les meilleurs outils pour les consommer !

Lire la suite

La parole est aux speakers : Vladyslav Riabchenko

Jusqu’au Forum PHP 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

SOLID : Les principes à l’origine du succès de Symfony et de vos applications

SOLID est un acronyme représentant cinq principes de bases de la programmation orientée objet permettant le développement de logiciels fiables, évolutifs et robustes. Le framework Symfony est un excellent support pour illustrer chacun de ces principes. Nous verrons ainsi que SOLID est à l’origine de sa flexibilité, sa fiabilité mais aussi de sa maintenabilité et son évolutivité. Nous verrons également comment appliquer ces principes pour améliorer son code métier et perfectionner l’architecture de son application.

Katherine Johnson
25/10/2018
15:15-15:55

Le speaker

Vladyslav Riabchenko
Vladyslav Riabchenko
Vladyslav est architecte technique chez Webnet depuis 2 ans. Avec une expérience de 4 ans dans le développement PHP/Symfony, il est également certifié Symfony 3 depuis 2017. Vlad adore des patrons de conception et une architecture flexible et élégante. Il est également actif dans la communauté et estmembre d'AFUP et de l'AFSY.

Les principes SOLID sont-ils utilisables en entreprise ou est-ce une simple théorie ?

Lorsqu’on utilise le langage orienté objet tel que PHP on essaie de rester toujours en conformité avec SOLID. C’est d’autant plus visible quand il s’agit d’une bibliothèque réutilisable, d’un framework ou d’une logique métiers complexe.

Les principes SOLID aussi bien que les design patterns (e.g. ceux de GoF) sont issus de la pratique. Ils ont été extraits de l’expérience de création de milliers d’applications pour résumer les règles générales de bonne architecture. Dans le quotidien d’un développeur, SOLID favorise la création de modules réutilisables, flexibles, évolutifs et compréhensibles.

Lire la suite

La parole est aux speakers : Samuel Roze

Jusqu’au Forum PHP 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

Comment j’ai commencé à aimer ce qu’ils appellent « design pattern »

Il arrive parfois que nous, développeurs, pensions qu’il n’est pas nécessaire de connaître ce qu’ils appellent les « design patterns » ou « patrons de conception ». Nous pensons parfois que nous n’avons pas besoin de cette théorie. Après des années d’expériences avec la faible maintenabilité de mon propre code et de celui de mes clients, j’ai exploré de nombreuses façons de découpler nos applications afin de créer des applications « enterprise ready » qui peuvent vivre pendant de nombreuses années. Via des exemples concrets, je vais vous présenter quelques design patterns qui peuvent vous aider à travailler sur une codebase propre, structurée et bien découplée.

Grace Hopper
25/10/2018
09:30-10:10

Le speaker

Samuel Roze
Samuel Roze
Passionné par la création et l’innovation, Samuel travailles dans le startup studio Kamet à Londres pour aider chaque startup a donner le meilleur sur le plan technique. Core-team member de Symfony et ApiPlatform, createur de ContinuousPipe et Tolerance il est particulièrement impliqué dans l’open-source.

Quels sont tes 3 design pattern préférés ?

Je dirais que cela dépend du contexte. Je n’ai pas de design pattern préféré, car ce sont juste des outils que j’utilise en fonction du cas d’utilisation plutôt qu’une liste de designs préférés. Ceci dit, celui que j’utilise le plus c’est le « Décorateur » que je trouve extrêmement puissant et très utile pour ajouter des fonctionnalités à un existant très simple. Typiquement sur une fonctionnalité de « retry » ou de logging: on pourrait l’ajouter à l’aide d’une boucle dans le code existant ou une ligne de code à de l’existant. C’est l’approche la plus simple mais elle n’est clairement pas réutilisable. À la place, on crée un décorateur qui permettrait d’avoir une fonctionnalité « plug-and-play », bien découplée et réutilisable.

Lire la suite

La parole est aux speakers : Arnaud Langlade

Jusqu’au Forum PHP 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

Quelle différence y a-t-il entre le bon et le mauvais repository ?

Qu’est ce qu’un repository? Le pattern repository est l’un des pattern les plus utilisés dans nos applications. Bien que simple et pratique il est trop fréquemment mal employé : nos repositories sont plus souvent des entrepôts de requêtes SQL que des “vrais” repositories. Durant ce talk, nous verrons comment désigner un repository et gérer nos requêtes SQL.

Grace Hopper
26/10/2018
12:10-12:30

Le speaker

Arnaud Langlade
Arnaud Langlade
Passionné par le développement depuis plusieurs années, Arnaud travaille chez Akeneo (startup Nantaise). Il a également fait partie de la core team du projet open source Sylius pendant quelques années. Adepte du TDD et BDD (PhpSpec/Behat), il s'intéresse aussi à des sujets comme DDD, CQRS, etc.

Tu nous parleras de repository : avant toute chose, pourrais-tu nous définir ce qu’est un repository ?

Un repository se comporte comme une collection d’objets : on peut lui ajouter, récupérer et parfois supprimer des objets. Il ne fonctionne qu’avec des objets du même type car on ne mélange pas des galinettes avec des renards, ça ne fait pas bon ménage ! Il a l’avantage de proposer aux développeurs une couche d’abstraction qui permet de ne plus se soucier de la persistance. En effet, il peut être implémenté de plusieurs façons possibles, il pourra très bien persister vos objets dans un fichier texte ou dans une base de données par exemple.

Lire la suite

La parole est aux speakers : David Buchmann

Jusqu’au Forum PHP 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

Bash pour les développeurs et développeuses PHP

Des scripts de ligne de commande sont souvent utilisés pour automatiser des tâches, installations et opérations de déploiement. Étant des développeurs PHP, nous sommes habitués à une syntaxe surprenante et des concepts inconsistants, mais bash apporte ces problèmes à un tout nouveau niveau. Bash peut avoir l'air simple, mais le language est bizarre et plein des pièges. Je vais expliquer les concepts de base et constructions syntaxiques de bash, ainsi que vous avertir des erreurs fréquentes. Si je vais peut être vous faire peur avec bash, je vais aussi vous montrer comment utiliser PHP pour écrire des scripts pour la ligne de commande.

Katherine Johnson
25/10/2018
12:10-12:30

Le speaker

David Buchmann
David Buchmann
David Buchmann travaille chez Liip SA comme lead developper. Il est active en des projets OSS, notamment la librarie FOSHttpCache et l'abstraction de client HTTP nommé HTTPlug. Quand il n'est pas devant l'ordinateur, il aime voyager, la musique et jouer à magic the gathering et à d'autres jeux de société.

PHP étant très bon pour des petits scripts, quand doit-on plutôt utiliser bash selon toi?

L’inspiration pour cette conférence vient du travail avec mon équipe. On utilise bash principalement dans des scripts qui tournent sur les systèmes d’intégration continue. Bash est un outil présent sur tous les systèmes Linux et s’offre donc pour ce type d’opérations.

Bash permet très facilement de faire des opérations comme lancer des lignes de commande, copier des fichiers, etc. Mais bash a une syntaxe très … disons « particulière ». Lorsque j’ai commencé à regarder de plus près ce qu’on fait, j’ai trouvé plein des petits choses bizarres.

Dans ma conférence, je ne veux pas convaincre les gens d’utiliser bash pour leurs systèmes, mais démontrer les possibilités et expliquer les particularités. Quand on a de la logique non-trivial dans un script, je pense qu’on fait mieux de l’écrire dans un propre langage comme PHP.

Lire la suite