Menu
Menu

Nous contacter

01 82 83 51 70 infos@globalis-ms.com

6B rue Auguste Vitu

75015 Paris

Globalistories

Le 20 septembre 2016 par Guillemette de Brebisson

WordPress n’a pas de secret pour lui

« Retour

Arrivé en 2014, Pierre, lead développeur WordPress revient sur son parcours chez GLOBALIS, ses projets et ses techniques de management.

Pierre D

Qu’as-tu fait comme étude pour devenir développeur ?

Une fois mon bac S obtenu, j’ai fais le DUT informatique de Paris V, puis une troisième année de Licence et un Master2 informatique à l’université Paris VII.

Comment es-tu arrivé chez GLOBALIS ?

En 2014 alors que j’étais en première année de Master, j’ai eu un semestre de cours très léger avec seulement quelques heures de travail par semaine. J’ai donc voulu m’occuper en cherchant un job qui me permette à la fois de mettre un peu d’argent de côté, tout en acquérant une expérience professionnelle en informatique.

Alors que je n’imaginais pas forcément faire du web mon métier sur un long terme, j’avais envie de découvrir un peu mieux ce secteur dans lequel plusieurs expériences personnelles avec WordPress m’avaient plongé. J’ai donc cherché sur Internet des propositions de poste de développeur PHP/WordPress et c’est comme ça que j’ai découvert GLOBALIS. En février 2014, je suis arrivé dans les équipes pour une mission de 6 mois en CDD.

À la fin du CDD, je suis resté en contact avec mes anciens collègues, et j’ai finalement choisi après mon Master, de continuer le PHP et le web, qui m’intéressaient finalement bien plus que les carrières de développeur Java vers lesquelles le Master nous oriente. Je suis donc revenu en CDI chez GLOBALIS en avril 2015, et j’y occupe depuis le poste de lead-développeur sur le pôle WordPress.

Comment ton intégration s’est-elle passée ?

Globalement, j’ai rencontré un bon accueil dans des équipes où il y a beaucoup de travail et des projets parfois compliqués, mais avec une vraie capacité d'entraide entre développeurs, ce qui m’a permis en quelques mois, de passer d’une méthode de développement web assez amateur, à des pratiques de développement professionnelles et structurées. Je pense que c’est l’un des intérêts des sociétés de service dans le web pour les développeurs en début de carrière : rencontrer dans un temps assez cours de nombreux projets différents, sur de multiples technologies, qui forgent une certaine capacité à s’adapter vite aux évolutions d’un secteur encore jeune.

Comme dans la plupart des boîtes du secteur, il faut savoir s'adapter au turn-over. Il nous oblige à former régulièrement les nouveaux arrivants et à faire un effort permanent pour réussir à stabiliser nos méthodologies, mais il permet aussi un apport constant de nouveauté avec des profils apportant à chaque fois de nouvelles compétences techniques, ce qui évite de rester bloquer sur des pratiques web obsolètes.

Le web n’est pas un secteur facile, il y a une forte demande, de nombreux appels d’offres parfois disproportionnés par rapport aux capacités des entreprises du secteur. De nombreuses boîtes se sont positionnées sur ce marché sans avoir forcément de réelles compétences en programmation, mais venant plutôt du monde du design, de la com ou du marketing, alors qu’aujourd’hui presque 100% des sites sont de réelles applications, et plus seulement des vitrines web. Je pense que GLOBALIS répond assez bien à ce challenge, en poussant l’idée que le web, c’est avant tout de la programmation (PHP), et en recherchant donc d’abord des profils d’analystes programmeurs pour répondre au besoin. Dans le même temps, beaucoup de travail reste à faire pour imposer de vraies méthodes professionnelles dans le web, et notre travail s’inscrit aussi dans ce sens-là.

Quelles sont tes missions ?

Mon travail reste principalement du développement PHP, bien qu’il ait progressivement évolué vers des missions de conception, spécification, et répartition du travail avec une équipe de 2 à 4 développeurs selon la période. Tout dépend des projets.

Je dois également gérer la relation client notamment avec des clients historiques. Pour les projets plus ponctuels, ce sont les chefs de projets qui sont en contact avec les clients.

Sur le plan informatique, cela va donc de la conception fonctionnelle sur certains projets (occasionnellement), à la conception technique (presque tout le temps), jusqu’au développement avec en fin de projet les tests, la documentation et les phases de livraison.

Actuellement, 4 développeurs font du WordPress à temps plein sur des projets forfait. Certains développeurs de l’équipe sont parfois en mission chez les clients. Évidemment les autres équipes font aussi beaucoup de WordPress (de plus en plus), notamment sur le pôle TMA.

Quelles sont les qualités pour être un bon lead développeur ?

Il y a différents aspects. Le premier aspect est technique. Il est essentiel d’avoir des qualités scientifiques afin d’analyser des problèmes, travailler sur la conception, arriver à synthétiser et proposer des solutions qui soient efficaces, mais aussi adaptées à la réalité des budgets que l’on a. Il est important de trouver le bon équilibre. C’est un point que les développeurs juniors ont du mal à acquérir mais qui vient avec l’expérience. Il faut également avoir des notions d’architecture des programmes, jongler avec différentes technologies pour produire des systèmes structurés, évolutifs et performants.

