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 rapide de Drupal et de son jargon (node, taxonomie…)
  • Présentation et installation des outils de développement (XAMPP)
  • Téléchargement et installation de Drupal
  • Installation des outils du développeur : Module Devel, Composer
  • PHP objet : les concepts de base (classes, interfaces, injection de dépendance, PSR4, annotations…)

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

  • Comment Drupal gère le routing
  • Comment faire correspondre une URL à un contrôleur
  • Injection de services : utilisation des méthodes create() et __construct()
  • 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

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

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

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

  • 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

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é

  • Créer son propre système de contrôle d’accès sous forme de service taggué
  • 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)

13 - Modifier l'existant

  • Pourquoi modifier l’existant ?
  • Quels sont les outils à notre disposition ?
  • Comment modifier une route ?
  • Comment modifier un formulaire ?
Cookies