Drupal 8 - Developpeur Back-End

Cours DP8-07

Classe présentielle

  • Ref. DP8-07
  • 3 jours
  • Campus Genève / Lausanne
  • CHF 2'300.00

Classe virtuelle

  • Ref. DP8-07
  • 3 jours
  • Partout
  • CHF 2'300.00

Sur-mesure

  • Ref. DP8-07
  • A définir
  • Campus ITTA / Site client
  • Sur demande
Introduction 

Ce cours de 3 jours vous permettra de créer vos propres modules pour Drupal 8. Cette version de Drupal change profondément la façon de développer ses propres fonctionnalités. Reposant en partie sur Symfony, la programmation objet est de mise. Découvrez par la pratique comment en tirer partie afin de concevoir efficacement ses développements sous Drupal 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 cœur de Drupal 8 ou de modules communautaires sans toucher à leur code source.
Connaissances préalables 
  • Connaître le PHP Objet (indispensable)
  • Connaître HTML et CSS (fortement recommandé)
  • Connaître Drupal en tant que webmaster
Contenu du cours 

Introduction

  • Leçon 1 : Présentation rapide de Drupal et de son jargon (node, taxonomie...)
  • Leçon 2 : Présentation et installation des outils de développement (WAMP, Editeur PHP)
  • Leçon 3 : Téléchargement et installation de Drupal 8
  • Leçon 4 : Installation des outils du développeur : module « devel » , Firebug
  • Leçon 5 : PHP objet : les concepts de base (classes, interfaces, injection de dépendance, PSR4, annotations...)

 

Module 1 : Création d'un module

  • Leçon 1 : Les fichiers nécessaires
  • Leçon 2 : Structures des fichiers et autoloading
  • Leçon 3 : PSR-0 et PSR-4
  • Leçon 4 : Concepts hérités de Symfony 2 : container, services et injection de dépendance

 

Module 2 : Plugins

  • Leçon 1 : Qu'est-ce qu'un plugin ?
  • Leçon 2 : Mécanisme de découverte (fichier YAML, annotation PHP)
  • Leçon 3 : Exemple de plugin et implémentation

 

Module 3 : Le système de routing

  • Leçon 1 : Comment Drupal gère le routing./li>
  • Leçon 2 : Comment faire correspondre une URL à une page
  • Leçon 3 : Utilisation des méthodes create() et __construct()
  • Leçon 4 : Créer des URLs dynamique
  • Leçon 5 : Ajout de liens de menu, de liens contextuels, de liens d'action et de tâche

 

Module 4 : Cache API

  • Leçon 1 : Comment Drupal gère le cache
  • Leçon 2 : Les différents types de cache
  • Leçon 3 : Cache API : keys, contexts, tags et max-age
  • Leçon 4 : Les différents modules de cache : Internal Page Cache, Internal Dynamic Page   Cache et Big Pipe
  • Leçon 5 : Auto-placeholdering et lazy builders

 

Module 5 : Le système de bloc

  • Leçon 1 : Gestion des blocs avec Drupal 8
  • Leçon 2 : Introduction aux types de bloc
  • Leçon 3 : Comment créer un bloc avec Bloc Plugin

 

Module 6 : La base de données

  • Leçon 1 : Comprendre la couche d'abstraction BDD de Drupal
  • Leçon 2 : Entity API : gestion des entités de contenu et de configuration (EntityTypeManager et EntityQuery)
  • Leçon 3 : Se connecter à la base et effectuer des requêtes simples avec la Database API
  • Leçon 4 : Enregistrer ses propres données en base avec la Schema API : fichier d'installation

 

Module 7 : Les noeuds (exemple d'entité de contenu)

  • Leçon 1 : Qu'est-ce qu'un noeud ?
  • Leçon 2 : Créer un "node module"
  • Leçon 3 : Manipuler les noeuds programmatiquement
  • Leçon 4 : Intercepter les actions effectuées sur les noeuds avec les hook_entity_XXX()
  • Leçon 5 : Ajout d'onglet sur chaque page de noeud

 

Module 8 : Système de templating

  • Leçon 1 : Principes de la couche de thème : séparation fonctionnel/présentation
  • Leçon 2 : TWIG
  • Leçon 3 : Render Arrays
  • Leçon 4 : Déclarer son propre formattage sous forme de template

 

Module 9 : Formulaires

  • Leçon 1 : Créer ses propres formulaires programmatiquement avec la Form API
  • Leçon 2 : Gérer la validation et la soumission d'un formulaire
  • Leçon 3 : Formulaires AJAX
  • Leçon 4 : Changer la présentation d'un formulaire
  • Leçon 5 : Modifier un formulaire généré par Drupal ou un autre module sans toucher au code source de ce formulaire (hook_form_alter)

 

Module 10 : State API

  • Leçon 1 : Principe du Configuration Management : fichiers YAML, import/export
  • Leçon 2 : Créer un formulaire dans le back-office de Drupal
  • Leçon 3 : Ajouter sa propre configuration : manipulation de l'objet Config
  • Leçon 4 : Traduction de configuration

 

Module 11 : Sécurité

  • Leçon 1 : Comprendre le contrôle d’accès de Drupal
  • Leçon 2 : Protéger l'accès à un bloc
  • Leçon 3 : Protéger l'accès à une page
  • Leçon 4 : Créer son propre système de contrôle d'accès sous forme de service