Développement de modules avec Drupal 7

Objectifs 

Être en mesure de développer un module Drupal, intégrant :

  • la gestion de formulaires
  • la gestion de contenus : les nœuds, les commentaires et la taxinomie
  • la gestion de types de données autonomes ou attachés : les entités, champs, et leurs outils d'édition et d'affichage
  • la gestion de comptes : les utilisateurs, rôles, droits et profils
  • la création de services web XML-RPC et de fils RSS
  • la création de callbacks AJAX JSON
  • la création d'éléments de thème dans les modules
  • la gestion de données hors du modèle Drupal

Les sujets suivants en particulier sont au-delà de ce cours, mais abordables grâce aux bases acquises : la création complète de thèmes, la création de modules jQuery, la création de moteurs de recherche additionnels et de filtres de contenu et la création de types de contenus CTools et de greffons Views.

Contenu 
  • Introduction au fonctionnement de Drupal : le modèle d'exécution de Drupal et votre premier module : "Hello, world !"
  • Le modèle altératif de Drupal : altérer le texte (pour l'internationalisation), le rendu (par les thèmes) et le comportement (par les hooks) ; la mise en œuvre des altérateurs
  • Le sous-système des menus : les principes de base, les jokers, les chargeurs et les chemins spéciaux
  • Le sous-système des bases de données : l'API d'accès basique et avancé, l'API de schéma et l'API DB/Schema en Drupal 7
  • La gestion des utilisateurs : les données d'AAA, le modèle de contrôle d'accès, la création d'un login distribué, la gestion des profils, l'audit et l'API utilisateurs (CRUD)
  • La gestion des contenus : les contenus, les modules de nœuds et non nœuds, la taxinomie et la structure livre
  • L'abstration de la gestion des données: l'API des entités, création et altération d'entités existantes
  • La gestion des données attachées: champs, instances, widgets, formateurs, field storage, et view modes
  • Le sous-système de thème : le mécanisme de surcharge, les artefacts thémables et les thèmes JavaScript
  • Le sous-système de blocs : les blocs d'administration au code et l'accès, les régions et les panneaux de blocs
  • Le sous-système des formulaires : le modèle Forms API, son workflow en détail, vos premiers formulaires, le thémage de formulaires et la validation et le stockage
  • Les services web : Drupal hors HTML/CSS, la création des sorties non thémées
  • Écrire du code performant : les performances SQL, l'API de cache, la répartition du code, l'intégration Views 2
  • Écrire du code sûr : la sécurité des formulaires, la hiérarchisation et la sécurité des contenus
  • Bonnes pratiques de développement : l'IDE et le débogueur PHP, les outils devel et devel_themer et les débogueurs, la documentation en ligne (API, Doxygen), le test unitaire, la gestion de versions (CVS, SVN, git), la gestion de problèmes (project*), les normes de codage (coder, coder tough love)
Pré-requis 

Pratique courante de la programmation PHP3, 4 et 5 non-objet et des notions de la programmation PHP5 avec objets
Notions de HTML, CSS et Javascript
Notions de HTTP
Expérience de l'utilisation de Drupal comme administrateur

Pré-requis OSInet recommandé 
Public concerné 
Forme pédagogique 
Référence : 
DR-711