En décembre 2019, après une carrière dans le journalisme, j'ai décidé de devenir développeur web. Quelques mois plus tard, j’étais devenu un développeur web très junior, avec sept mois d'expérience. J’avais des connaissances de base en PHP, Symfony, CSS, HTML et Git. Point final.

À ma grande surprise, j'ai été recruté par une entreprise qui recherchait des gens comme moi : avec peu d'expérience en développement web, mais une solide expérience dans un autre domaine. Ils cherchaient un développeur Drupal et m'ont dit que ce serait moi. C'est comme ça que je suis devenu un développeur Drupal très junior, un peu malgré moi.

Mes débuts ont été difficiles. Ma première tâche consistait à écrire un module custom pour gérer des traductions en 25 langues provenant d'un serveur distant et les intégrer aux bons sites Drupal. Il m'a fallu trois mois pour accomplir cette tâche. Aujourd'hui, je pourrais probablement le faire en trois jours.

Ce qui suit est ce que j'aurais aimé savoir à l'époque, quand j’ai commencé avec Drupal.

Remote video URL
Vous préférez regarder une vidéo ? Découvrez ma présentation complète « Ce que j’aurais aimé savoir sur Drupal » donnée à DrupalCamp New Jersey. (Vidéo en anglais).

 

Continuez à lire, ou passez directement aux différentes sections: 

1. Apprendre les bases

Cela peut sembler évident, mais avoir une compréhension globale de ce qu'est Drupal et de son fonctionnement vous fera gagner beaucoup de temps. Drupal possède sa propre infrastructure et ses propres façons de faire. Mon premier conseil est donc d’investir dans une formation.

Ce genre de formations sont offertes par plusieurs organisations, y compris Evolving Web. Nous avons un vaste catalogue pour les développeurs et les éditeurs de contenu, alors n'hésitez pas à nous contacter !

Voici d'autres ressources qui peuvent être utiles :

En plus de la documentation officielle que vous trouverez sur drupal.org, I je trouve que ¨Drupal at your fingertips¨est la meilleure ressource écrite disponible. Le site regorge d'exemples pratiques, détaillés, que vous pouvez réutiliser dans votre propre travail.

2. Faites de Drush votre nouveau meilleur ami

Drush est l'outil en ligne de commande qui vous permet d'interagir avec votre site web et sa base de données.

En plus de la commande que vous utiliserez le plus, drush cr (pour vider le cache), Drush vous aidera également à synchroniser et mettre à jour votre base de données, gérer vos modules, exécuter des scripts personnalisés et générer une multitude de code standardisé.

Cette dernière commande (drush generate) est particulièrement précieuse car elle crée du code pour des éléments comme des modules, des formulaires, des contrôleurs et des services en suivant les meilleures pratiques de Drupal. Comme Drupal a ses propres façons de faire, tout connaître prend du temps. Heureusement, Drush peut vous aider à générer ce dont vous avez besoin, et de la bonne manière. Vous devez créer un module custom ? Vous pouvez le faire avec Drush. Un contrôleur ? Vous pouvez le faire avec Drush. Un formulaire ? Un plugin ? Un champ ? Un hook ? Une entité ? Un fichier JS ? Un SDC ? Un service ? Drush peut faire tout cela, de la bonne manière, et vous faire gagner beaucoup de temps.

3.Utilisez DDEV pour vous concentrer uniquement sur Drupal
 

DDEV est un outil open source qui gère les conteneurs Docker de votre projet. C’est pour moi, et pour la grande majorité des développeurs que je connais, le meilleur outil disponible pour cela. Et c'est l'outil de développement officiel de Drupal, donc l'utiliser est une excellente idée.

Si vous voulez tester quelque chose dans Drupal, vous pouvez créer un nouvel environnement stable en quelques minutes avec DDEV. Il facilite la configuration et vous permet de vous concentrer sur le code. Et si vous devez travailler sur plusieurs projets en même temps, ce qui est souvent le cas si vous travaillez dans une agence web, DDEV vous aidera à passer sans accrocs d'un environnement à un autre.

Point bonus : ce n'est pas seulement réservé à Drupal. DDEV prend également en charge WordPress, Laravel, Symfony, Magento, Node.js, et bien d'autres.

4. Utilisez le module Examples for Developers

Le module Examples for Developers est conçu pour vous aider à apprendre à créer vos propres modules Drupal. Il contient 33 sous-modules avec des exemples concrets sur la manière de modifier le comportement du cœur de Drupal, de la bonne manière. Si vous voulez en savoir plus sur la gestion des événements, du cache, des entités, etc., c'est un incontournable. La documentation est bonne et couvre de nombreux sujets en ce qui concerne les API du cœur.

D'autres modules, tels que Webform et Entity Browser, contiennent également des sous-modules d'exemples. Donc, avant de commencer à chercher une solution pour modifier le comportement d'un module, vérifiez s'il y a un module d'exemples inclus. Peut-être que le travail a déjà été fait pour vous !
 

5. Devel, le débogage facile

