PLB CONSULTANT : 01. Drupal 10 pour les développeurs Back End
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. Auto-évaluation en début et en fin de formation.
Prix
Public
Développeurs Web et/ou développeurs Drupal.
Pré-requis
- Connaître le langage HTML et CSS.
- Des notions de PHP et de Responsive Design sont conseillées.
Objectifs pédagogiques
-Créer son propre module qui sera capable d'interagir avec Drupal
-Utiliser Drupal comme un framework pour accélérer ses développements maison, en s’appuyant sur ses API
-Expliquer le fonctionnement global de Drupal et le container (Symfony 2)
-Adapter le fonctionnement du cœur de Drupal ou de modules communautaires sans toucher à leur 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 10
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 10
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 10
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 10: 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 Drupal10
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