Kit de survie

Contributeurs

Statut du tutoriel : 

À jour

Catégorie du tutoriel : 

Niveau du tutoriel : 

C’est quoi un CMS ? Ça sert à quoi d’en utiliser un ?

Un CMS pour Content Management System est un logiciel de gestion de contenu. Ce qui ne vous avance pas. Un CMS est un logiciel qui vous aide à créer des sites web. Il permet notamment de :

  • Travailler à plusieurs facilement et efficacement à sa conception

  • Dissocier la forme et le fond

  • Donner du sens au contenu

  • Attribuer des rôles à vos utilisateurs et ainsi des droits. C’est vous qui choisissez qui fait quoi : créer du contenu, ajouter des commentaires, administrer le site,…

Pourquoi Drupal ?

Il existe plusieurs CMS (Drupal, Joomla, Django CMS,…). Drupal a été choisi pour plusieurs raisons :

  • Il gère très bien le multi-site, c’est-à-dire qu’avec une seule installation on peut faire fonctionner plusieurs sites différents.

  • Il est développé et maintenu par une grande communauté qui est très réactive (les failles de sécurité et les bogues sont vites corrigés).

  • On peut lui ajouter de nombreux modules ce qui fait de lui un outil très puissant et polyvalent.

  • Il fonctionne sans problème avec CAS le système d’authentification de l’école. Ce qui veut dire que pour vous connecter aux sites de l’école, vous n’avez pas besoin de vous créer un nouveau compte.

  • Vous pouvez définir de nombreux rôles (président, trésorier, membre actif…) et leur donner des droits précis (voir tel ou tel page, éditer du contenu, poster des commentaires…)

Plutôt que de tout coder à la main et d’en baver pour maintenir le code, il vaut mieux utiliser Drupal.

Les termes et fonctionnalités à connaître

Le but de cette section n’est pas de vous transformer en pro de toutes les fonctionnalités présentées (et encore moins de toutes celles existantes), mais plutôt de savoir qu’elles existent et si vous en avez besoin, venez au club : on vous conseillera !

