Formation Drupal 8/9 Développement Back-end avancé

  • Référence : OPS010B
  • Durée : 14 heures
  • Certification : Non
  • Eligible CPF : Non

CONNAISSANCES PREALABLES

  • Connaître le PHP Objet, Drupal 8 en tant que développeur (routing, Form API, Database API...), les bases du développement de module pour Drupal 8 sont indispensables.
  • Connaître HTML et CSS

PROFIL DES STAGIAIRES

  • Développeurs Web souhaitant exploiter Drupal et comprendre l'intégration de Symfony

OBJECTIFS

  • Comprendre les fondements de Drupal au travers de Symfony.
  • Comprendre l'injection de dépendance dans Drupal.
  • Savoir utiliser l'Event Dispatcher.
  • Créer son propre type de plugin.
  • Créer un type d'entité de contenu "maison".

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 - Injection de dépendances

  • Comprendre les principes de l’injection de dépendance
  • Quels sont les différents types d’injection ?
  • Comment l’injection de dépendance est implémentée dans Symfony

2 - Le container de Symfony

  • Comprendre à quoi sert le Container
  • Quels sont les principaux services de Drupal ?
  • Comment déclarer un nouveau service ?
  • Comment remplacer un service de Drupal ?
  • Concepts hérités de Symfony : le container, les services…

3 - Event Dispatcher

  • Découvrir les patrons de conception « Observateur » et « Médiateur »
  • Savoir découpler son code avec le gestionnaire d’événements
  • Connecter des écouteurs à des événements du noyau Drupal
  • Propager des événements personnalisés dans du code métier
  • Enregistrer des « écouteurs » et « abonnés » d’événements

4 - Créer son propre type d'entité de contenu

  • Déclarer une classe (extension de la classe ContentEntityBase())
  • Ajouter le routing de base pour la gestion de son type d’entité
  • Déclarer une interface (ContentEntityInterface())
  • Déclarer le schema correspondant
  • Ajouter les contrôleurs et formulaires nécessaires

5 - Enrichir un type d'entité de contenu

  • Ajouter des configuration à un module
  • Ajouter ses propres tables en base
  • Exposer ses propres tables au module Views

6 - Le pattern Event Dispatcher dans Drupal

  • Comment implémenter un event subscriber avec Drupal 8/9 ?
  • Intercepter l’événement Kernel request
  • Détecter une route et l’utilisateur connecté

7 - Gestion des plugins

  • Utiliser le plugin Condition API : ajout d’une condition de visibilité sur les blocs
  • Comprendre le fonctionnement de Mail API
  • Créer un lien via une classe PHP
  • Ajouter un plugin derivative pour les blocs

8 - Créer son propre type de plugin

  • Déclaration du gestionnaire de plugin (service)
  • Utilisation de la class DefaultPluginManager()
  • Choix de la méthode de découverte (annotation PHP)

9 - Web services

  • Générer un module et ses différents composants avec Drush
  • Créer un service custom permettant d’intégrer un web service
  • Déclarer la configuration d’un web service et le formulaire associé
  • Récupérer des données d’un web service et les stocker en cache
  • Gérer le cache de rendu en base en choisissant une méthode d’invalidation
Cookies