Formation Drupal 8/9 Développement Back-end
- Référence : OPS009B
- Durée : 21 heures
- Certification : Non
- Eligible CPF : Non
CONNAISSANCES PREALABLES
- Connaître le PHP Objet, HTML et CSS et Drupal en tant que Webmaster
PROFIL DES STAGIAIRES
- Développeurs Web souhaitant exploiter Drupal comme un framework de développement et pas uniquement comme un CMS et développeurs Drupal 7 souhaitant se mettre à niveau sur la dernière version 8
OBJECTIFS
- Créer son propre module qui sera capable d'interagir avec Drupal 8
- Utiliser Drupal comme un framework pour accélérer ses développements maison, en s'appuyant sur ses APIs
- Comprendre le fonctionnement global de Drupal 8 et le container (Symfony)
- Adapter le fonctionnement du coeur de Drupal 8 ou de modules communautaires sans toucher à leur code source
- Validation d’une certification Drupal 8
METHODES PEDAGOGIQUES
- 6 à 12 personnes maximum par cours, 1 poste de travail par stagiaire
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
METHODES D'EVALUATION DES ACQUIS
- Auto-évaluation des acquis par le stagiaire via un questionnaire
- Attestation de fin de stage adressée avec la facture
FORMATEUR
Consultant-Formateur expert Développement Internet
CONTENU DU COURS Développement Internet
1 - Introduction
- Présentation et installation des outils de développement (XAMPP)
- Présentation rapide de Drupal et de son jargon (node, taxonomie…)
- PHP objet : les concepts de base (classes, interfaces, injection de dépendance, PSR4, annotations…)
- Téléchargement et installation de Drupal
- Installation des outils du développeur : Module Devel, Composer
2 - Création d'un module
- Les fichiers nécessaires
- Structures des fichiers et autoloading
- PSR-0 et PSR-4
- Concepts hérités de Symfony : container, services et injection de dépendance
3 - Le système de plugins
- Qu’est-ce qu’un plugin ?
- Mécanisme de découverte (fichier YAML, annotations PHP)
- Exemple de plugin et implémentation
4 - Le système de routing
- 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
- Injection de services : utilisation des méthodes create() et __construct()
- Comment faire correspondre une URL à un contrôleur
- Comment Drupal gère le routing
5 - La gestion de cache
- Comment Drupal gère le cache
- Les différents types de cache : interne, statique, rendu…
- Cache API : keys, contexts, tags et max-age
- Les différents modules de cache : Internal Page Cache, Internal Dynamic Page Cache et Big Pipe
- Qu’est-ce que l’auto-placeholdering et comment créer des lazy builders
6 - Le système de bloc
- Gestion des blocs avec Drupal
- Introduction aux types de bloc
- Comment créer un bloc avec le Block Plugin
7 - La base de données
- Enregistrer ses propres données en base avec la Schema API : fichier d’installation
- Se connecter à la base et effectuer des requêtes simples avec la Database API
- Comprendre la couche d’abstraction de base de données de Drupal
- Prendre en main Entity API : gestion des entités de contenu et de configuration (EntityTypeManager() et EntityQuery())
8 - Les utilisateurs
- Qu’est-ce qu’un utilisateur ?
- Comment manipuler les utilisateurs programmatiquement
- Intercepter les actions effectuées sur les utilisateurs avec les hook_entity_XXX()
- Ajout automatique d’onglet sur chaque page de compte utilisateur
9 - Le système de templating
- Principes de la couche de thème : séparation fonctionnelle/présentation
- Syntaxe TWIG (Les bases)
- Que sont les Render Arrays et quel est leur intérêt ?
- Déclarer son propre formatage HTML sous forme de template avec le hook_theme()
10 - Les formulaires
- Changer la présentation d’un formulaire
- Formulaires avec AJAX (ajouter une validation en AJAX)
- Gérer la validation et la soumission d’un formulaire
- Créer ses propres formulaires programmatiquement avec la Form API
11 - 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 State API
12 - La sécurité
- Comprendre le système de contrôle d’accès de Drupal
- Protéger l’accès à un bloc
- Protéger l’accès à une page (route)
- Créer son propre système de contrôle d’accès sous forme de service taggué
13 - Modifier l'existant
- Pourquoi modifier l’existant ?
- Quels sont les outils à notre disposition ?
- Comment modifier une route ?
- Comment modifier un formulaire ?