Cahier des charges de la migration Drupal6

De April MediaWiki
Aller à la navigationAller à la recherche

Cahier des charges général

  • logiciel libre
  • production de code HTML
    • accessible (validation WAVE)
    • valide W3C
    • ne nécessitant pas javascript dans la partie publique
  • rôles de contributeurs donnant accès à des fonctionnalités différentes. À minima:
    • contributeur
    • administrateur/webmaster
    • superadmin
  • système de contrôle de versions des objets éditoriaux, revert possible
  • aspect graphique identique à l'existant ou proche (un rafraîchissement du style peut être proposé, notamment pour améliorer le mobile)
    Amha ce serait un gros raté :) Polux (discussion) 3 janvier 2019 à 21:48 (CET)

User stories

Interviewer:

  • Fred
  • Étienne
  • Isabella
  • Marie-Odile
  • Lionel
  • François

Cahier des charges de migration

Les URLs doivent être toutes conservées et mener au contenu migré. Pour cela, le CMS doit soit associer le contenu aux mêmes URLs, soit, si ce n'est pas possible, mettre en place une redirection via htaccess ou équivalent.

Les fichiers uploadés doivent être accessibles sous les mêmes conditions d'autorisation.

Fonctionnalités éditoriales attendues

Page d'accueil

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Citation du moment: affichage d'un article de type citation pris au hasard Obligatoire Oui Oui facile
Flux RSS: configurables à partir de l'interface d'administration ou du template (LinuxFR, AdL, Lolix, ...) Obligatoire Oui Oui facile ; mais ça signifie quoi configurable ?
Bandeaux de campagnes: idéalement configurables à partir de l'interface de type citation pris au hasard Obligatoire Oui Oui facile
Dernière vidéo: dernier article de type video, avec métadonnées affichées (chapo) + vignette Obligatoire Oui Oui (à confirmer pour les métadonnées) facile
Nuage de tags: chaque article doit pouvoir être taggué Obligatoire Oui Oui facile
Revue de presse, actualités, communiqués: derniers articles de type presse, actualités, communiqués Obligatoire Oui Oui facile

