Notre méthode ne se résume pas à une plaquette : voici les fondamentaux que nous appliquons sur chaque mission.
Quand développer un module Drupal sur mesure
L'écosystème Drupal contrib est immense (50 000+ modules), et la première règle d'un bon développement Drupal est de ne pas réinventer la roue. Avant de développer un module custom, nous vérifions systématiquement: (1) Existe-t-il un module contrib actif (commits récents, mainteneurs actifs, releases régulières) qui couvre 80 %+ de votre besoin? Si oui, nous l'utilisons et contribuons les ajustements nécessaires. (2) Existe-t-il un module contrib qui couvre 50-80 % avec quelques manques? Nous l'utilisons en l'étendant via un module custom léger qui ajoute le manquant via des hooks ou des plugins. (3) Aucun contrib ne couvre votre besoin? Module custom intégral justifié. Cette discipline évite l'écueil classique du 'tout custom' qui crée de la dette technique inutile et complique les mises à jour. En 15+ ans de Drupal, sur 100 projets, nous développons typiquement 5-15 modules custom métier en moyenne par projet enterprise — le reste est de l'assemblage et configuration intelligente de modules contrib.
Notre méthode de développement module
Phase 1 - Spécifications fonctionnelles (3-5 j): atelier de cadrage avec votre métier, modélisation des entités Drupal (nodes, paragraphs, custom entities selon besoin), définition des parcours utilisateurs, règles métier (workflow, validation, calculs), permissions granulaires (rôles Drupal), intégrations API si nécessaires. Livrable: doc fonctionnelle validée. Phase 2 - Spécifications techniques (2-3 j): architecture du module (hooks invoqués, services injectés via DI), schéma BDD (custom entities, tables custom), API publique du module (hooks exposés, services réutilisables), gestion de la configuration (Config Management), gestion des migrations entre versions. Livrable: doc technique + chiffrage ferme. Phase 3 - Développement (2-8 sem. selon complexité): code conforme Drupal coding standards (validation PHPCS), Symfony 7 moderne (services, dependency injection, event subscribers), hooks Drupal modernes, tests PHPUnit unitaires et Kernel, code review interne avant chaque release. Sprints 2 sem. avec démos hebdo, environnement preview accessible. Phase 4 - Tests & recette (1 sem.): tests automatisés (PHPUnit unitaires, Kernel pour intégration Drupal, Functional pour parcours utilisateurs), recette fonctionnelle avec votre équipe métier, ajustements. Phase 5 - Déploiement & documentation: déploiement sur staging puis prod, brief équipe (1 h), documentation complète (README, INSTALL, hooks documentés). Garantie 6 mois post-livraison sur tout bug fonctionnel.
Exemples de modules custom que nous développons fréquemment
Intégrations API métier: connecteurs Drupal vers ERP, CRM, PIM, outils marketing, APIs partenaires. Souvent custom car les modules contrib génériques ne couvrent pas les spécificités des APIs propriétaires métier. Workflows éditoriaux complexes: workflows multi-acteurs avec validations en cascade, escalades, notifications, intégration avec des outils tiers (Slack, email transactionnel). Le module Workflow contrib couvre les cas standards, mais les workflows enterprise complexes demandent souvent un custom. Gouvernance utilisateurs avancée: SSO custom (SAML, OAuth2, Active Directory) si les modules contrib (Simple SAML, OAuth) ne suffisent pas. Gouvernance par rôles avec règles métier (par exemple: un utilisateur ne peut voir que les contenus de sa BU). Calculs métier spécifiques: moteurs de calcul (devis automatique, simulation, scoring) intégrés à Drupal avec API exposée pour intégration front. Generation de documents PDF/Word/Excel customisés depuis les données Drupal. Imports/exports massifs: modules d'import depuis fichiers complexes (Excel multi-onglets, CSV avec règles de mapping, XML/JSON), modules d'export vers formats spécifiques (RSS custom, syndication, API consumers).