Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Page de titre
Copyright
Préface
Table des matières
Avant-propos
Présentation de l’ouvrage
À qui s’adresse cet ouvrage ?
Structure du livre
Remerciements spéciaux
1. Bien démarrer avec Drupal
Les prérequis pour Drupal
Décomposition
Environnement AMP
Avec un logiciel
En ligne de commande
Configurer votre environnement
Création d’un VirtualHost pour Drupal
Installation
Installer un premier site avec Drupal
Les différentes étapes
Installer Drupal
Installer en ligne de commande
Configurer votre IDE
Eclipse PDT (PHP Development Tools)
Netbeans
Les outils
GIT
Drush
Installation
Utilisation
Devel
DevelThemer
2. Les concepts fondamentaux dans Drupal
Nœud (Node)
Qu’est-ce qu’un nœud ?
À quoi cela sert-il ?
Exemple
Entité (entity)
Qu’est-ce qu’une entité ?
À quoi cela sert-il ?
Exemple
Champ (field)
Qu’est-ce qu’un champ ?
À quoi peut-il être rattaché ?
Exemple
Hook
Qu’est-ce qu’un hook ?
Comment et où écrire des hooks ?
Exemple
3. Les modules
Qu’est-ce qu’un module ?
L’API des modules
Pourquoi une API ?
Arborescence
Composition
Les bonnes pratiques à respecter
Fichier
Fichier
Autres fichiers
Exemple : un module à la carte
Description
Fichier .info : menu_for_all.info
Fichier .module : menu_for_all.module
Hook_help()
Hook_action_info()
Hook_menu()
Actions du module
hook_basic_action()
hook_unblock_user_action()
hook_node_sticky_action()
Mise en place du module
Installation
Configuration
Exécution
Conclusion
4. Créer un type de contenu en programmant
Un nouveau type de contenu avec l’interface d’administration
Ajouter un type de contenu sans programmer
Ajouter des champs à notre type de contenu
Champs de type Texte
Fields et entité
Création du type d’entité Menus
Ajouter une interface d’administration
Afficher l’entité
Features
À la découverte de Features
Déploiement d’un code Features et modification
Voir les différences avec Diff
La taxonomie
Ajouter une taxonomie avec l’interface d’administration
Créer son premier vocabulaire
Ajouter des termes à notre vocabulaire
Utiliser un vocabulaire dans un type de contenu
Gérer les taxonomies par le code
Créer un vocabulaire depuis un module
Déclarer des termes
Développer le champ Lieu pour le bundle Diner
Permettre la suppression du vocabulaire lors de la désinstallation
5. L’affichage avancé avec le module Views
Views : présentation
Qu’est ce que Views ?
Liste des vues
Ajouter une vue pour lister tous les plats
Fonctionnalités avancées de Views
Créer une vue bloc
Les paramètres avancés des vues
Filtres contextuels : limiter aux plats d’un utilisateur
Relation : ajouter les restaurants et leurs adresses
Écrire une vue dans un module
Création du module et déclaration de l’utilisation de l’API Views
Déclaration de la vue
Ajout de fonctionnalités
Ajout d’un type de vue (hook views_data)
Ajout d’un handler : filtre sur les types de menus sous forme d’une liste de sélection
6. Moteur de règles et validation
Envoyer un e-mail à l’auteur d’un contenu lors de la publication d’un commentaire
Ajouter une action Envoi de courriel
Déclencher les actions créées
Des règles plus souples avec Rules
Ajouter une règle par l’interface graphique
Création d’une règle en programmant
Création d’une action, d’une condition et d’un événement par le code
Gérer un workflow de publication simple avec Drupal
Un circuit plus complexe avec le module Workflow
Création de notre premier workflow
Utilisation d’un workflow sur une entité
7. Gérer les groupes d’utilisateurs et leurs spécificités avec Organic Groups
Le concept d’utilisateur et de rôles dans Drupal
À la découverte de l’interface d’administration des utilisateurs et des rôles
Ajouter un utilisateur
Rôles existants et ajout de rôle
L’ajout d’utilisateurs et de rôles par la programmation
La gestion des profils utilisateurs
Gestion du profil par l’interface d’administration
Ajout de champs à l’entité Utilisateur par le code
La gestion des droits
Gestion des droits avec l’interface d’administration
Ajouter des permissions à notre entité Menus
Des groupes d’utilisateurs (OG)
Création d’un groupe et paramétrages
Contenus spécifiques aux groupes
Membres et permissions d’un groupe
Gestion des membres d’un groupe
Gestion des permissions et des rôles d’un groupe
8. Gérer les terminaux mobiles
Un seul site avec un affichage et un contenu adapté ?
Adapter la mise en forme avec un thème en Responsive Design
Découverte et installation d’un thème
Création d’un thème à partir de Zen
Les différents fichiers qui composent un thème
Proposer des webservices pour un site ou une application mobile
Utiliser le module Services
Développer des ressources supplémentaires pour Services
Panels/Panelizer : présentation
Quels-sont ces modules ?
Construire sa propre page
Définir ce qui sera personnalisé
Choisir ce qui sera disponible
Configuration de la présentation
Configurer le contenu
Ajouter des éléments de contenu
Voir le résultat
Personnaliser les éléments de contenu
Observations des modifications
9. Les tests
Bootstrap
Qu’est-ce que le bootstrap ?
Étendre le bootstrap
Tests unitaires
Qu’est-ce que PHPUnit ?
Installer PHPUnit
PHPUnit avec Drupal
Préparer son module de test
Créer des fonctions de test
Premier test : un hook
Deuxième test : une page
Lancer les tests
Tests fonctionnels
Qu’est-ce que Selenium HQ ?
Installer Selenium IDE
Selenium HQ et Drupal
Associer les tests
Installer Selenium HQ server
Préparer son module de test fonctionnel
Créer des fonctions de tests
Premier test : connexion avec le navigateur
Deuxième test : détection du module
Troisième test : ouverture d’une page
Quatrième test : insertion de données
Cinquième test : affichage de la page visible
Exécuter l’ensemble des tests
Conclusion
10. La recherche : native et étendue avec Solr et Facet API
La recherche native dans Drupal
Activation et mise en place de la recherche
Indexation du contenu
Search API avec Solr pour indexer et rechercher dans notre entité Menus
Installation et configuration de Search API
Installation de Solr et déclaration en tant que serveur de recherche
Ajout d’un index sur l’entité Menus
Affichage de la recherche dans nos menus
Utilisation de Facet API et de Views pour des recherches par facettes
Créer l’index des nœuds et la vue associée
Filtrer la recherche avec Facet API
Aller plus loin avec les modules complémentaires de Search API
Autocomplete
Spellcheck pour obtenir des suggestions en cas d’erreur de frappe
Saved searches pour que nos utilisateurs retrouvent leurs recherches
Multi-index searches : remplacer le bloc de recherche natif de Drupal
Indexer les fichiers joints avec Search Api Attachments et Apache Tika
11. Gestion avancée des images avec Media
Insérer du multimédia
Le module Media
Présentation
Configuration
La liste des extensions
Le module
Multimédia dans un champ
Type de contenu
Le champ multimédia
Le champ document
Modifier la valeur du champ image
Le contenu
Le bouton Multimedia
Le bouton Document
Multimédia dans le body (content)
Installation du module Wysiwyg
Configuration Wysiwyg
Installation de la bibliothèque CKEditor
Configuration
Création d’un article
Créer une animation bandeau
Installation du module Views Slideshow
Configuration du cache
Création du type de contenu
Création d’un contenu
Afficher notre bandeau
Améliorer l’animation
Publier notre vue
12. Déploiement
Déploiement avec FTP et phpMyAdmin
Transférer les fichiers avec FileZilla
Transfert de la base de données avec phpMyAdmin
Déploiement avec Drush
Drush et les alias pour déployer facilement
Drush make
Index
← Prev
Back
Next →
← Prev
Back
Next →