Que fait un développeur drupal ?
Un développeur Drupal conçoit et réalise un site
Un développeur Drupal crée des sites internet ou des applications web en Drupal et en assure la maintenance.
Dans Drupal, il construit (build) le site via les modules du cœur et les modules de contribution de Drupal.
Il code les modules nécessaires en langage PHP et intègre la charte graphique et les maquettes dans les thèmes.
En fonction de l'organisation de la société, il peut également intervenir sur le déploiement du site.

Concevoir la partie technique du site
La conception technique définit les modules qui permettent de répondre au cahier des charges et aux spécifications écrites par le chef de projet. Cette étape nécessite l'analyser les modules de contribution qui répondent le mieux aux spécifications, et permet de préparer les modules personnalisés à créer pour répondre aux fonctionnalités non couvertes par les modules de contribution.
La conception technique du thème s'inscrit également dans cette étape. Drupal offre aujourd’hui plusieurs pratiques : standard ou single content directory. La pratique standard est la pratique native de Drupal. La pratique du « single content directory » permet d’individualiser les ressources par composant (bouton type, carte produit, pagination, par exemple) afin de les mutualiser et apporter une flexibilité au thème.
La conception technique se fait en échange constant avec le chef de projet afin que chacun maîtrise le suivi du projet et l’adéquation de la conception avec la demande.
Pour un site internet vitrine, des modules de contribution sont systématiquement installés : par exemple « metatag » pour le SEO technique, « pathauto » pour la gestion des urls, « redirect » pour une gestion automatique des redirections.

Construire le site (build)
Après la conception, la construction (build) du site est le passage à l’action pour le développeur Drupal : installation du projet Drupal, activation et configuration des modules définis lors de la conception technique. Cette partie peut être considérée comme une étape « low code » car tous les modules de contribution sont prêts à l’emploi. Le rôle du développeur Drupal est de les importer dans le projet, les activer et les configurer, puis tester leur adaptation au projet. Lors du build, la taxonomie (catégories d’informations), les rôles et permissions des utilisateurs sont également configurés.
L’étape de construction se passe en partie dans le back-office de Drupal, en partie en lignes de commandes, grâce à l’outil Composer. Dans le meilleur des cas les services permettant de faire fonctionner le site internet sont gérés dans des containers grâce à Docker ou DDEV. Ces outils rendent le projet transmissible à l’équipe de développement.

Intégrer la charte graphique
Lorsque les deux parties front (visuel) et back (calculs) sont en Drupal, le développeur intègre la charte graphique et les maquettes en créant un thème. Le thème porte le code HTML, les CSS et javascript qui présentent le site selon la charte graphique et les maquettes.
Dans le thème, le développeur mutualise l’aspect visuel des pages, des blocs, les entêtes et pieds de pages. Si les modules de contributions ne suffisent pas à gérer les animations nécessaires, c’est le thème qui les porte en général.
Lorsque le site Drupal est headless le « front » est réalisé dans un framework basé sur Javascript (React, Vue JS par exemple). Cette compétence est différente de PHP. Il est possible que l’intégration graphique soit alors dédiée à un autre développeur selon les délais de réalisation à respecter.

Coder les modules personnalisés
Lorsque les modules de contribution ne suffisent pas à gérer les fonctionnalités du site, le développeur crée des modules personnalisés complémentaires ou distincts, en PHP, en s’appuyant sur les bonnes pratiques de développement Drupal. Cette solution permet d'affiner la personnalisation du site. Elle fait appel à des compétences de programmation en langage PHP, javascript, HTML en tenant compte des bonnes pratique Drupal.
Pour assurer la qualité de maintenance et la sécurité du site, le choix de créer des modules personnalisés doit être un choix de dernier recours. Le principe du CMS étant de fournir un maximum d’outils de contribution afin d’assurer la sécurité et la performance du projet..

Déployer
Dans la majorité des cas, l’infrastructure du projet est organisée par l’équipe DevOpS (Development Operating system). Elle fournit les pipelines de déploiement au développeur. Celui-ci est utilisateur de l’infrastructure et peut déployer vers les différents environnements, dont la production.

Maintenir le site internet
Le site est en production, son cycle de vie démarre. Le développeur assure la maintenance, les développements des évolutions et les déploiements.
La maintenance du site inclut les mises à jour de sécurité, les corrections d'anomalies, la gestion des défaillance de site ou de pages.
Pour plus de détail concernant la maintenance de site internet, vous pouvez vous remporter à la page "Maintenance et assistance de votre site Drupal".

Participer à la contribution Drupal
Exploiter un CMS open source c'est bien, participer à la vie du code, c'est encore mieux. Toute personne exploitant Drupal peut participer à la contribution sur drupal.org:
- Traduction des modules
- Reporter des anomalies: elles sont classées par module de contribution et pour le coeur.
- Résoudre des anomalies
- Proposer de nouveaux modules
- Documenter les modules de contribution
Guide du contributeur: https://www.drupal.org/community/contributor-guide
Aller plus loin
Dans l’idéal, même si le cœur de métier est le développement du site web, le développeur Drupal élargit ses compétences en tenant compte de la sécurité, des outils de déploiement, le SEO (System Engine Optimization).
Demande de contact

