La parole est aux speakers : Nicolas Lœuillet

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 !

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

La parole est aux speakers : François Zaninotto

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 !

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

La parole est aux sponsors : Ekino

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

La parole est aux sponsors : Maisons du monde

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

La parole est aux sponsors : SensioLabs/Blackfire

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

La parole est aux speakers : Marc Hugon

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 !

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

La parole est aux speakers : Sébastien Lavenant

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 !

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

La parole est aux speakers : Sophie Beaupuis

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 !

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

La parole est aux speakers : Kévin Dunglas

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 !

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

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :