Détails du programme

  • 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.

  • 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().

  • 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).

  • 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.

  • 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.

  • Gestion des blocs avec Drupal.
  • Introduction aux types de bloc.
  • Créer un bloc avec le Block Plugin (attribut PHP #[Block]).

  • 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.

  • 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.

  • 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().

  • 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.

  • 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.

  • 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.

  • 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.

Inchangé : la ligne « Certification Trained People » avec son code CPF — à confirmer de votre côté que le code 235834 est toujours valide.

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.

S'inscrire en INTER Drupal Développement Back-end

Paris

Paris - du au

L’avis des stagiaires

Note moyenne sur 138 avis clients :
4.7/5
5 étoiles
104
4 étoiles
31
3 étoiles
3
2 étoiles
0
1 étoile
0
Sylvain
Pas d'autres envies ni disponibilités pour le moment, mais l'éventualité n'est pas écartée
13 Mai 2020

Qualité et certifications       Qualiopi     Datadock