Devel est un module très utile qui fournit une multitude d'informations sur votre site Drupal, y compris des détails sur la requête en cours, les requêtes de base de données, et plus encore. Il fournit également des dumps de variables propres et lisibles pour aider au débogage. Mais ce n'est pas tout : Devel a une excellente fonctionnalité appelée "devel generate" qui vous permet de créer rapidement du contenu factice sur votre site web. C'est incroyablement utile lorsque vous avez besoin de contenu rapidement pour tester le code que vous venez d'écrire !

6. Rejoignez la communauté

L'aspect communautaire de Drupal est essentiel. C'est la communauté qui a construit Drupal, et c’est elle qui le maintient et le fait évoluer. Commencez par créer un profil sur drupal.org. Cela vous mettra sur la carte et sera utile si vous voulez signaler des bugs, ou plus tard aider à les corriger.

Plus important encore, Drupal dispose de nombreux modules contrib (contribués par la communauté) que vous pouvez (et devez) utiliser. Vous pouvez tout faire sur Drupal en écrivant du code custom, mais cela ne signifie pas que vous devez le faire. Lorsque vous voulez ajouter une nouvelle fonctionnalité à votre site Drupal, vérifiez d'abord s'il existe un module contrib pour ça. La plupart du temps, il y en a un, et en utilisant ce module, vous gagnerez beaucoup de temps, ce qui vous servira à vous concentrer sur les besoins très spécifiques que vous avez et qui ne sont pas couverts par la communauté. C'est aussi une bonne chose sur le long terme puisque vous n’aurez pas à maintenir du code que vous n'avez pas écrit.

Comment se joindre à la communauté :

  • Drupal Slack – Discutez avec des développeurs expérimentés.
  • Drupal.org Forums – Obtenez des réponses à vos questions et contribuez à votre tour.
  • Contrib Modules – Avant d’écrire du code personnalisé, vérifiez s’il existe déjà un module qui répond à votre besoin.
  • Events –  Rien ne vaut le réseautage en personne, alors participez au DrupalCon, aux DrupalCamps ou à EvolveDrupal.

7. Bien sûr, l’IA

Drupal existe depuis longtemps, et les outils d’intelligence artificielle en savent beaucoup à son sujet. Des outils comme ChatGPT, Claude ou Mistral AI peuvent rapidement répondre à des questions sur les bonnes pratiques Drupal ou générer du code de base. Ces outils ne sont pas parfaits, mais ils sont vraiment utiles — je les utilise tous les jours.

Petit avertissement : n’envoyez jamais de code écrit par vous ou vos collègues à une IA, sauf si vous utilisez un modèle hébergé localement, sans accès à Internet. Protégez votre travail.

8. Avoir un bon IDE n’est pas optionnel

J’essaie autant que possible d’utiliser des logiciels open source, mais je fais une exception pour PhpStorm. C’est un excellent éditeur de code pour PHP — et pour Drupal en particulier. Son intégration de Drupal vous facilite vraiment la vie : suggestions de code, respect des standards de codage, etc.

Vous pouvez aussi reproduire un environnement similaire avec VS Code et quelques plugins, mais ça demande plus de configuration.

9. Xdebug pour arrêter le temps

Xdebug est de loin le meilleur outil de débogage que j’utilise. Des modules comme Devel sont utiles pour afficher rapidement des variables, mais rien n’égale la puissance de Xdebug quand il faut creuser en profondeur.

En l’activant, vous pouvez poser des points d’arrêt dans votre code et arrêter son exécution à un moment précis. Vous pouvez alors inspecter tout ce que Drupal contient à ce moment-là (attention : vous pouvez vite vous perdre, parce que Drupal contient beaucoup de choses !).

C’est la meilleure façon de comprendre comment Drupal fonctionne en coulisse et comment vous pouvez en prendre le contrôle. J’utilise Xdebug tous les jours pour inspecter mes variables, voir ce que j’envoie aux templates, vérifier le statut du cache d’un objet… Et comme il est entièrement intégré à DDEV, vous n’aurez même pas à vous casser la tête pour l’activer.
Cerise sur le sundae : dans PhpStorm, vous pouvez modifier les valeurs des variables en direct pour tester vos idées avant même d’écrire le code. Ça vous fera économiser énormément de temps.

Apprendre. Construire. Recommencer.

Bon, cette liste est déjà assez longue. J’espère qu’elle vous aidera dans votre parcours Drupal ! Gardez en tête que développer avec Drupal, ça peut être vraiment le fun — et vous allez y arriver. Il existe d’excellents outils pour vous aider à progresser, alors n’hésitez pas à les utiliser !

Prêt·e à passer au niveau supérieur avec Drupal ?

Si vous êtes sérieux·se à propos de votre apprentissage, investir dans une formation structurée peut vous faire gagner des mois de frustration.

Chez Evolving Web, on propose des formations Drupal adaptées à tous les niveaux — que vous soyez débutant ou développeur expérimenté.

En tant que formateur Drupal, je l’ai vu de mes propres yeux : avec les bons conseils, la frustration peut rapidement se transformer en confiance. N’hésitez pas à nous écrire pour voir comment on peut vous aider.


Découvrez nos formations