Aller au contenu principal
  • Drupal

Drupal Développement Back-end

Apprenez à créer vos propres modules (fonctionnalités) pour Drupal.

1 500 € HT / participant

soit 500 € HT / jour

  • Durée

    3 jours

  • Niveau

    Intermédiaire

  • Lieu

    Paris

Illustration géométrique de modules connectés — formation Drupal Développement Back-end

Programme détaillé

Télécharger le PDF complet
Introduction
  • Présentation rapide de Drupal et de son jargon (node, taxonomie...).
  • Installation de l'environnement de développement : DDEV (recommandé) ou XAMPP, Composer, module Devel.
  • Rappel rapide de PHP objet : classes, interfaces, attributs PHP, PSR-4 (voir prérequis ci-dessous).
  • Nouveauté Drupal 11.4 : le profil Standard ne fournit plus de contenu de démonstration (types Article, Basic page) — on les recrée soi-même en début de formation.
Création d'un module
  • Les fichiers nécessaires, structure et autoloading PSR-4.
  • Concepts hérités de Symfony : container de services et injection de dépendance.
  • Autowiring (depuis Drupal 10.2) : simplifier l'injection de dépendance sans écrire de méthode create().
Le système de plugins
  • Qu'est-ce qu'un plugin ?
  • Mécanisme de découverte : fichier YAML, attributs PHP (ex. #[Block], qui remplace les annotations, dépréciées depuis Drupal 11.2).
  • Exemple de plugin et implémentation (un bloc).
Le système de routing
  • Comment Drupal gère le routing, faire correspondre une URL à un contrôleur.
  • Injection de services dans un contrôleur : les méthodes create()/__construct(), et l'autowiring comme alternative moderne.
  • Créer des URLs dynamiques (route avec paramètre).
  • Ajout de liens de menu, de liens contextuels, de liens d'action et de tâche.
La gestion du cache
  • Comment Drupal gère le cache : interne, statique, rendu...
  • Cache API : keys, contexts, tags et max-age.
  • Les différents modules de cache : Internal Page Cache, Dynamic Page Cache et BigPipe.
  • Qu'est-ce que l'auto-placeholdering et comment éviter la mise en cache d'un affichage trop variable.
Le système de bloc
  • Gestion des blocs avec Drupal.
  • Introduction aux types de bloc.
  • Créer un bloc avec le Block Plugin (attribut PHP #[Block]).
La base de données
  • Comprendre la couche d'abstraction de base de données de Drupal.
  • Prendre en main l'Entity API : gestion des entités de contenu et de configuration (entity_type.manager), requêtes conditionnelles et paginées (getQuery(), pager()).
  • Se connecter à la base et effectuer des requêtes simples avec la Database API.
  • Enregistrer ses propres données en base avec la Schema API : fichier d'installation.
Les utilisateurs (exemple d'entité de contenu)
  • Qu'est-ce qu'un utilisateur ? Comment le manipuler programmatiquement.
  • Intercepter les actions effectuées sur les utilisateurs avec des hooks orientés objet (attribut #[Hook], classes dédiées) — la forme procédurale hook_entity_XXX() reste supportée pour la compatibilité avec le code existant.
  • Ajout automatique d'un onglet sur chaque page de compte utilisateur.
Le système de templating
  • Principes de la couche de thème : séparation fonctionnel / présentation.
  • Syntaxe Twig (les bases) et Render Arrays.
  • Déclarer son propre formatage HTML sous forme de template avec hook_theme().
Les formulaires
  • Créer ses propres formulaires programmatiquement avec la Form API.
  • Gérer la validation et la soumission d'un formulaire.
  • Formulaires avec AJAX (ajouter une validation en AJAX).
  • Changer la présentation d'un formulaire.
La gestion de la configuration
  • Principe du système de configuration : configuration en base, fichiers YAML, import/export et synchronisation.
  • Créer un formulaire dans le back-office de Drupal pour mettre à jour une configuration.
  • Ajouter sa propre configuration : manipulation de l'objet Config.
  • Traduction de configuration.
  • Utiliser la State API.
La sécurité
  • Comprendre le système de contrôle d'accès de Drupal.
  • Protéger l'accès à un bloc, à une page (route).
  • Créer son propre service de contrôle d'accès, tagué et générique (réutilisable sur n'importe quelle route) : exemple d'un contrôle basé sur l'ancienneté d'un compte.
Modifier l'existant
  • Pourquoi modifier l'existant ?
  • Quels sont les outils à notre disposition ?
  • Comment modifier une route ? Comment modifier un formulaire ?

Objectifs

Apprenez à créer vos propres modules (fonctionnalités) pour Drupal. Drupal 11 continue de simplifier l'écriture de code métier (autowiring, hooks orientés objet, attributs PHP). Reposant en partie sur Symfony, la programmation objet est de mise. Découvrez par la pratique comment en tirer parti afin de concevoir efficacement ses développements sous Drupal.

ATTENTION : cette formation suppose que vous connaissiez déjà les bases de Drupal en tant que webmaster.

Objectifs opérationnels

  1. Être capable d'ajouter n'importe quelle fonctionnalité à un site sous Drupal.
  2. Comprendre les fondements d'un module.
  3. Anticiper les temps de développement back-end.

Objectifs de la formation

  1. Créer son propre module qui sera capable d'interagir avec Drupal.
  2. Utiliser Drupal comme un framework pour accélérer ses développements maison, en s'appuyant sur ses APIs.
  3. Comprendre le fonctionnement global de Drupal et du container (Symfony), autowiring compris.
  4. Adapter le fonctionnement du cœur de Drupal ou de modules communautaires sans toucher à leur code source.
  5. Validation d'une certification Drupal (droit au passage de la certification valable 1 an à compter de la date de fin de formation).

Public concerné

  1. Développeurs Web souhaitant exploiter Drupal comme un framework de développement et pas uniquement comme un CMS.
  2. Développeurs Drupal souhaitant se mettre à niveau sur la dernière version.

Pré-requis

  1. Connaître le PHP Objet (indispensable).
  2. Connaître HTML et CSS (fortement recommandé).
  3. Connaître Drupal en tant que webmaster.

Votre formateur

Romain Jarraud

Romain Jarraud

Romain est Expert Technique chez Dropteam, l'entité du groupe AODB spécialisée dans Drupal. Développeur, consultant et formateur, il travaille avec Drupal depuis de nombreuses années et intervient aussi bien sur son utilisation que sur des sujets techniques avancés.

Son histoire avec Drupal ne date pas d'hier : Romain partage son expérience dans la communauté depuis les premières générations du CMS, avec des contenus sur Drupal 7 puis des conférences et formations consacrées à Drupal 8, au theming, au développement et au déploiement.

En formation, Romain apporte cette connaissance construite sur des années de pratique. On ne se contente pas de parcourir les fonctionnalités du CMS : on manipule Drupal, on comprend sa logique et on apprend les méthodes qui permettent de travailler proprement sur un véritable projet. Les questions techniques sont les bienvenues : c'est souvent en ouvrant le capot que les choses deviennent vraiment intéressantes.

Les prochaines formations sur le sujet

Pierre Ammeloot

Des questions ?

Appelez Pierre Ammeloot au 06 02 12 06 33

Toutes les formations peuvent être prise en charge par votre OPCO

Besoin d'une formation dans vos locaux ?

Nous concevons des sessions intra adaptées à vos enjeux et à votre organisation.

Plus de 200 entreprises et des centaines de participants font confiance à Trained People

  • Trained People
  • Trained People
  • Trained People
  • Trained People

Formation inter-entreprises

Rejoignez une session ouverte avec des participants dautres entreprises, aux dates fixées dans notre calendrier.