Aller au contenu principal

M2I : 01. Drupal 10 pour les développeurs Back End

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

- En cours de formation, par des études de cas ou des travaux pratiques - Et, en fin de formation, par un questionnaire d'auto-évaluation

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
882€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
3937.5€ HT / groupe
4 stagiaires minimum

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é

Jour 1 - Matin

§ Introduction

Présentation rapide de Drupal et de son jargon (noeud, 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

 

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.