Drupal
Drupal est un système de gestion de contenu Web (CMS) à même de créer et gérer des sites web d'informations structurées et classifiées.
Il permet de créer une grande variété de sites, du blog personnel au site communautaire ou d'information.
Il peut être utilisé pour gérer des sites collaboratifs regroupant forum d'échanges, annonces, agendas d'évènements, sessions de conférences, gestion de groupes de travail.
Drupal est maintenant totalement francisé mais pas l'intégralité des modules non officiels.
Le contenu informationnel se situe classiquement dans une base de données SQL. Le choix proposé de base est MySQL/ PostgreSQL, mais d'autres SGBD sont possibles car l'accès aux données repose sur une couche d'abstraction logicielle (cf. l'article d'IBM sur Drupal et DB2 Express-C, son produit gratuit).
Caractéristiques de base
- architecture en modules rendant le produit facilement extensible, grâce à une API, on peut ainsi activer ou non des modules optionnels du noyau et/ou ajouter des modules externes ;
- permissions basées sur des rôles pour définir les actions autorisées, les contenus visibles et les contenus éditables ;
- contenu totalement indexé pour le système de recherche ;
- support des blogs, forums, sondages, commentaires et fils RSS ;
- alias possibles pour les URL, ce qui permet de donner une URL "parlante" aux pages web ;
- interface unique pour le front-end et le back-end ;
- aide en ligne ;
- un mécanisme d'autorégulation permettant de contrôler l'encombrement du site ;
- authentification par OpenID ;
- déclenchement d'actions suite à certains événements systèmes, par exemple envoi d'un courriel quand un nouveau contenu est créé ;
- agrégateur de contenu syndiqué (flux RSS, RDF et Atom) ;
- suivi des logs, statistiques de visite, les événements systèmes peuvent être envoyés vers un démon Syslog
Quelques détails des principales fonctionnalités : rôles, types de contenu, classification, présentation du contenu et modules complémentaires.
Rôles
Suivant l'importance du rôle de l'utilisateur, l'interface se voit enrichie de menus d'administration et de possibilités d'édition du contenu.
Les rôles sont définissables très finement, en autorisant ou non des actions dans chaque domaine de fonctionnalités.
Par ex. tel "administrateur" pourra gérer les types de contenu et leur classification, tel autre les utilisateurs, un troisième les forums et les commentaires, et un autre jouer uniquement le rôle de modérateur.
Typiquement, on aura les rôles: visiteur (anonyme), rédacteur, responsable de rubrique ou d'équipe, administrateur.
Types de contenu
-
Prédéfinis :
- Page : conseillé pour les contenus qui constituent en eux-mêmes une page Web (statique ou dynamique), propre au site pour les pages personnelles par exemple.
- Récit (story) : conseillé pour les informations souvent simples et courtes, destinées à être affichées en listes.
-
Additionnels :
- commentaire
- billet personnel (blog)
- sujet de discussion (forum)
- sondage (poll)
- livre (book) adapté à la rédaction collaborative de livres à contenu hiérarchisé en chapitres, sous-chapitres, etc.
Cette distinction a pour effet de proposer des catégories d'indexation spécifiques.
Le module CCK (Content Construction Kit) apparu depuis la v. 4.7 de Drupal permet de définir ses propres types de contenus.
CCK est presque toujours associé au module Views qui permet de contrôler l'affichage des contenus en construisant des requêtes complexes.
Présentation du contenu
On parle de "noeud" (node) pour désigner une information accessible par un identifiant.
Par défaut 3 "formats d'entrée" de données personnalisables sont proposés :
- HTML filtré
- HTML
- Code PHP
Un "nœud" peut recevoir plusieurs types de statuts : publié, à modérer, en page d'accueil, en tête de liste, nouvelle version.
Le statut "à modérer" peut, par défaut, être assigné au contenu créé par un rôle, s'il n'a pas l'autorisation "administrer les nœuds".
Classification
La puissance et l'originalité de Drupal réside dans sa gestion très évoluée de la classification des données selon un système taxinomique (taxonomy) dynamique.
La classification peut être simple, multiple, hiérarchisée, et même multi-hiérarchique (un terme d'indexation peut avoir plusieurs parents).
On n'est pas limité à 2 niveaux hiérarchiques seulement, comme dans beaucoup de CMS.
Les termes d'indexation (ou labels, tags) peuvent être regroupés en "vocabulaires" au sein desquels les termes peuvent être associés entre eux (related terms) et pour lesquels on peut définir des synonymes.
Une API existe pour accéder aux fonctions reliées à la taxinomie.
Cette gestion de la taxinomie permet par ex. ceci :
- indexer les informations sur la hiérarchie des services d'une organisation.
- générer un glossaire des informations classé par termes, avec synonymes et renvois vers des termes reliés.
- un laboratoire de recherche pourra indexer ses publications sur ses auteurs et sur la revue, grâce à des vocabulaires 'Revues' et 'Auteurs'.
Il faut noter la simplicité d'accès aux informations, par termes d'indexation, grâce à de simples URL, par ex. http://www.example.com/?q=taxonomy/term/37,94,125 génèrera la liste des publications (id. 37), pour l'année 2004 (id. 94), pour un chercheur donné (id. 125).
Présentation du contenu / thèmes
Le contenu et la présentation sont bien séparés (XHTML 1.0 Transitional, CSS).
Des templates (moteur officiel 'phptemplate' depuis la v. 4.7) gouvernent la présentation des "nodes", des commentaires, blocs, boîtes, ou tout type de donnée défini par l'utilisateur. En fonction du template choisit, il est en général possible de déplacer les blocs d'information sur les pages du site grâce à une interface graphique.
La version 6 propose une meilleure gestion des thèmes http://drupal.org/theme-guide/6 que les versions précédentes.
Modules complémentaires
Il en existe plusieurs centaines, qui ajoutent des fonctionnalités au logiciel de base : http://drupal.org/project/modules
Classement des modules par popularité.
Quelques exemples de modules :
-
Bibliographie
- Bibliography Module
- OAI-PMH pour exposer les métadonnées du module de bibliographie avec le protocole OAI-PMH
-
Recherche
- Faceted Search recherche à facettes
- Apache Solr Search Integration pour intégrer la plateforme de recherche Solr à Drupal
- Search Lucene API ajoute des fonctionnalité de recherche du type de Solr à Drupal, en utilisant un portage de Lucene en PHP (Zend Framework)
-
Communautés
- Organic Groups (OG modules).
-
Éditeurs HTML
- Le module WYSIWYG permet d'utiliser les éditeurs HTML suivants : CKEditor, FCKeditor, jWysiwyg, markItUp, NicEdit, openWYSIWYG, TinyMCE, Whizzywig, WYMeditor et YUI editor
-
Module LaTeX
-
Modules d'internationalisation
-
Modules de Géolocalisation, Mapping/Geocoding
- Location (API, module)
- GMap Module, vue d'informations (articles, utilisateurs, photos) via une carte GoogleMap)
- Le groupe Location and Mapping
- News Tastes Better When Mapped: Using Fresh, Quality Ingredients to Geocode, Geotag, and Geoviews Your News
-
Modules d'agendas et calendriers
-
Modules de calcul
- Views Calc (tri de tables de résultats).
Export des pages Web en format XML (… et formats d'échange du SGBD)
Contexte pour le premier contributeur de cette fiche :
Site Web d'un laboratoire d'enseignement et de recherche (90 pers.) ouvert en avril 2007.
Gestion des membres, équipes, thèmes de recherche, cours, productions, annonces.
Quelques raisons du choix de Drupal
(début 2006, une évaluation des CMS Drupal, SPIP et Mambo (Joomla) nous a conduit au choix de Drupal)
- puissance du classement dynamique en catégories de Drupal
- prise en main facile de Drupal par rapport à Mambo
- une seule interface front-office et back-office) par rapport à SPIP
- cohérence, simplicité et robustesse de l'architecture de Drupal
- exotisme des "boucles" de SPIP, apparemment pas si simples à maitriser
- documentation et forums de Drupal, comme bonne source d'information vivante
Contexte pour PLUME :
Le site de Plume utilise Drupal et une trentaine de modules. La méthode du choix de ce CMS a fait l'objet d'un article :
Description du processus de choix d'un CMS pour le projet PLUME
Utilisé pour des sites collaboratifs, par exemple Groupe de travail sur les SIGB libres, MuTEC. Mais aussi pour remplacer des applications web à l'origine développées en interne : Calame : répertoire de bases de données en SHS
Le choix de l'éditeur HTML reste entier (éternel débat ?); "TinyMCE" a des défauts, notamment de ne pas afficher entièrement l'aspect réel de la page.
Il existe aussi le module widgEditor, plus simple (trop?), avec moins de fonctionnalités mais peut-être plus adapté aux rédacteurs HTML non spécialistes, qui importent par ex. du HTML/Word.
L'upgrade entre versions mineures ne pose pas de problème particulier en version 5 ou 6 mais nécessite de l'attention.
La version 6 apporte nombre d'innovations mais aussi de changements dans les fondements du système, ce qui peut rendre complexe la migration d'un site : les actions sont à reprendre par exemple. À noter également que les modules externes peuvent être intégrés, abandonnés, fusionnés et même qu'il arrive que certains modules optionnels deviennent externes. Avant toute migration d'un site utilisant des modules externes, il convient d'étudier très précisément la situation.
De même, de nombreuses améliorations, modifications sont référencées dans la version 7 à venir.
La fréquence de sortie des versions majeures est élevée (cf. la liste ci-dessous). Revers de la médaille, cela implique un travail de mise à jour en conséquence, car le support de sécurité d'un site pourra disparaitre après à peine une année, dans la mesure où seules les 2 dernières versions sont supportées.
- Drupal 7.0 est actuellement en version alpha
- Drupal 6.0, 2008-02-13 ( http://drupal.org/drupal-6.0 )
- Drupal 5.0, 2007-01-15 ( http://drupal.org/drupal-5.0 )
- Drupal 4 n'est plus supporté
L'envoi de fichiers (upload) implique de pouvoir configurer les droits d'accès aux répertoires d'upload en mode 777, donc d'avoir accès au système de fichiers du serveur.
Commentaires
Drupalcamp 2013 à Paris
Le prochain Drupalcamp se tiendra à Paris, sur 3 jours cette fois-ci, du 21 au 23 juin 2013. Plus d'information sur http://paris2013.drupalcamp.fr/.
Appel à conférences pour ce Drupalcamp
Les propositions de présentations sont à soumettre avant le 26 avril : tout se fait ici http://paris2013.drupalcamp.fr/appel-a-conferenciers
David.
Programme du Drupalcamp 2013
Il est disponible ici : http://paris2013.drupalcamp.fr/programme-paris
David.
MaJ, (+ versions supportées + drush)
Quelques éléments:
[edit, en rédigeant ce commentaire, j'ai omis la mention, pourtant apparente: "version évaluée: v6" ]
Drupalcamp 2012 à Lyon
Pour information, un Drupalcamp se tiendra à Lyon les 26 et 27 mai prochain. Plus d'information sur http://lyon2012.drupalcamp.fr/fr.
Nouveau Framabook sur Drupal
Atelier Drupal 7. Créer un site web avec un CMS pas comme les autres
http://framabook.org/12-atelier-drupal-7-creer-un-...
Autres framabooks :
http://www.projet-plume.org/ressource/framabook-li...
Annonce comme nouvelle fiche
Cette fiche a beaucoup été transformée par le nouveau contributeur et elle décrit une nouvelle version majeure de Drupal la V6. Nous avons donc choisi de la faire ré-apparaître dans les listes et le fil RSS comme une nouvelle fiche.
drupalistic
Bonjour,
Je me permets de signaler un projet personnel, le site www.drupalistic.net sur lequel on trouvera des informations sur Drupal et un guide des modules - auquel tous les visiteurs sont invités à contribuer.
Marie-Hélène Wronecki
Thème Instituts CNRS
Bonjour,
J'ai développé pour l'INSU un sous-thème de Zen qui suit la charte graphique du CNRS, il pourrait servir de base pour d'autres sites CNRS, me contacter au besoin.
Vous hésitez?
Essayez la version portable : une des webapps chez framasoft : http://framakey.org/WebApp/Index
Des vidéos pour débuter : http://php.opensourcecms.com/free/videos.php
Un comparatif entre CMS : http://www.cmsmatrix.org/matrix/cms-matrix
Livres (Francais)
Il existe 2 livres en français :
Atelier Drupal 6 de Cyprien Roudet au éditions CR éditions
Le Campus Drupal 6 de David Mercer au éditions PEARSON
Joseph Giral
LAMETA - UMR5474 (CNRS-UM1-INRA-ENSAM)
liste plume-drupal
Suite à plusieurs demandes de certains d'entre vous, nous venons d'ouvrir une liste pour discuter autour du CMS Drupal que nous utilisons pour la plate-forme Plume. Cette liste n'est pas destinée à remplacer les listes du projet mais plutôt à les compléter en offrant un espace de discussions francophone pour la communauté enseignement supérieur recherche (adresses de messagerie profesionnelles).
Si vous n'êtes pas tout à fait de notre communauté mais intéressé, contactez le propriétaire, des exceptions peuvent être envisagées.
Seuls les abonnements sont modérés.
Pour vous inscrire et participer aux discussions :
http://www.services.cnrs.fr/wws/info/plume-drupal
Geneviève Romier
BibNum: un projet réalisé sous Drupal
Voici un projet utilisant Drupal développé par le CERIMES (Centre de ressources et d'information sur les multimédias pour l'enseignement supérieur - http://www.cerimes.fr/ ).
http://www.bibnum.education.fr/
BibNum est un projet de bibliothèque numérique de textes scientifiques antérieurs à 1940, commentés par des scientifiques contemporains qui souhaitent partager leur intérêt pour ces textes et analysent leur impact dans la science et la technologie actuelle.
Le développement de BibNum peut être mis gratuitement à disposition des établissements publics qui souhaitent développer un projet compatible avec les premiers développements et partager les évolutions futures.
Quelques informations techniques:
- La version de Drupal est la 5.8
- Les modules utilisés (liste non exhaustive) sont : CCK, VIEWS, Biblio, BUEditor, IMCE, Login Destination, OAI2, Pathauto, Sections, SimpleMenu, Thickbox, Token, Tagadelic, XML Sitemap…
- La visionneuse flash utilise l’API de Scribd (Ipaper), intégrée via un module spécifique. http://www.scribd.com/publisher/integration
Le site s’accompagne d’un blog : http://blog-bibnum.cerimes.fr/ sur lequel vous trouverez des informations concernant l’évolution de BibNum et les articles publiés sur le projet.
Si vous souhaitez des informations complémentaires sur ce projet, n'hésitez pas à m'écrire à cette adresse : quillet[at]cerimes.fr
Guides, tutoriels, vidéos et astuces
Des kits graphiques, des vidéos ("comment mettre à jour un module Drupal", les modules externes, ...), nouvelles fonctionnalités de la version 6 : allez faire un tour sur http://biboo.net/