Aller au contenu principal
Développeur Drupal

 

J'ai commencé mon parcours avec Drupal il y a plus de 16 ans, avec la version 5. Conquis dès le départ, je travaille depuis sans interruption avec Drupal, plus récemment sur des migrations de la version 10 vers la version 11.

Ma spécialité est le développement et la maintenance de modules personnalisés côté back-end. Mes projets les plus récents ont porté sur des intégrations avec des entreprises et des systèmes externes, notamment Bloomberg, AlphaSense, FactSet, PowerBI, ainsi que Salesforce et Agentforce Marketing.

L'ensemble de mon travail respecte les bonnes pratiques et les normes PHP les plus récentes, et s'appuie sur tous les outils et technologies disponibles, comme l'IA, afin de garantir la plus haute qualité tout en améliorant mon efficacité et ma productivité.
Drupal ne convient peut-être pas à tous les projets, mais si vous décidez qu'il est fait pour vous, laissez-moi vous montrer comment je peux vous aider.

 

Compétences techniques

Core engineering

Ingénierie fondamentale

  • PHP moderne
    Conception orientée objet, typage, attributs, espaces de noms et Composer. Drupal 12 exigera PHP 8.5 : il est donc important de rester à jour avec le langage.
  • SQL et bases de données
    MySQL/MariaDB et PostgreSQL, performance des requêtes, et les API Database et Entity Query de Drupal.
  • Fondamentaux de Symfony
    Le conteneur de services, les événements et leurs abonnés (subscribers), le routage, HttpKernel, DependencyInjection, Yaml, le Serializer et les Validators. C'est la maîtrise de ces éléments qui distingue un développeur Drupal d'un simple configurateur de sites.
Drupal architecture

Architecture Drupal

  • API Entity et Field
    Les API Entity et Field, la modélisation de contenu et Typed Data.
  • Le système de plugins
    Le système de plugins, notamment les blocs, les formateurs et widgets de champs, et désormais les attributs PHP à la place des annotations.
  • Gestion de la configuration
    Export, déploiement et synchronisation de la configuration entre environnements, ainsi que Config Split pour les paramètres propres à chaque environnement.
  • Services, abonnés aux événements et hooks
    Services, abonnés aux événements et hooks, et savoir quand utiliser chacun d'eux. Le cœur de Drupal migre d'ailleurs progressivement des hooks vers des classes orientées objet.
  • Le système de rendu et le cache
    Le système de rendu et le cache : cache tags, contextes et max-age, BigPipe et Dynamic Page Cache. Une mauvaise gestion du cache est la cause la plus fréquente de sites Drupal lents ou affichant du contenu obsolète.
  • Migrations
    Migrations avec l'API Migrate. Une compétence toujours recherchée, maintenant que Drupal 7 est en fin de vie et que les sites Drupal 10 doivent évoluer.
  • Recipes et Drupal CMS
    Les Recipes et Drupal CMS, les nouvelles façons de packager et de démarrer des sites.
Tooling and Dev-Ops

Outillage et DevOps

  • Pipelines CI/CD
    … par exemple GitLab CI, que Drupal.org a lui-même adopté.
  • DDEV, WSL, Docker, Visual Studio Code
    Environnements locaux comme DDEV, souvent avec Docker en arrière-plan. Expérience de nombreux IDE, avec une spécialisation récente sur VS Code.
  • Drush, Composer et Git
    … y compris la gestion des dépendances et des patchs.
  • Plateformes d'hébergement
    Plateformes telles qu'AWS, Google Cloud ou Platform.sh, ainsi que cron, les files d'attente (queues) et les workflows de déploiement.
  • Tests
    PHPUnit (tests unitaires, kernel et fonctionnels), PHPStan pour l'analyse statique, et les standards de code Drupal via PHPCS et TWIGCS.
Personal and Professional

