L'ajout de cookie est désactivé sur votre navigateur, vous devez l'activer pour pouvoir naviguer sur ce site internet.
UpUp, la 1ère plateforme de mutualisation de formations.

Drupal 10 - Pour les développeurs Back End

Formation Informatique et systèmes d'information

Drupal 10 - Pour les développeurs Back End

Informatique > Informatique et systèmes d'information

Objectifs

  • Créer votre propre module qui sera capable d'interagir avec Drupal.
  • Utiliser Drupal comme un framework pour accélérer vos développements maison, en vous appuyant sur vos API.
  • Expliquer le fonctionnement global de Drupal et le container (Symfony 2).
  • Adapter le fonctionnement du coeur de Drupal ou de modules communautaires sans toucher à leur code source.

Le programme de la formation

Introduction

 

Présentation rapide de Drupal et de son jargon (node, taxonomie...)
Présentation et installation des outils de développement (WAMP, éditeur PHP)
Téléchargement et installation de Drupal
Installation des outils du développeur : module "Devel", Firebug
PHP Objet, les concepts de base

  • Classes
  • Interfaces
  • Injection de dépendance
  • PSR-4
  • Annotations...

 

Création d'un module

 

Fichiers nécessaires
Structures des fichiers et autoloading
PSR-0 et PSR-4
Concepts hérités de Symfony 2 :

  • Container
  • Services
  • Injection de dépendance

 

Plug-ins

 

Qu'est-ce qu'un plug-in ?
Mécanisme de découverte (fichier YAML, annotation PHP)
Exemples de plug-in et implémentation

 

Le système de routing

 

Comment Drupal gère le routing
Comment faire correspondre une URL à une page
Utilisation des méthodes create() et _construct()
Créer des URL dynamiques
Ajouter des liens de menu, liens contextuels, liens d'action et de tâche

 

Gestion de la configuration

 

Comment Drupal gère le cache
Les différents types de cache
Cache API :

  • Keys
  • Contexts
  • Tags
  • Max-age

Les différents modules de cache :

  • Internal Page Cache
  • Internal Dynamic Page Cache
  • Big Pipe

State API

 

Le système de bloc

 

Gestion des blocs avec Drupal

Introduction aux types de bloc
Comment créer un bloc avec Bloc Plug-in

 

La base de données

 

Comprendre la couche d'abstraction BDD de Drupal
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

 

Les noeuds (exemple d'entité de contenu)

 

Qu'est-ce qu'un noeud ?
Créer un "node module"
Manipuler les noeuds par la programmation
Intercepter les actions effectuées sur les noeuds avec les hook_entity_XXX()
Ajout d'onglet sur chaque page de noeud

 

Système de templating

 

Principes de la couche de thème : séparation fonctionnelle / présentation
Twig
Render arrays
Déclarer son propre formatage sous forme de template

 

Formulaires

 

Créer ses propres formulaires par la programmation avec Form API
Gérer la validation et la soumission d'un formulaire
Formulaires AJAX
Changer la présentation d'un formulaire
Modifier un formulaire généré par Drupal ou un autre module sans toucher au code source de ce formulaire (hook_form_alter)

 

State API

 

Principe du Configuration Management : fichiers YAML, import / export
Créer un formulaire dans le Back Office de Drupal
Ajouter sa propre configuration : manipulation de l'objet Config
Traduction de configuration

 

Sécurité

 

Comprendre le contrôle d'accès de Drupal
Protéger l'accès à un bloc
Protéger l'accès à une page
Créer son propre système de contrôle d'accès sous forme de service

 

Exemples de travaux pratiques (à titre indicatif)

 

Etudes de cas :

  • Création d'un module de A à Z avec Drupal
  • Implémentation d'un plug-in existant dans Drupal
  • Utilisation du système de routing de Drupal
  • Utilisation du cache avec Drupal
  • Utilisation des blocs de Drupal
  • Interaction de son site Drupal avec une base de données
  • Utilisation des noeuds
  • Création d'un formulaire avec Drupal
  • Utilisation du système de templating Drupal
  • Interaction avec la State API de Drupal
  • Les bonnes pratiques de sécurité du code Drupal

Public et Pré-requis de la formation

Développeurs Web et/ou développeurs Drupal.

Avoir suivi la formation PHP-IN "PHP 8 et versions antérieures - Développement d'applications Web" ou avoir les connaissances équivalentes. Il est indispensable de connaître PHP Objet et fortement recommandé de connaître HTML, CSS et Drupal en tant que webmaster.

Méthode pédagogique de la formation

Le formateur alterne entre méthode démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).

29 Commentaires