[:fr]La parole est aux speakers : Nicolas Lœuillet[:]

[:fr]Jusqu’au PHP Tour 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

Tenter de gagner (un peu) sa vie avec un projet open source

Depuis bientôt 5 ans maintenant, nous sommes une petite équipe qui développe une application web open source, wallabag, codée en PHP. Et depuis le début de cette aventure, je me dis que ça serait chouette d'essayer de tenter de gagner un peu sa vie grâce à ce projet qui nous prend du temps. Il y a un peu plus d'un an, j'ai donc lancé un service libre et payant, https://wallabag.it Je vous propose donc mon retour d'expérience sur la naissance du projet, les différentes étapes, les craintes, les doutes et les réussites, comment je gère tout ça au quotidien, etc.

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

Peux-tu nous présenter le projet wallabag et quel est ton rôle dans celui-ci ?

wallabag est une application de lecture différée : je n’ai pas le temps de lire un article, je l’archive et je pourrai le consulter plus tard sur mon ordinateur, ma tablette, mon smartphone ou ma liseuse.
La principale fonctionnalité est que wallabag ne conserve que l’article dans une version épurée : c’est-à-dire que le reste de la page HTML n’est pas enregistrée (les publicités, la structure du site, les commentaires, etc.). L’article (et ses images), et uniquement ça.
J’ai commencé ce projet tout seul il y a bientôt 5 ans, quand Google a annoncé la fermeture de Google Reader. Je me suis inquiété de ce qui pouvait arriver si l’outil que j’utilisais à l’époque (Pocket) fermait du jour au lendemain. J’ai donc voulu me créer mon propre outil.
Aujourd’hui, nous sommes une équipe de 4 personnes pour la partie application web, une personne par application smartphone, deux personnes pour l’extension Chrome / Firefox, une dizaine de traducteurs et quelques milliers d’utilisateurs.

(suite…)

[:fr]La parole est aux speakers : François Zaninotto[:]

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

GraphQL, l'avenir du REST ?

REST est devenu un standard pour les APIs web. Mais malgré sa popularité, il est plein de défauts. Son successeur existe et il vient de Facebook. Venez découvrir en détail le principe, la mise en oeuvre et l’écosystème de GraphQL. Vous repartirez de cette conférence avec la réponse à la question : dois-je utiliser GraphQL pour mon prochain projet ?

Qu’est qui t’a motivé à proposer ce sujet ?

Dans ma société, nous avons développé plusieurs prototypes sur GraphQL ; ces prototypes nous ont ouvert les yeux sur le potentiel immense de cette technologie.
Alors j’ai commencé à creuser les motivations des créateurs de GraphQL, et je me suis rendu compte que nous souffrons au quotidien de l’architecture REST, mais sans vraiment se l’avouer. GraphQL, c’est un peu comme un copain bien intentionné qui vous tape sur l’épaule pour vous dire : eh, mais tu t’embêtes beaucoup là, avec ta roue carrée. Tu ne veux pas utiliser les roues rondes plutôt ? J’ai voulu partager cette révélation !
Depuis, nous utilisons GraphQL en production, avec beaucoup de bonheur.

(suite…)