Les termes présentés ici sont réutilisés dans les autres tutoriels.

  • Block : Un bloc est une zone d’affichage pouvant être placée dans une région du thème.

  • CAS : c’est le système d’authentification de l’école. En l’activant, les élèves centraliens n’ont pas besoin de créer un compte sur votre site, ils passeront par CAS, comme quand ils se connectent sur l’ENT. Voir : http://assos.centrale-marseille.fr/content/tutoriel/permettre-aux-centraliens-de-se-connecter-%C3%A0-mon-site-cas pour plus d’information.

  • Content / Node : c’est le contenu de votre site (article, page…). Il est constitué de champs. Vous pouvez créer vos propres types de contenu avec vos champs personnalisés.

  • Content type : un type de contenu correspond à un ensemble d’informations formant une unité, il est constitué de champs. Par exemple, une recette de cuisine peut être un type de contenu composé des champs ingrédients, durée de préparation, etc.

  • Field : champ dans lequel vous entrez une information : texte, nombre…

  • Field formatter : un formateur de champ est une manière d'afficher du contenu. on choisit les formateurs de champ dans la partie "gérer l'affichage" de l'entité concernée. Par exemple pour un champ texte, on peut chosir un formateur qui va rendre le texte brut, un autre va rendre le texte brut mais coupé avec une limite en nombre de caractère, etc.

  • Label : un label est une désignation, par exemple un champ peut avoir pour nom machine (inchangeable) « description », mais un terme plus parlant pour désigner le champ serait « explications » si ce champ sert à donner des explications. Le label sera visible pour les utilisateurs alors que le nom machine sera utilisé uniquement par Drupal. Un des intérêts de l’utilisation de labels est que le champ peut être réutilisé dans diverses entités, qu’il peut ainsi avoir un label différent selon l’entité ; un autre intérêt est que le label pourra être traduit dans plusieurs langues ou changé si besoin est alors que le nom machine ne peut pas être modifié.

  • Menu : tout ce qui concerne les menus de navigation. Ils peuvent être rendus dynamiques avec divers modules dont DHTML Menu.

  • Panel : Il permet d’organiser votre contenu de façon très flexible : vous pourrez placer vos blocks où vous voulez et facilement !

  • Project : un projet Drupal regroupe les notions de modules et de thèmes, un projet représente la plupart du temps un module, mais il peut être constitué de plusieurs modules :

    • Module : ensemble de fichiers permettant d’étendre les fonctionnalités de Drupal.

    • Thème : ensemble de fichiers permettant un affichage différent des blocs ; un thème est composé de régions qui sont un découpage en zones de la page web.

  • Taxonomy : il s’agit de termes de vocabulaire permettant de classer votre contenu. Ces termes se rentrent généralement dans un champ appelé tag. Il peut être utilisé conjointement avec Views pour faire apparaître tous les types de contenu ayant un mot de vocabulaire particulier.

  • Theming : C’est l’action qui consiste à faire le thème, l’apparence de votre site. Vous pouvez changer de thème via l’onglet Apparence de la barre d’administration. Vous pouvez aussi personnaliser les thèmes existants. Voir :

  • View mode : mode d’affichage, un mode d’affichage s’applique aux entités, il correspond à une mise en forme des informations composant cette entité.

  • Views : module puissant et complexe permettant d’afficher tout ou partie d’un ou de plusieurs types de contenu. Vous pouvez appliquer des filtres, des critères de tri… Un exemple de vue est la page des tutoriels Drupal qui regroupe tous les tutoriels publiés.

  • Widget : un widget est un outils permettant de remplir un champ, cela concerne les formulaires de création de contenu (d'entité plus généralement, mais ce qui vous intéresse la plupart du temps, c'est le contenu). Exemple : pour les champs de taxonomie, on a la choix entre plusieurs widgets : une liste de sélection sous forme de cases à choser (ou radio boutons si un seul terme autorisé), une case autocomplétée lorsque l'on commence à écrire dedans, une case autocomplétée lorsque l'on commence à écrire dedans et qui crée à la volée le tag si celui-ci n'existe pas déjà. Un widget se choisit dans la partie "gérer les champs" de l'entité concernée.

Termes et fonctionnalités à connaître (avancé)

  • Context : un contexte correspond à des informations envoyés à Drupal. par exemple lorsque vous êtes logué, et bien le contexte concernant l'utilisateur aura une information qui va changer, vous ne serez plus un utilisateur anonyme, mais un utilisateur authentifié. Les contextes sont généralement utilisés dans les URL, ils permettent de configurer des pages de manière la plus générique possible afin qu'en changeant l'URL les informations diffèrent.

  • Contributed : un projet Drupal est dit « contribué » lorsqu’il ne fait pas partie du Core de Drupal et qu’il se situe sur Drupal.org.

  • Core : noyau de Drupal, ensemble de modules fournissant la base à tous les autres modules.

  • Entity : notion introduite à partir de la version 7 de Drupal regroupant les nœuds, les utilisateurs, les termes de vocabulaire ainsi que d’autres éléments.

Installer Drupal en local sur sa machine (avancé)

Si vous voulez faire plein de test sans être embêté, c’est certainement la meilleure méthode. Elle demande par contre un peu de volonté car il faut installer un serveur web sur votre machine. Devant la variété des installations et des systèmes possibles, nous ne ferons que donner les liens vers les méthodes les plus courantes.

Pour la partie serveur web, reportez-vous à la documentation de votre système ou venez faire un tour au club si vous ne trouvez pas votre bonheur. Nous vous recommandons d’installer Drupal via drush car cet outil facilite l’administration.

Certaines distributions Linux fournissent un drush empaqueté. C’est certainement la façon la plus simple d’avoir un drush fonctionnel sur ces systèmes. Faites néanmoins attention, cette version de drush peut ne supporter que les anciennes versions de Drupal (sous Debian notamment). Sinon, aller voir sur :

https://drupal.org/project/drush

Certaines distributions fournissent également un Drupal prêt à l’emploi ainsi que de nombreux modules courants. Voir :

https://drupal.org/documentation/install et la documentation de votre système.