Drupal,
qu'est-ce que c'est ?

Un CMS

CMS = Content management system, système de gestion de contenu

  • Un logiciel qui permet de construire des sites web dynamiques
  • Répond aux problématiques des sites statiques ou développés « from scratch » :
    • Comment gérer
    • Comment maintenir
    • Comment évoluer
  • Questions de performance

Un CMS

Créer plus vite, moins cher, plus riche : tout est déjà là

  • Les fonctionnalités courantes des sites web actuels ou la possibilité d'en créer ou intégrer rapidement
  • Une interface de configuration et d'administration accessible par navigateur web
  • La séparation des opérations de gestion de la forme et du contenu (travail en parallèle design, thème, code, intégration)
  • La possibilité de structurer le contenu et les relations entre contenus
  • La gestion des utilisateurs et de leurs rôles et de leurs relations entre eux

Open Source

Une nouvelle forme de marché et d'économie

  • Le marché en France 2,5 milliards d'euros (« Panorama de l'open source en France », le Conseil National du Logiciel Libre)
  • Désormais au même rang que les solutions propriétaires dans le paysage des logiciels du secteur public (selon le Blog d'Administration Numérique)
  • Bénéfices de la contribution

Open source

L'indépendance technologique

  • Libre : les fonctionnalités ne peuvent pas être imposées par un propriétaire de logiciel
  • Drupal : le projet n’appartient pas à une entreprise en particulier
  • Liberté de choisir ou de changer de prestataire

Possibilité d'étudier le code source pour localiser d'éventuels problèmes de sécurité

Open source

Les droits d'auteur

Les droits d'auteur d'un logiciel open source sont définis par la licence

  • Logiciel libre (free software) : souligne les aspects éthiques du développement libre et gratuit
  • Open source : souligne les avantages qualitatifs et économiques de la liberté d'accès et des modifications aux sources
    • L'Open Source Initiative valide les licences qui respectent ces libertés
  • Ne pas confondre avec le domaine public :
    • Libre et Open Source reposent sur l'existence du copyright
    • Les risques du domaine public
    • Les limitations du domaine public en droit français
  • Drupal : General Public licence versions 2 et suivantes (GPL)

Modules et thèmes contrib

  • Au téléchargement de Drupal, on se procure des modules et thèmes cœur = core
  • On peut compléter le cœur par des modules et thèmes créés par la communauté = contrib
    • Communauté : entre autres, ceux qui développent en Drupal et mettent leur travail à la disposition des autres
  • On peut développer des modules et des thèmes personnalisés = custom
    • Ces modules et thèmes peuvent être mis à la disposition de la communauté

Modules et thèmes contrib

  • Les modules et les thèmes peuvent être téléchargés à partir de drupal.org et gérés à partir de l'interface du site
  • Une discipline stricte de documentation et un système automatisé de tests unitaires et fonctionnels permettent de contrôler la qualité des modules communautaires

Modules et thèmes contrib

Distribution

Façon plus simple de se procurer un site avec des fonctionnalités nécessaires

  • Un seul package
  • Tous les modules nécessaires
  • Tous les thèmes nécessaires
  • Un profil d'installation
  • Des outils complémentaires
  • Des « features » de configuration

En bref : du prêt à l'emploi

L'interface de configuration

Permet de configurer le site : déterminer les préférences, télécharger et activer des modules et des thèmes, ajouter des langues...

Apparaît différemment à différents utilisateurs, selon les configurations personnalisées :

  • Sitebuilder peut construire et configurer le site : types de contenu, formats, listes de contenu (vues), blocs
  • Administrateur peut faire des opérations d'administration : classification (taxinomie), menus, sécurité, utilisateurs (rôles, permissions), SEO, définition de Workflow
    • Frontière mouvantes entre builder et admin
  • Rédacteur peut créer des contenus, mettre en avant des articles choisis, ajouter des images, changer la classification etc.
    • Utilisation de workflow et séparation des droits

Sources

Au téléchargement de Drupal, on se procure tous les fichiers sources dans lesquelles développeur peut créer les fonctions manquantes

  • Back : +PHP, +JS, -HTML, -CSS
  • Front : -PHP, -JS, +HTML, +CSS

Développement des thèmes

Choix de thème

  • Thèmes contrib : choisir un thème et y apporter éventuellement de légères modifications par un sous-thème
  • Thèmes de base (contrib) : créer un sous-thème à partir d'un thème de base
  • Création de thème à partir de rien (« from scratch »)

Développement des thèmes

  • Ne jamais modifier des thèmes développés par des autres
    • Les mises à jour sont impossibles si le thème contrib a été modifié
    • Pour modifier un thème, créer un sous-thème
  • Développement sur Drupal se fait en modifiant des fichiers avec un éditeur de texte/IDE
  • CSS, HTML (PHP, Javascript/jQuery...)

Développement des modules

Module contrib ou module custom ?

  • Si un module contrib déjà existant couvre plus de 80 % du besoin, vérifier son niveau de maintenance
    • Versions stables
    • Versions dev, alpha, beta, rc, unstable
  • Si un module contrib déjà existant couvre moins
    • Vérifier si le besoin de plus haut niveau ne serait pas mieux servi par ce qui existe
    • Créer un module custom

Développement des modules

  • Ne jamais modifier des modules développés par des autres
    • Si besoin de changer le fonctionnement du module contib ou core, créer un module personnalisé
    • Drupal permet de modifier presque tout sans changer le code existant
  • PHP (JS, HTML, CSS)

Merci !

L'équipe OSInet

Frédéric G. Marand Outi Munter Brigitte Taïeb
Cofondateur et gérant – et spécialiste en programmation système et réseau Chef de projet, graphiste et thémeuse Directrice commerciale

www.osinet.fr