Introduction
- Présentation de Drupal (node, taxonomie...).
- Présentation, installation des outils de développement.
- Installation de Drupal.
- Les outils du développeur : firebug, module "devel".
- Les concepts objet (classes, interfaces, injection de dépendance, PSR-4...).
Travaux pratiques
Installation de Drupal et de WAMP ou de DDEV.
Création d'un module
- Les fichiers nécessaires.
- Structures des fichiers (autoloading).
- PSR-0 et PSR-4.
- Container, services et injection de dépendance.
Travaux pratiques
Installer et créer des modules.
Le système de routing
- La gestion du routing.
- Faire correspondre une URL à une page.
- Usage des méthodes create() et __construct().
- Créer des URL dynamiques.
- Ajout de liens de menu, contextuels, d'action et d'onglet.
Travaux pratiques
Afficher une page avec arguments.
Le système de bloc
- Gestion des blocs avec Drupal version courante.
- Introduction aux types de blocs.
- Comment créer un bloc avec bloc plug-in ?
Travaux pratiques
paramétrer le cache d’un bloc.
Le système de cache
- Les modules de cache de Drupal.
- Les contextes, tags et max-age.
- Ajouter les métadonnées de cache à un affichage.
Travaux pratiques
Paramétrer le cache d’un bloc.
Les users
- Qu'est-ce qu'un nœud ? Créer un "node module".
- Manipuler les nœuds par programmation.
- Intercepter les actions effectuées sur les users.
- Ajout d'onglet sur chaque page de user.
Travaux pratiques
Créer un historique de mise à jour.
Les formulaires
- Créer des formulaires par programmation (form API).
- Gérer la validation et la soumission d'un formulaire.
- Formulaires AJAX.
- Changer la présentation d'un formulaire.
- Modifier un formulaire Drupal sans toucher à son code source (hook_form_alter).
Travaux pratiques
Créer un formulaire.
Config API
- Configuration management : fichiers YAML, import/export.
- Créer un formulaire dans le back-office de Drupal.
- Ajouter sa propre configuration : l'objet Config.
- Traduction de configuration.
Travaux pratiques
mettre en place un formulaire de configuration.
Sécurité
- Protéger l'accès à un bloc.
- Protéger l'accès à une page.
- Créer son propre système de contrôle d'accès.
Travaux pratiques
Mettre en place un contrôle d’accès.
Template Twig
- Système de theming.
- Déclaration d’un template.
- Passage de variables à un template.
Travaux pratiques
Mettre en place un nouveau type de rendu en utilisant un template.