Compétences personnelles et professionnelles

  • Communication
    Expliquer les compromis techniques à des clients et parties prenantes non techniques, et rédiger une documentation et des tickets clairs.
  • Analyse des besoins
    Traduire les besoins métier en modèles de contenu et en architecture de site pertinents. C'est souvent là que se joue la réussite ou l'échec d'un projet Drupal.
  • Le sens de « la méthode Drupal »
    Savoir quand utiliser un module contrib existant, quand configurer et quand écrire du code sur mesure, sans sur-ingénierie.
  • Travail d'équipe et revue de code
    Travailler au sein d'équipes Agile, donner et recevoir des retours constructifs.
  • Résolution de problèmes et débogage
    Remonter à l'origine des problèmes à travers les couches de cache, les hooks et la configuration.
  • Apprentissage continu
    Drupal évolue considérablement à chaque version majeure : il est donc essentiel de suivre les notes de version et l'actualité de la communauté.
  • Engagement communautaire
    Contribuer des patchs, des modules ou de la documentation, et participer aux DrupalCamps ou à la DrupalCon.
  • Gestion du temps et estimation
    Outillées et intégrées au processus CI/CD. C'est particulièrement important en agence, avec plusieurs clients.
Security and Performance

Sécurité et performance

  • Pratiques de sécurité de Drupal
    Contrôle d'accès, assainissement des sorties, éviter le SQL brut (tout en l'utilisant lorsqu'il est sûr et performant), et suivi des avis de sécurité.
  • Performance
    Profilage des performances, couches de cache comme Redis ou Varnish, CDN, et fonctionnalités de cache de Drupal et Symfony.
Front-end

Front-end

  • Accessibilité (WCAG)
    L'accessibilité (WCAG), de plus en plus une obligation légale en plus d'une bonne pratique, en particulier dans le secteur public.
  • CSS, HTML, JS, HTMX
    CSS moderne, HTML et JavaScript accessibles ; je commence également à explorer HTMX, désormais disponible dans le cœur pour une interactivité plus légère.
  • Projets headless ou découplés
    Pour les projets headless ou découplés : JSON:API, REST et GraphQL, et connaissance de frameworks JS comme Angular, React ou Next.js.
  • Theming Twig et Single Directory Components (SDC)
    Theming Twig et Single Directory Components (SDC), désormais centraux puisque Canvas construit les pages à partir de composants SDC.
Upgrades and AI

Mises à niveau et IA

  • Compétences en mise à niveau
    Outils comme Upgrade Status et Drupal Rector, et gestion des dépréciations. Particulièrement précieux aujourd'hui avec l'échéance du passage de Drupal 10 à 11/12.
  • Maîtrise de l'IA
    Les modules IA de Drupal pour l'intégration avec des MCP, la génération de contenu, la recherche et l'automatisation, et l'utilisation responsable des assistants de code IA.

Parcours

  1. 2024
    Développeur Drupal
  2. 2023
    Développeur web senior
  3. 2021
    Développeur web senior
  4. 2020
    Développeur / Chef de projet technique
  5. 2017
    Développeur web senior
  6. 2016
    Développeur web
  7. 2015
    Développeur web
  8. 2011
    Développeur / Chef de projet technique
  9. 2010
    Responsable développement/tests
  10. 2006
    Responsable QA/tests
  11. 2005
    Architecte principal
  12. 2003
    Développeur web
  13. 2003
    Développeur web
  14. 2000
    Responsable développement/tests
  15. 1999
    QA/Testeur/Chef d’équipe
  16. 1999
    Formateur QA/tests
  17. 1998
    Analyste de tests
  18. 1997
    Responsable développement/tests
  19. 1997
    Analyste métier
  20. 1997
    Analyste de tests
  21. 1993
    Consultant en stratégie de test / Analyste-programmeur
  22. 1992
    Analyste-programmeur
  23. 1990
    Analyste-programmeur
  24. 1988
    Analyste-programmeur