{"word_count": 723, "character_count": 4597}
[caption id="attachment_3837" align="alignleft" width="300"] Rouages - Par Олександр - Licence CC BY 2.0 - Flickr[/caption]Dans un billet précédent, nous vous présentions les raisons du choix du CMS Drupal pour notre site. Voici maintenant une présentation plus précise de sa configuration. Elle ne se veut pas exhaustive ni exemplaire mais nous espérons ainsi contribuer à la discussion sur les multiples possibilités offertes par ce CMS.Bien choisir les types de contenusComme le décrivait Camille dans un billet sur l'organisation du portail, la première étape a consisté à classer les contenus en différent "types de contenu", notion phare de Drupal. À ce stade, ce choix a une répercussion importante sur l'organisation du site à venir et notamment sur la configuration des modules à utiliser. Autrement dit, c'est un moment important du processus de construction et il s'agit de bien connaître quels sont les enjeux de cette classification.Pour faire vite, un type de contenu est un gabarit commun à plusieurs contenus partageant des caractéristiques communes. Par défaut, Drupal propose ainsi les types "pages" et "articles". Un article peut accueillir les commentaires de ses lecteurs alors qu'une page ne propose pas cette fonctionnalité.Un tri par métadonnéeMais Drupal ne s'arrête pas là. Grâce au module CCK, on peut enrichir les types de contenus (ceux par défaut et d'autres nouvellement créés) avec des attributs supplémentaires. En plus des commentaires, on pourrait alors ajouter un champ « sujet » permettant de classer un article. Par exemple, le type « base de données » utilisé sur notre site comporte 10 champs descriptifs dont l'éditeur, l'url d'accès et la discipline.Ces métadonnées ont une autre vertu. En plus de qualifier un contenu et d'améliorer sa description, elles permettent de regrouper des contenus en fonction d'une caractéristique commune. Ainsi, il est aisé d'afficher toutes les bases de données ayant la médecine pour discipline  ou d'afficher toutes les articles dont le sujet est « puy-de-dôme », Drupal gérant (presque) nativement cette option.Une page d'accueil par type de contenuPour en revenir au site de la BCU, nous avons répartis les contenus dans 7 types différents : "bases de données", "pages", "événements", "mercredis de la science", "jeudis du patrimoine", "actualités", "boite à outils". Les pages sont utilisées pour le contenu éditorial du site. On les retrouve via le menu de navigation principal.Pour chaque type de contenu (sauf « pages » et « boite à outils ») nous avons ajouté une page d'accueil en développant un module adéquat. Sur cette page nous offrons au visiteur différents point d'accès aux contenus. Pour les bases de données par exemple, la page d'accueil propose un accès par disciplines, par index alphabétique (autant d'attributs déclarés dans le type de contenu correspondant) et enfin une liste de toutes les bases à accès payant (encore un attribut personnalisé). Vous pouvez voir d'autres exemples de page d'accueil pour les Mercredis de la science, les jeudis du patrimoine et les actualités.L'agenda culturel est bâti sur le même principe mais assemble des contenus de différents types. On trouve sur cette page les derniers événements ainsi que les Mercredis de la science et Jeudis du patrimoine à venir.Des modules appropriésPour un non-developpeur, le module views permet de créer ces pages fournissant différents points de vue sur les types de contenu. Cependant, nous avons choisi de ne pas l'utiliser. La création de modules « à la main » permet de mieux comprendre le fonctionnement de Drupal et de se passer d'un outil complexe comme views, pas toujours facile à mettre en oeuvre. Il a pourtant le mérite d'être utilisable par quelqu'un qui ne connait pas PHP et SQL.Pour finir, voici la liste des principaux modules utilisés à la BCU :IMCE : pour la gestion des images.Menu block : pour scinder le menu principal en sous-menus utilisables dans des blocs.Scheduler : pour programmer la publication des actualités.CCK : pour enrichir les types de contenus avec des métadonnées adéquates.Piwik : pour les statistiques.Date : pour la gestion des dates et de leurs formats.Site map : pour le plan du site.Tagadelic : pour le nuage de mots-clés.Captcha : pour la protection des formulaires.Wysiwyg : pour l'activation de l'éditeur tinymce.Fil d'ariane : un module interne pour la gestion du fil d'ariane, basée sur l'url des pages. Le fil d'ariane n'est pas le problème le plus simple à résoudre avec Drupal. On se heurte au choix entre contenus associatifs et contenus hiérarchisés, discuté sur drupalistic.