Aller au contenu principal

M2I FORMATION : 01. Drupal 8/9 pour les développeurs

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, intégrateurs, chefs de projet, web designers…

Pré-requis

- Connaître le langage HTML et CSS.

- Des notions de PHP et de Responsive Design sont conseillées.

Objectifs pédagogiques

- Comprendre le système de "theming" (habillage) de Drupal 

- Apprendre à contrôler le HTML/CSS généré par Drupal 

- Optimiser ses développements avec le framework Drupal 8/9 à l'aide des APIs 

- Être capable d'intégrer n'importe quelle charte graphique sous forme de thème Drupal 

- Créer son propre thème 

- Ajuster le cœur de Drupal ou de ses modules sans en modifier le 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 8

Installation des outils du développeur : module "Devel", Firebug

PHP Objet, les concepts de base

 -  Classes

 -  Interfaces

 -  Injection de dépendance

 -  PSR-4

 -  Annotations...

Exemples de travaux pratiques (à titre indicatif)

Installation des outils et prise en main

§ Les fondamentaux du Theming

Comprendre les principes de base

Quels sont les fichiers essentiels d'un thème

Quels sont les différents éléments natifs de Drupal

Thème de base et héritage de thème

Jour 1 - Après-midi

§ Les systèmes de templating Twig

Gestion des templates

Introduction à Twig

Préparer un environnement de travail avec Twig

Principes de la couche de thème : séparation fonctionnelle / présentation

Approfondissement de Twig

Render arrays

Déclarer son propre formatage sous forme de template

Exemples de travaux pratiques (à titre indicatif)

Utilisation de Twig

Déclaration de formatage de sortie à partir de templates

Jour 2 - Matin

§ Formulaires et code généré

Comprendre le code HTML et CSS généré par l'outil Drupal

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)

Exemple de travaux pratiques (à titre indicatif)

Création d'interfaces graphiques

§ Les grandes techniques CSS indispensables à l'intégration de thèmes

Les menus horizontaux sous forme de liste <ul> / <li>

Les mises en page sans tableaux (double colonne, triple colonne...)

Remplacer du texte par une image

Les boîtes à bords arrondis

Exemple de travaux pratiques (à titre indicatif)

Utilisation de différents types de CSS

§ Comment Drupal fabrique le HTML / CSS

Via des templates, des fonctions de thèmes et des modules

Analyse du HTML / CSS généré par Drupal (imbrication des balises, nommage des classes et des ID...)

Comment intercepter chacune des options ci-dessus pour proposer sa propre version

Exemple de travaux pratiques (à titre indicatif)

Analyse du HTML généré par Drupal

Jour 2 - Après-midi

§ Création d'un module

Fichiers nécessaires

Structures des fichiers et autoloading

PSR-0 et PSR-4

Concepts hérités de Symfony

 -  Conteneur

 -  Services

 -  Injection de dépendance

Exemples de travaux pratiques (à titre indicatif)

Prise en main de l'outil de développement et création d'un module

§ Plug-in

Qu'est-ce qu'un plug-in ?

Mécanisme de découverte (fichier YAML, annotation PHP)

Exemples de plug-in et implémentation

Jour 3 - Matin

§ 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

Exemple de travaux pratiques (à titre indicatif)

Intégration du routage dans l'application créée

§ Optimiser le développement avec Cache API

Comment Drupal gère le cache

Différents types de cache

Cache API

 -  Keys

 -  Contexts

 -  Tags

 -  Max-age

Différents modules de cache

 -  Internal Page Cache

 -  Internal Dynamic Page Cache

 -  Big Pipe

Auto-placeholdering et lazy builders

§ Le système de bloc

Gestion des blocs avec Drupal 8

Introduction aux types de bloc

Comment créer un bloc avec Bloc Plug-in

Exemple de travaux pratiques (à titre indicatif)

Manipulation du Cache API pour optimisation

Jour 3 - Après-midi

§ 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

Développement et création d'un module

§ 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

Exemple de travaux pratiques (à titre indicatif)

Manipulation de la configuration

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.

Aucun résultat