M2i Formation

Langages et développement - PHP

Drupal - Pour les développeurs

Présentiel

3 jours (21 heures) - DRU-DEV

(14)
Accueil  ›  Formations Informatique  ›  Langages et développement  ›  PHP  ›  Drupal - Pour les développeurs

Objectifs pédagogiques

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

Niveau requis

Avoir suivi la formation PHP-IN "PHP 5 et 7 / MySQL - Création de pages Web dynamiques" 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.

Public concerné

Développeurs.

La Défense17/06/20191 800 € HTDates proposées dans les agences M2iRéserver
La Défense09/12/20191 800 € HTDates proposées dans les agences M2iRéserver

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Metz19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Mulhouse19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Nancy19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Reims19/11/20181 800 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Caen19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Évreux19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Le Havre19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Lille19/11/20181 800 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Dijon19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Grenoble19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Lyon19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Saint-Étienne19/11/20181 800 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Bordeaux19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Orléans19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Tours19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Bordeaux17/06/20191 800 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Montpellier19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Sophia Antipolis19/11/20181 800 € HTDates proposées dans les agences M2iRéserver
Aix-en-Provence17/06/20191 800 € HTDates proposées dans les agences M2iRéserver
Montpellier17/06/20191 800 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Introduction

  • Présentation rapide de Drupal et de son jargon (noeud, taxonomie...)
  • Présentation et installation des outils de développement (WAMP, Editeur 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...

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 :
    • Conteneur
    • Services
    • Injection de dépendance

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

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

Cache API

  • Comment Drupal gère le cache
  • Différents types de cache
  • Cache API
    • Keys
    • Contexts
    • Tags
    • Max-age
  • Ddiffé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

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 API Schema (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 formattage 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, à une page
  • Créer son propre système de contrôle d'accès sous forme de service

Testez vos connaissances

Objectif : Tester vos connaissances sur les fonctionnalités de base HTML, CSS et PHP.