Pierre D. 4

L’autre aspect est la vérification, validation et les tests. Tout ce à quoi il faut penser quand on va valider ou livrer des applications. Ces points ne sont également pas évidents pour des juniors qui peuvent avoir du mal à se mettre à la place du client, à anticiper ses retours.

Il faut donc réussir à prévoir tous les problèmes techniques que l’on va rencontrer et à imaginer, proposer des solutions avant même que le développement n’ait commencé. Anticiper les besoins techniques pour trouver l’architecture la plus adaptée et éviter d’avoir à changer complètement de stratégie technique en milieu de projet.

Enfin la gestion et le management de ses propres tâches comme celles des autres est un aspect à prendre en compte pour un lead développeur. Lorsque l’on est sur une période avec un ou deux projets, l’aspect gestion se fait moins sentir. Mais lorsqu’il y a de nombreux petits projets, la difficulté est de réussir à rester alerte sur plusieurs dossiers en même temps. L’expérience nous aide à basculer entre différents projets parfois même dans la même journée. On ne peut pas prévoir à l’avance quand un client va nous faire un retour de bug urgent à traiter, ni quand un développeur va être bloqué sur un point et aura besoin d’aide… Il y a toujours des aléas au planning prévu.

Comment est organisée la mise en place d’outils pour améliorer la production ?

L’enjeu est de passer de méthodes de développement web artisanales à des processus définis, stables, et automatisés. Un vrai chantier est engagé depuis plusieurs années sur les points suivants :

  • Automatiser le lancement de projet, avec des scripts qui posent l’architecture applicative WordPress, installent notre stack habituelle de plugins, drop-ins et must-use plugins. Sur ce point, nous nous inspirons beaucoup de Bedrock et avançons avec une utilisation massive de wp-cli (WordPress en ligne de commande).
  • Adopter un front-starter robuste et complet, avec notamment le thème-starter Sage, que nous utilisons sur la quasi-totalité des nouveaux projets WordPress depuis 1 an, et qui apporte une stabilité de la stack front (gulp, bower, sass, jshint …).
  • Maîtriser et faire connaître les outils d’assistance au développement et au débogage, que ce soit des plugins comme query-monitor ou les tests unitaires avec PHPUnit.
  • Éliminer les déploiements / mise en production manuels en FTP, pour les remplacer par des déplacements différentiels via des scripts shell / rsync, ou des outils comme Capistrano.
  • Forcer une gestion applicative par environnement pour automatiser un certain nombre de règles, éviter les erreurs humaines, et s’adapter à un modèle de livraison de plus en plus exigeant (développement local, validation interne en recette, déploiement en pré-production, validation par le client, puis livraison en production).
outils de production

Je pense qu’en deux ans, nous avons réellement progressé sur ces points, ce qui nous permet de laisser dernière nous les anciennes pratiques “Un blog avec quelques plugins et de la configuration”, pour arriver à réaliser de réelles applications avec un socle WordPress et des méthodes professionnelles inspirées des 12 factors, respectant les règles d’art du génie logiciel.

Pour autant, il reste toujours beaucoup reste à faire (gestion totale des dépendances avec Composer, qualité de code avec PHP Mess / PHP DCD / PHP CPD, adoption de réels Coding Standards et contrôle avec PHP CS …)

Comment s’organise ton travail d’open source et de veille ?

Nous avons ouvert il y a quelques mois un espace GitHub consacré à WordPress : https://github.com/wp-globalis-tools, nous essayons d’y centraliser un maximum des développements pertinents effectués lors de projet en production, lorsque ceux-ci présentent un aspect générique et peuvent être réutilisés sur d’autres projets. Cet espace nous sert de codebase de référence, y compris pour les nouveaux développeurs que l’on intègre à l’équipe, et permet de versionner et de stabiliser les librairies de notre stack WordPress habituelle, pour que ces librairies soient accessibles depuis nos scripts d’automatisation.

Le fait de publier ce code sous licence libre, sur des dépôts publics, nous oblige à assurer une certaine qualité de code, car n’importe qui, y compris des concurrents ou des clients, peuvent le consulter. De fait, cela nous sert donc également de vitrine technique pour le pôle WordPress. Enfin le fait d’utiliser GitHub et un versionning collaboratif peut aussi permettre à d’autres développeurs de reprendre notre code, de nous remonter des bugs, de faire des pull-requests, et finalement, ça nous fait gagner en efficacité et en niveau technique.

Nous sommes également auteurs, avec Julien, d’un plugin publié il y a deux ans, multisite-clone-duplicator, qui atteint aujourd’hui 50.000 téléchargements sur wordpress.org. Ce projet, issu d’une application en production sur un réseau multisite pour un client grand compte des assurances, nous a permis d’acquérir une bonne expérience dans l’édition logicielle, de la conception à la production et la maintenance d’un code utilisé et réutilisé sur des centaines/milliers d’applications dans le monde. C’est aussi l’occasion de pousser dans les évènements techniques WordPress (WordCamp, WPTech ...) une réflexion sur les bonnes pratiques du développement multisite, et d’améliorer les algorithmes de search-replace en base de données WordPress.