Taxonomie

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Taxonomie: thèmes, types de publication, catégories Obligatoire Oui limité facile
Chaque élément de taxonomie est associé à une page (ex : mot-tag "open bar" → http://april.org/themes/open-bar), éditable : chapeau avant article , image, etc. pouvoir configurer la pagination Obligatoire Oui Oui facile
Les taxonomies de type date doivent produire des calendriers web, ICAL, RSS, etc. Bien Oui avec le plugin Agenda + pour l'import https://plugins.spip.net/import_ics.html Oui facile pour RSS, à coder pour ical C'est pas du tout ce que je ferais. Si tu veux un calendrier pour la liste des évènements, c'est pas une taxonomie que tu veux. Ce que tu veux c'est un objet éditorial évènement. Et ta vue calendrier, ical ou autre est juste une modalité de vue de liste. C'est pas de la taxonomie.
Structures d'articles différente en fonction du type d’article : revue presse, évènements, etc. Obligatoire Oui Difficile facile Je suis curieux de voir pourquoi spip est en vert la dessus :)

Workflow de publication

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
États de publication : au moins publié, en validation, en cours d’écriture, retiré (si possible) Obligatoire Oui Oui Oui
Programmer la publication d'un contenu. Bien Oui Oui programmation également possible d'une mise à jour d'un contenu
Le CMS devrait proposer une gestion des utilisateurs avec différents profils donnant différents droits d'accès (en création de contenu et en lecture Obligatoire Oui Moui Oui

Fonctions d’édition

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Édition par saisie uniquement via formulaire web de code HTML et/ou markup sans avoir recours à des tags htmls compliqués (autres que a, p ...), éventuellement en mode wysiwyg si production de code propre et récupération de l'existant. Obligatoire Oui, html, code spip, édition wysiwyg

Il est aussi possible via le plugin odt2spip d'importer un texte, et ses illustrations, au format odt en tant qu'article https://contrib.spip.net/odt2spip-creation-d-articles-a-partir-de-fichiers. Le plugin Crayons permet aux personnes connectées de corriger un article directement de l'aspect public https://contrib.spip.net/Les-Crayons.

Oui Oui
Pouvoir prévisualisation un contenu avant publication Obligatoire Oui Oui Oui
Accéder à la prévisualisation du contenu dans la même page où l'on édite sans validation sur une page déjà publiée. Bien Oui, mode édition + visualisation intantanée Oui Oui
Upload de plusieurs fichiers par article, insertion dans le corps de l'article, éventuelle vignette. Bien Oui Oui Oui
L'administration du site (contenu, page de garde, configuration…) doit être possible au maximum juste avec le navigateur web Bien Oui Oui Oui
Facilité d'inclusion des contenus éditoriaux riches et/ou spécifiques (embeds, boutons, cadres, compositions à la demande...) sans coder de classe html. Obligatoire Oui

Suivi des révisions

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Retour possible et traçable des objets éditoriaux aux anciennes révisions Obligatoire Oui Oui À condition de le coder
Afficher les différences des révisions des objets éditoriaux Obligatoire Oui
Suivre les modifications apportées à la "structure" du site (ex : suppression d'une page, d'un éléments d'un menu, modification d'un titre) Bien en partie + programmable

Mise en page

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Faciliter la mise en page d'images par le formulaire éditorial sans saisir d’HTML. Bien Oui en wysiwyg Oui en wysiwyg À condition de le coder
Citation, italique, gras, boutons, etc. Directement en HTML ou langage de markup. Obligatoire Oui Oui
Possibilité de créer des galleries dans la page Bien Oui en html ou plugin Oui
Versions alternatives des articles : mode impression propre Bien Oui via CSS Oui via CSS
Versions alternatives des articles : mode mobile Obligatoire Oui via CSS Oui via CSS


Multi-linguisme

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Avoir plusieurs sites, chacun dans sa langue avec des pages disponibles uniquement dans un site Obligatoire Oui avec https://plugins.spip.net/multidomaines À condition de le coder
Fonctionnalité de traduction : les traductions sont attachées à l’objet éditorial. Obligatoire Oui

Utilisation de la balise multi pour les titres et descriptions des médias pour les avoir en plusieurs langues, un plugin en rend l'utilisation plus facile (plugin mutilangue). Pour la traduction d'articles et de rubriques, les plugins Traduction autrement rajoutent des onglets dans l'interface privée pour gérer la traduction d'articles.

Vue visiteur: passer d'une version à l'autre simplement Bien' Oui

Configuration dans le squelette.

Medias

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Pouvoir « attacher un fichier » à l’article. Bien Oui Oui À condition de le coder
Disposer d’un gestionnaire de médias, les classer, les renommer, les référencer, les déplacer et les réutiliser. Bien Oui Oui

SEO, web sémantique, réseaux sociaux

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Positionner les métas (<meta property="og:xxx"/>) correctement pour gérer les partages dans les réseaux sociaux et positionner les images dans les liens web Bien Oui : manuel via template ou automatique via plugin https://contrib.spip.net/Metas-version-2 Oui via templateÀ condition de le coder
Implémenter un mécanisme de meta dans l'esprit de alinks Si possible Oui avec le plugin Dictionnaires https://plugins.spip.net/dictionnaires Possible via plugin ou développement
Ajouter des boutons de partages Twitter, Mastodon, … Si possible Oui Oui
Permettre de changer facilement l'url d'une page, définir plusieurs alias. Obligatoire Oui Oui mais un seul alias
Pouvoir produire des calendriers ical et des flux RSS pour tous types de contenus. Définir un flux RSS général, blacklister un article du ou des flux RSS. Obligatoire ical = évènements de l'agenda, sinon à programmer. Flux RSS par défaut peut être personnalisé.
Disposer d’un type de contenu podcast avec un flux RSS particulier pour les lecteurs de podcast. Bien
Gérer dynamiquement le fichier robots.txt. Si possible
Possibilité de remonter les backlinks. Si possible Oui, natif
Gérer les parcours de visite, clics par article, etc. Si possible Oui

plugin piwik https://contrib.spip.net/Piwik-2860

Structure du site

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Modifier facilement les menus. Pouvoir ranger facilement les éléments d'un menu par ordre alphabétique, le cas échéant. Bien Oui soit en attribuant un numéro aux rubriques dans l'ordre voulu soit via le plugin Menus https://contrib.spip.net/Menus-3139 Oui, natif À condition de le coder
Reprendre les vues de Drupal personnalisables (type de contenu affiché, longueur des accroches, nombre d'éléments par page...) par ex. https://www.april.org/actualites Obligatoire Oui à programmer avec les noisettes https://plugins.spip.net/noizetier.html
Gestion des campagnes/bannières, ajout sur toutes les pages, exclusion sur certaines pages. Bien
Ajouter automatiquement les pages dans le flux RSS global Bien Oui
Pouvoir désactiver l'ajout automatique d'une page dans le flux RSS Bien Devrait pouvoir se faire par une configuration (mot-clé technique par exemple).
Reprendre des flux RSS sur la page d'accueil Obligatoire Oui conception du squelette
Gestion du footer sitemap la plus automatisée possible Si possible Oui

Si on parle bien d'avoir le plan du site qui se met à jour en fonction de la parution des articles. Il est également possible de configurer le site de façon à ne pas y faire figurer certains articles ou rubriques dans le sitemap.

Faire en sorte que la personne visitant le site sache toujours où elle est (menus ou fil d'Ariane ou autre) Oui conception du squelette

Interactions

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Disposer d’un formulaire de contact paramétrable avec différentes adresses de courriel en fonction des thèmes, plus antispam (accessible, paramétrable). Obligatoire Oui + voir Nospam https://plugins.spip.net/nospam.html À condition de le coder
Bloquer l'enregistrement de comptes sans validation, bloquer les commentaires sauf sur certaines pages spécifiques. Obligatoire Oui

Intégration à gDTC

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Il est possible d'afficher dans certaines pages des indices sur les nombres de membres, idéalement par l'interpolation d'une variable extraite à partir de la base des membres. Obligatoire à programmer À condition de le coder

La page personnelle du membre est intégrable comme partie du site, en reprenant la charte graphique générale et en s'authentifiant comme membre.

Bien Oui
Une page permet de se renvoyer le mot de passe Obligatoire Oui
Le formulaire d'adhésion est intégré au CMS Obligatoire Oui
Trombinoscope, équipe, page des personnes morales Ces pages sont intégrées au CMS tout comme /my/. Bien Si ce sont des comptes utilisateur, en ajoutant des champs extra.
Il est possible d'utiliser gDTC comme base d'authentification des membres et ainsi d'implémenter le SSO. Idéalement, les membres du CA et permanents ont des droits étendus ajoutés. Obligatoire

Recherche

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Avoir un moteur de recherche textuelle performant Bien Oui, peut être améliorer avec Fulltext, voir Sphinx À condition de le coder
Idéalement, pouvoir restreindre par type de contenu, thème, trier par pertinence, par date, filtrer sur les articles disponibles en multilingue. Si possible oui par pertinence, sinon formulaire à faire en squelette

Besoins admin sys

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Les fonctionnalités essentielles doivent être dans le core du logiciel dans la mesure du possible: faire appel au moins de modules externes possibles Bien SPIP est modulaire et fonctionne justement avec des plugins, qui sont développés pour la plupart sur la zone, ouverts aux améliorations. À condition de le coder
Pouvoir développer des modules persos Bien Oui
Pouvoir mettre en place une version d'intégration/dév Bien Oui avec un squelette en paramètre d'url (mais tout CMS confondus, c'est mieux soit sur un hébergement différent de la prod, soit au moins un sous-domaine)
Faciliter l'utilisation de sélecteurs CSS pour la mise en page pour des pages particulières (i.e. utiliser des ID, classes sur body en fonction du type d'article, l'ID de la page, etc.) Si possible Oui
Permettre d'ajouter des enrichissements CSS inline Bien
Conserver les URLs actuels Obligatoire À condition de le coder : les adresses du site de l'April sont de deux types semble-t-il : domaine/article et domaine/rubrique/article. Sinon ça aurait été possible simplement dans la configuration du site.
Pouvoir mettre le site en blackout Bien Oui En travaux ou Intranet n'autorise le site qu'au personnes authentifiées
Le CMS doit pouvoir fournir des pages 404 personnalisées, éventuellement adaptatives (outil de recherche, proposition de contenu). Bien Oui
Les articles récupérés par le bot Alexandrie sont récupérables par le CMS sous la forme d'un type d'article particulier, avec des champs spécifiques. Obligatoire
Fonctionne en Debian stable (stretch au 13/03/2018), en 100% libre Obligatoire Oui
Sauvegarde du corpus dans une base MySQL Obligatoire
Support full HTTPS Obligatoire Oui
Supervision possible des nouvelles versions disponibles, des alertes de sécurité. Bien oui pour la version disponible en bas de chaque page + alertes de sécurité sur la liste spip-ann
Facilité d'application des patches de sécurité. Obligatoire Oui avec spip_loader.php
Supervision du fonctionnement nominal, envoi d'alertes par le CMS en cas de besoin, journal d'évènements. Obligatoire
Disposer d'un groupe de bénévoles *pérenne* maîtrisant l'outil Obligatoire Oui