PLB CONSULTANT : 01. Drupal 8/9 pour les développeurs
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
21 heuresModalités
Formation
- Classe virtuelle
- Présentiel
Évaluation
Travaux pratiques. Auto-évaluation en début et en fin de formation.
Prix
Public
Développeurs, intégrateurs, chefs de projet, web designers…
Pré-requis
- Connaître le langage HTML et CSS.
- Des notions de PHP et de Responsive Design sont conseillées.
Objectifs pédagogiques
- Comprendre le système de "theming" (habillage) de Drupal
- Apprendre à contrôler le HTML/CSS généré par Drupal
- Optimiser ses développements avec le framework Drupal 8/9 à l'aide des APIs
- Être capable d'intégrer n'importe quelle charte graphique sous forme de thème Drupal
- Créer son propre thème
- Ajuster le cœur de Drupal ou de ses modules sans en modifier le code source
Programme détaillé
Introduction et mise en place de l’environnement
Présentation rapide de Drupal et de son jargon (node, taxonomie...)
Présentation et installation des outils de développement (WAMP, Editeur PHP, Firefox)
Téléchargement et installation de Drupal 8/9
Installation des outils du développeur : module Devel , Composer
PHP objet : les concepts de base (classes, interfaces, injection de dépendance, PSR4, annotations...)
Travaux pratiques
Installation et configuration de Drupal et de WAMP
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 2 : container, services et injection de dépendance
Travaux pratiques
Installer et créer des modules
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
Le système de routing
Comment Drupal gère le routing
Comme faire correspondre une URL à une page
Injection de services : utilisation 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 blocs
Gestion des blocs avec Drupal 8 & 9
Introduction aux types de blocs
Comment créer un bloc avec Bloc Plugin
Travaux pratiques
Afficher un bloc, en protéger l'accès
Thème, les fondamentaux
Comprendre les principe de base
Quels sont les fichiers d'un thème
Quels sont les différents éléments natifs de Drupal
Thème de base et héritage de thème
Ajuster le cœur de Drupal ou de ses modules sans en modifier le code source
Travaux pratiques
Création d’un premier thème personnalisé
Système de templating (TWIG)
Gestion des templates
Introduction à Twig
Préparer un environnement de travail avec Twig Debug
Comprendre le système de surcharge de templates
Ajouter des suggestions de template custom
Principes de la couche de thème : séparation fonctionnel/présentation
Syntaxe TWIG (les bases)
Que sont les Render Arrays et quel est leur intérêt ?
Déclarer son propre formattage HTML sous forme de template avec le hook_theme()
Travaux pratiques
Revue d’un template en TWIG
Gestion des assets
Connaitre le système de bibliothèques
Dépendances et bibliothèques natives
Comprendre l’architecture SMACSS : approche Web Component
Différents types de chargement d'une bibliothèque : code PHP, depuis un fichier de template
Travaux pratiques
Gérer une bibliothèque sur Drupal
Module Layout Discovery
Intérêts de l'approche des layouts
Définir des layouts depuis un thème
Utilisation avec Display Suite
Le système de configuration
Comprendre le système de configuration de Drupal 8 & 9
Comment embarquer une configuration dans un thème
Le gestion des dépendance entre configuration
Travaux pratiques
Configurer Drupal et appliquer cette configuration au thème créé précédemment
La gestion du cache
Comment Drupal gère le cache
Les différents types de cache
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
Javascript
Gestion du Javascript sous Drupal 8 & 9: jQuery, Drupal.behaviors et DrupalSettings.
Les bibliothèques disponibles de base.
Comment ajouter un script custom dans son thème
Travaux pratiques
Revue des bibliothèques disponibles en JavaScript pour Drupal
Responsive Design avec Drupal 8 et 9
Implémentation des points de rupture
Gestion des images en responsive design
Gestion des menus
Travaux pratiques
Implémentation de différents scénarios 100% responsive