C’est le sens que nous donnons au mot “veille”, bien que je préfère parler de recherche-développement, car la meilleure façon de se mettre à jour sur le plan technique me semble être de chercher à améliorer nos outils, nos librairies, notre stack technologique, et de ne pas se limiter à une approche “passive” de lecture d’articles.

Quels sont les principaux projets sur lesquels tu as travaillé ?

Page elephpant

Depuis que je suis arrivé dans l’entreprise en CDI, je crois que nous avons réalisé avec le pôle WordPress une quinzaine d’applications complètes. Pour des raisons de confidentialité, toutes ne peuvent pas être mentionnées ici, mais il y a quand même quelques belles réalisations techniques qui méritent d’être abordées :

  • Avec elephpant.com, le site officiel de vente des mascottes PHP en peluche, nous avons redécouvert le e-commerce, et nous avons mis au point un site woocommerce onepage entièrement en ajax, ce qui je crois, n’est pas courant. Ce fut l’occasion de se pencher sur les problématiques d’export automatique des commandes vers les transporteurs, de calcul des frais de livraison selon des grilles de coûts réels assez complexes, de calcul et gestion des frais de TVA, des passerelles de paiement sécurisé etc.
  • Dans la suite d’elephpant, de nombreux projets e-commerce ont suivi, notamment une application de vente d’e-learning avec modules vidéos de formation, et gestion de différents niveaux d’abonnements numériques, mais aussi une plateforme Youtube-like de partage de vidéos / réseau social. Ce fût l’occasion de pousser plus loin le concept de “middle-office” avec la création d’interfaces complètes de gestion de comptes utilisateurs, édition de profil etc, adaptés à des règles métiers spécifiques.
  • L’an dernier c’est www.globalis-ms.com que nous avons refondu, en creusant notamment les questions de performance, de sécurité, la gestion du SSL avec WordPress, et en mettant au point une utilisation raisonnée des page-builders et d’Advanced Custom Field.
  • Nous travaillons régulièrement avec le groupe JeuneAfrique, qui nous a confié une partie du chantier de monétarisation de leurs publications numériques : ce fût l’occasion de découvrir les contraintes de sites en production à très fortes volumétrie, et l’utilisation de WordPress comme moteur d’API commun à des applications clients de nature différentes.
  • Enfin un des chantiers engagés ces derniers mois est la reprise du site ifocop.fr, dont il a fallu remettre à plat une grosse partie du socle WordPress pour améliorer les performances et la stabilité de l’application, mais aussi apporter une gestion saine du serveur, des environnements et des déploiements, avec toujours en objectif les contraintes de référencement, très importantes sur le secteur concurrentiel de la formation professionnelle. Aujourd’hui le site est stabilisé, sécurisé et performant, et l’étape suivante est la refonte complète dans une nouvelle version, plus moderne aussi bien sur le design que sur le socle technologique.

Actuellement tu travailles sur le plateau chez GLOBALIS, aimerais-tu travailler en clientèle ?

Cela dépend des missions. Travailler en interne, sur le plateau a des avantages et des inconvénients : la possibilité de travailler avec une équipe sur un long terme est intéressante, avec tout l’aspect de recherche-développement pour améliorer notre stack technique, comme mentionné plus tôt, et on ne trouve pas forcément cet aspect en régie.

Mais travailler en clientèle permet aussi de découvrir assez rapidement beaucoup de choses, d’apprendre des techniques que l’on n’aborde pas toujours en interne, de faire l’expérience d’organisations d’entreprise totalement différentes et de rencontrer de nouvelles personnes. Ce qui manque le plus, je crois, dans les missions en régie, c’est de savoir qu’une fois l’application livrée, on revient en inter-contrat et ne la voit pas évoluer.

Où te vois tu dans les 5 prochaines années ?

Pour l’instant, je continue dans le web, et plus précisément sur PHP et WordPress. Mais c’est un secteur encore jeune qui évolue très vite, et je pense que personne ne peut dire précisément où l’on en sera dans 5 ans. Je pense que PHP a réussi à s’imposer comme une technologie souple et robuste à la fois, et que la large diffusion de socles applicatifs comme WordPress laissent présager un avenir encore riche. L’enjeu est réellement, je pense, d’arriver à professionnaliser les méthodes de développement et de programmation dans un milieu encore très artisanal, et c’est ce qui m’intéresse sur le plan technique.

D’un autre côté, il faut surveiller avec attention l’arrivée de Node.js, qui peut nous apporter beaucoup. Mais je crois pas qu’il faille tout miser dessus : il ne s’agit pas d’abandonner le PHP pour le JS et de changer toutes nos méthodes de travail, mais plutôt de remettre en question nos pratiques actuelles pour voir comment les enrichir avec Node, et trouver une complémentarité entre les deux écosystèmes.

Article précédent Article suivant