[:fr]La parole est aux sponsors : Ekino[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de sponsors pour mieux comprendre leur parcours quand vous les retrouverez sur le Forum !

Vous développez dans de nombreux langages tels que nodejs, java ou PHP : sur quels critères choisissez-vous un langage pour un projet ?

Nous avons également du Go et du Python. Nous ne choisissons pas seulement un langage, mais surtout une stack technique en adéquation avec le besoin du client. Le choix du langage est donc basé sur la cohérence avec la stack du client, les besoins fonctionnels (asynchrone, synchrone), la volumétrie des données à traiter. Il nous arrive de mélanger les langages, php/node ou php/java.

(suite…)

[:fr]La parole est aux sponsors : Maisons du monde[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de sponsors pour mieux comprendre leur parcours quand vous les retrouverez sur le Forum ! Marc Hugon, Responsable développement et innovation a répondu à nous questions

Maisons du monde recrute de nombreux profils techniques, comment voyez-vous l’évolution de carrière d’un développeur PHP dans l’entreprise ?

Nous essayons de mettre en place diverses actions pour accompagner la montée en compétences de nos développeurs les plus juniors. Au quotidien, plusieurs pratiques et outils permettent de les aider. La revue de code systématique permet l’échange sur les bonnes pratiques, qui suivent les recommandations de la communauté PHP et Symfony. Nous avons mis en place des outils d’analyse de qualité de code (Scrutinizer, Sensiolabs insight) afin d’aider aussi les équipes à juger leur qualité de travail et s’améliorer. Enfin, nous testons l’utilisation de plateformes comme Sensiolabs University ou Codingame pour stimuler et laisser de l’espace à la montée en compétence.
Un développeur confirmé peut ensuite se retrouver lead développeur. Dans notre contexte, c’est principalement l’opportunité de représenter le travail de son équipe dans des instances marketing et stratégiques, sur les projets de son équipe ou transverses. Il est aussi mis à contribution sur toutes les réflexions d’architecture logicielle pour apporter sa contribution aux évolutions permanentes qui sont mises en place. Ces rôles sont aussi ouverts aux développeurs confirmés (ou senior).
Nous avons aussi des rôles de manager d’équipe et d’architecte, qui peuvent être des possibilités d’évolution.
D’autres ouvertures sont possible pour le métier de DevOps, qui prend de l’importance dans notre organisation.

(suite…)

[:fr]La parole est aux sponsors : SensioLabs/Blackfire[:]

[:fr]Jusqu’au Forum PHP 2017, retrouvez nos interviews de sponsors pour mieux comprendre leur parcours quand vous les retrouverez sur le Forum !

Pour une société comme SensioLabs, qui propose de la formation et de la certification, le niveau de l’équipe technique doit être un challenge quotidien. Quelles sont vos techniques pour diffuser la connaissance au sein de vos équipes et à garder un niveau aussi élevé ?

Effectivement nous sommes garants d’une forme d’excellence de nos prestations de formation et de préparation à la Certification vis à vis du marché et nous devons veiller à ce que nos équipes maintiennent elles-mêmes le niveau élevé de compétences qui est attendu. Nous avons depuis des années conçu et fait évoluer un programme interne d’expertise autour de Symfony, il repose sur 3 piliers : l’accès à notre plateforme SensioLabs University qui rassemble des ressources et services très efficaces et notamment un espace de test continu qui permet d’évaluer son niveau. Ensuite nous avons un workshop hebdomadaire qui aborde un thème ou un composant Symfony à chaque fois différent et qui permet aux consultants d’échanger sur les meilleures pratiques d’utilisation. Et pour finir nous encourageons et aidons nos consultants à intervenir à l’occasion de conférences ou événements pour présenter notre expertise lors de lightning talks.

Eric Mattern, co-Directeur Général et responsable de la SensioLabs University

(suite…)

[:fr]La parole est aux speakers : Marc Hugon[:]

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

Maisons du Monde et l'architecture orientée services

Le site www.maisonsdumonde.com a ouvert il y a 11 ans. Il y a un peu plus d'un an, pour assurer une croissance importante et créer une expérience client unifiée, nous avons fait le choix de migrer vers une architecture logicielle orientée services et de faire converger nos applicatifs e-commerce et de prise de commande en magasin. Nous reviendrons un peu plus précisément sur les choix que nous avons fait (gestion des versions, git, déploiement, logs applicatifs, ...), et nous vous présenterons quelques changements majeurs dans nos méthodes de travail, que nous n'avions pas forcément tous anticipés mais qui s'avèrent très efficaces.

Il y a 3 ans lors du Forum PHP 2014 tu nous présentais la mise en place des tests fonctionnels chez Maisons du Monde, y-a-t-il eu du nouveau de ce côté chez vous ? Cette couverture de tests vous a-t-elle aidés dans la mise en place de l’architecture orientée services que tu nous présenteras cette année ?

Nous continuons à maintenir l’utilisation de tests fonctionnels tels que présentés il y a 3 ans. Ils nous permettent de nous rassurer avant les mises en production qu’on continue à pratiquer quotidiennement. La seule nouveauté, c’est que nous testons l’abandon de Cucumber au profit de testcafe. On vous proposera un retour dès qu’on aura assez avancé sur ce sujet…
Pour répondre à votre question, ces tests sont utiles dans le cadre d’une refonte technique orientée services, car ils sont complètement agnostique de la partie technique. Ils se contentent d’utiliser un navigateur et d’appeler une URL pour interagir avec la page retournée. Ils ne voient pas les services qui sont créés. Ils nous permettent donc d’assurer une partie importante de la non régression.

(suite…)

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