Différences entre les versions de « Cahier des charges de la migration Drupal6 »

De April MediaWiki
Aller à la navigationAller à la recherche
 
(71 versions intermédiaires par 8 utilisateurs non affichées)
Ligne 4 : Ligne 4 :
 
* logiciel libre
 
* logiciel libre
 
* production de code HTML
 
* production de code HTML
** accessible
+
** accessible (validation WAVE)
 
** valide W3C
 
** valide W3C
 
** ne nécessitant pas javascript dans la partie publique
 
** ne nécessitant pas javascript dans la partie publique
Ligne 12 : Ligne 12 :
 
** superadmin
 
** superadmin
 
* système de contrôle de versions des objets éditoriaux, revert possible
 
* 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)
+
* {{commentaire|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é :) [[Utilisateur:Polux|Polux]] ([[Discussion utilisateur:Polux|discussion]]) 3 janvier 2019 à 21:48 (CET)}}
  
 +
Une liste des [[particularités du site web Drupal6]].
  
 
== User stories ==
 
== User stories ==
Ligne 42 : Ligne 43 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
Ligne 47 : Ligne 49 :
 
|Citation du moment: affichage d'un article de type citation pris au hasard
 
|Citation du moment: affichage d'un article de type citation pris au hasard
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 54 : Ligne 57 :
 
|Flux RSS: configurables à partir de l'interface d'administration ou du template (LinuxFR, AdL, Lolix, ...)  
 
|Flux RSS: configurables à partir de l'interface d'administration ou du template (LinuxFR, AdL, Lolix, ...)  
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|facile ; mais ça signifie quoi configurable ?}}
 
|
 
|
 
|
 
|
Ligne 61 : Ligne 65 :
 
|Bandeaux de campagnes: idéalement configurables à partir de l'interface de type citation pris au hasard
 
|Bandeaux de campagnes: idéalement configurables à partir de l'interface de type citation pris au hasard
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 68 : Ligne 73 :
 
|Dernière vidéo: dernier article de type video, avec métadonnées affichées (chapo) + vignette  
 
|Dernière vidéo: dernier article de type video, avec métadonnées affichées (chapo) + vignette  
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}} (à confirmer pour les métadonnées)
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 75 : Ligne 81 :
 
|Nuage de tags: chaque article doit pouvoir être taggué  
 
|Nuage de tags: chaque article doit pouvoir être taggué  
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 82 : Ligne 89 :
 
|Revue de presse, actualités, communiqués: derniers articles de type presse, actualités, communiqués  
 
|Revue de presse, actualités, communiqués: derniers articles de type presse, actualités, communiqués  
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}}
 +
|{{oui}}
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
|
 
|
 
|-
 
 
 
|}
 
|}
 
  
 
=== Taxonomie ===
 
=== Taxonomie ===
Ligne 98 : Ligne 103 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Taxonomie: au moins thèmes, types de publication, catégories
+
|Taxonomie: thèmes, types de publication, catégories
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{moui|limité}}
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 110 : Ligne 117 :
 
|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
 
|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'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 117 : Ligne 125 :
 
|Les taxonomies de type date doivent produire des calendriers web, ICAL, RSS, etc.
 
|Les taxonomies de type date doivent produire des calendriers web, ICAL, RSS, etc.
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui}} avec le plugin Agenda + pour l'import https://plugins.spip.net/import_ics.html
 +
|{{oui}}
 +
|{{moui|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.
+
|Structures d'articles différente en fonction du type d’article : revue presse, évènements, etc.
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}}
 +
|{{Non|Difficile}}
 +
|{{oui|facile}}
 
|
 
|
|
+
|Je suis curieux de voir pourquoi spip est en vert la dessus :)(Avec le plugin compositions : facile)
|
 
|
 
 
|-
 
|-
  
 +
|
 
|}
 
|}
 
  
 
=== Workflow de publication ===
 
=== Workflow de publication ===
Ligne 140 : Ligne 150 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|États de publication : au moins publié, en validation, en cours d’écriture, retiré (si possible)
+
|États de publication : au moins publié, en validation, en cours d’écriture, retiré (si possible)
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 152 : Ligne 164 :
 
|Programmer la publication d'un contenu.  
 
|Programmer la publication d'un contenu.  
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|programmation également possible d'une mise à jour d'un contenu}}
 
|
 
|
 
|
 
|
Ligne 159 : Ligne 172 :
 
|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
 
|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'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{moui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 172 : Ligne 186 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Édition par saisie uniquement via formulaire web de code HTML et/ou markup, éventuellement en mode wysiwyg si production de code propre et récupération de l'existant.  
+
|É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'''
 
|'''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.
+
|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'''
 
|'''Bien'''
|
+
|{{oui}}, mode édition + visualisation intantanée
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 191 : Ligne 218 :
 
|Upload de plusieurs fichiers par article, insertion dans le corps de l'article, éventuelle vignette.  
 
|Upload de plusieurs fichiers par article, insertion dans le corps de l'article, éventuelle vignette.  
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 198 : Ligne 226 :
 
|L'administration du site (contenu, page de garde, configuration…) doit être possible au maximum juste avec le navigateur web
 
|L'administration du site (contenu, page de garde, configuration…) doit être possible au maximum juste avec le navigateur web
 
|'''Bien'''
 
|'''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}} avec par ex. l'éditeur CKEditor fourni, paramétrable ou avec des modèles SPIP directement insérables dans l'article
 +
|
 +
|{{oui}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
 
  
 
=== Suivi des révisions ===
 
=== Suivi des révisions ===
Ligne 213 : Ligne 248 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Revert traçable des objets éditoriaux
+
|Retour possible et traçable des objets éditoriaux aux anciennes révisions
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 225 : Ligne 262 :
 
|Afficher les différences des révisions des objets éditoriaux
 
|Afficher les différences des révisions des objets éditoriaux
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 232 : Ligne 270 :
 
|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)
 
|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'''
 
|'''Bien'''
 +
|{{moui|en partie + programmable}}
 
|
 
|
|
+
|{{moui|en partie de base (titre et attributs divers de page), en partie à coder}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
  
 
=== Mise en page ===
 
=== Mise en page ===
Ligne 246 : Ligne 284 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
Ligne 251 : Ligne 290 :
 
|Faciliter la mise en page d'images par le formulaire éditorial sans saisir d’HTML.
 
|Faciliter la mise en page d'images par le formulaire éditorial sans saisir d’HTML.
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}} en wysiwyg
|
+
|{{oui}} en wysiwyg
 +
|{{oui}}
 
|
 
|
 
|-
 
|-
 
|Citation, italique, gras, boutons, etc. Directement en HTML ou langage de markup.
 
|Citation, italique, gras, boutons, etc. Directement en HTML ou langage de markup.
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 264 : Ligne 305 :
 
|Possibilité de créer des galleries dans la page
 
|Possibilité de créer des galleries dans la page
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}} en html ou plugin
|
+
|{{oui}}
 +
|{{oui| facile}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Versions alternatives des articles : mode impression
+
|Versions alternatives des articles : mode impression propre
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}} via CSS
|
+
|{{oui}} via CSS
 +
|{{oui}} via CSS
 
|
 
|
 
|
 
|
Ligne 278 : Ligne 321 :
 
|Versions alternatives des articles : mode mobile
 
|Versions alternatives des articles : mode mobile
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}} via CSS
|
+
|{{oui}} via CSS
 +
|{{oui}} via CSS
 
|
 
|
 
|
 
|
 
|}
 
|}
 
  
 
=== Multi-linguisme ===
 
=== Multi-linguisme ===
Ligne 292 : Ligne 335 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Fonctionnalité de traduction : les traductions sont attachées à l’objet éditorial.
+
|Avoir plusieurs sites, chacun dans sa langue avec des pages disponibles uniquement dans un site
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}} avec https://plugins.spip.net/multidomaines
 +
|
 +
|{{oui|deux modes possibles: multilinguisme strict (chaque page dans chaque langue) ou multilinguisme best effort}}
 +
|
 
|
 
|
 +
|-
 +
|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.
 
|
 
|
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 304 : Ligne 358 :
 
|Vue visiteur: passer d'une version à l'autre simplement
 
|Vue visiteur: passer d'une version à l'autre simplement
 
|''Bien'''
 
|''Bien'''
 +
|{{oui}}
 +
 +
Configuration dans le squelette.
 
|
 
|
|
+
|{{oui}}
 
|
 
|
 
|}
 
|}
 
  
 
=== Medias ===
 
=== Medias ===
Ligne 318 : Ligne 374 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Pouvoir « attacher un fichier » à l’article.
+
|Pouvoir « attacher un fichier » à l’article.
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui|oui mais c'est pas la bonne façon de faire que de reproduire drupal}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Disposer d’un gestionnaire de médias, les classer, les référencer et les réutiliser.
+
|Disposer d’un gestionnaire de médias, les classer, les renommer, les référencer, les déplacer et les réutiliser.
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
  
 
=== SEO, web sémantique, réseaux sociaux ===
 
=== SEO, web sémantique, réseaux sociaux ===
Ligne 345 : Ligne 403 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Positionner les métas (<meta property="og:xxx"/>) correctement pour gérer les partages dans les réseaux sociaux.
+
|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'''
 
|'''Bien'''
 +
|{{oui}} : manuel via template ou automatique via plugin https://contrib.spip.net/Metas-version-2
 +
|{{oui}} via template
 +
|{{oui}}
 
|
 
|
 
|
 
|
 +
|-
 +
|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
 +
|{{oui| oui mais c'est pas bien de copier des fonctionnalités pourries de drupal :)}}
 
|
 
|
 
|
 
|
Ligne 357 : Ligne 425 :
 
|Ajouter des boutons de partages Twitter, Mastodon, …
 
|Ajouter des boutons de partages Twitter, Mastodon, …
 
|'''Si possible'''
 
|'''Si possible'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 364 : Ligne 433 :
 
|Permettre de changer facilement l'url d'une page, définir plusieurs alias.
 
|Permettre de changer facilement l'url d'une page, définir plusieurs alias.
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui}}
|
+
|{{oui}} mais un seul alias
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 371 : Ligne 441 :
 
|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.
 
|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'''
 
|'''Obligatoire'''
 +
|{{oui|ical = évènements de l'agenda, sinon à programmer. Flux RSS par défaut peut être personnalisé.}}
 
|
 
|
|
+
|{{moui|programmable sans trop peiner}}
 
|
 
|
 
|
 
|
Ligne 378 : Ligne 449 :
 
|Disposer d’un type de contenu podcast avec un flux RSS particulier pour les lecteurs de podcast.
 
|Disposer d’un type de contenu podcast avec un flux RSS particulier pour les lecteurs de podcast.
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui|facile s'il s'agit de restreindre aux pages de podcast, sinon nécessite par ex. un fond/squelette SPIP spécifique genre ?fond=podcastrss}}
 
|
 
|
|
+
|{{oui|facile}}
 
|
 
|
 
|
 
|
Ligne 385 : Ligne 457 :
 
|Gérer dynamiquement le fichier robots.txt.
 
|Gérer dynamiquement le fichier robots.txt.
 
|'''Si possible'''
 
|'''Si possible'''
 +
|{{non|ou alors pas facilement}}
 
|
 
|
|
+
|{{moui|mais pourquoi tant de haine ?}}
 
|
 
|
 
|
 
|
Ligne 392 : Ligne 465 :
 
|Possibilité de remonter les backlinks.
 
|Possibilité de remonter les backlinks.
 
|'''Si possible'''
 
|'''Si possible'''
 +
|{{oui}}, natif
 
|
 
|
|
+
|{{moui|je ne vois pas à quoi tu fais référence}}
 
|
 
|
 
|
 
|
Ligne 399 : Ligne 473 :
 
|Gérer les parcours de visite, clics par article, etc.
 
|Gérer les parcours de visite, clics par article, etc.
 
|'''Si possible'''
 
|'''Si possible'''
 +
|{{oui}}
 +
plugin piwik https://contrib.spip.net/Piwik-2860
 
|
 
|
|
+
|{{moui|oui mais c'est pas son rôle. Piwik/matomo fera ça mieux.}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
  
 
=== Structure du site ===
 
=== Structure du site ===
Ligne 413 : Ligne 488 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Modifier facilement les menus. Pouvoir ranger facilement les élements d'un menu par ordre alphabétique, le cas échéant.
+
|Modifier facilement les menus. Pouvoir ranger facilement les éléments d'un menu par ordre alphabétique, le cas échéant.
 
|'''Bien'''
 
|'''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
 +
|{{oui}}
 
|
 
|
 
|
 
|
 +
|-
 +
|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 ou alors dans les squelettes
 +
|
 +
|{{oui|facile}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Reprendre les vues de Drupal dans une certaine mesure: configurer le nombre d'articles, la taille du contenu de prévisualisation, etc.
+
|Gestion des campagnes/bannières, ajout sur toutes les pages, exclusion sur certaines pages.
|'''Obligatoire'''
+
|'''Bien'''
 +
|{{oui}}dans le squelette en cachant la bannière via une boucle <nowiki>BOUCLE_mots(MOTS) {id_article} {titre=mot-clef-technique}</nowiki>
 +
|
 +
|{{oui}}
 
|
 
|
 +
|-
 +
|Ajouter automatiquement les pages dans le flux RSS global
 +
|'''Bien'''
 +
|{{oui}}
 
|
 
|
 +
|{{oui}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Gestion des campagnes/bannières, exclusion sur certaines pages.
+
|Pouvoir désactiver l'ajout automatique d'une page dans le flux RSS
 
|'''Bien'''
 
|'''Bien'''
 +
|{{moui|Devrait pouvoir se faire par une configuration (mot-clé technique par exemple).}}
 
|
 
|
|
+
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 439 : Ligne 533 :
 
|Reprendre des flux RSS sur la page d'accueil
 
|Reprendre des flux RSS sur la page d'accueil
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}} conception du squelette
 
|
 
|
 +
|{{oui}}
 
|
 
|
 +
|
 +
|
 +
|-
 +
|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.
 +
|
 +
|{{oui}}
 +
|
 +
|
 +
|-
 +
|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
 +
|
 +
|{{oui}}
 
|
 
|
 
|
 
|
 
|}
 
|}
  
 
+
=== Interactions ===
 
 
=== Intéractions ===
 
  
  
Ligne 455 : Ligne 566 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
 
|-
 
|-
|Disposer d’un formulaire de contact paramétrable avec adresses de courriel en fonction des thèmes, plus antispam (accessible, paramétrable).
+
|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'''
 
|'''Obligatoire'''
|
+
|{{oui}} + voir Nospam https://plugins.spip.net/nospam.html
|
+
|{{oui|n'importe quel formulaire simple, pour inscription news, evenement, etc.}}
 +
|{{oui|n'importe quel formulaire simple, pour inscription news, evenement, etc.}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Bloquer l'enregistrement de comptes sans validation, bloquer les commentaires.
+
|Bloquer l'enregistrement de comptes sans validation, bloquer les commentaires sauf sur certaines pages spécifiques.
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}}
 
|
 
|
|
+
|{{oui|pas d'enregistrement, pas de commentaire si on n'en veut pas}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
  
 
=== Intégration à gDTC ===
 
=== Intégration à gDTC ===
Ligne 481 : Ligne 594 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
Ligne 486 : Ligne 600 :
 
|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.  
 
|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'''
 
|'''Obligatoire'''
|
+
|{{oui}} voir [[Particularités du site web Drupal6#Solution_SPIP]]
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 494 : Ligne 609 :
 
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.  
 
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'''
 
|'''Bien'''
 +
|{{oui|cf. plus haut, mais voir comment gérer les pages non-HTML}}
 
|
 
|
|
+
|{{moui|à mieux définir}}
 
|
 
|
 
|
 
|
Ligne 501 : Ligne 617 :
 
|Une page permet de se renvoyer le mot de passe
 
|Une page permet de se renvoyer le mot de passe
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui|cf. plus haut}}
 
|
 
|
|
+
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 508 : Ligne 625 :
 
|Le formulaire d'adhésion est intégré au CMS
 
|Le formulaire d'adhésion est intégré au CMS
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}} avec un modèle
 
|
 
|
|
+
|{{moui|lol}}
 
|
 
|
 
|
 
|
Ligne 515 : Ligne 633 :
 
|Trombinoscope, équipe, page des personnes morales Ces pages sont intégrées au CMS tout comme /my/.
 
|Trombinoscope, équipe, page des personnes morales Ces pages sont intégrées au CMS tout comme /my/.
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui|cf. plus haut}}
 
|
 
|
|
+
|{{oui|lol}}
 
|
 
|
 
|
 
|
Ligne 522 : Ligne 641 :
 
|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.
 
|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'''
 
|'''Obligatoire'''
 +
|{{moui|avec LDAP}}
 
|
 
|
|
+
|{{moui|au choix : lol | vive les bugs | dès que dtc est ldap ready}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
  
 
=== Recherche ===
 
=== Recherche ===
Ligne 536 : Ligne 655 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
Ligne 541 : Ligne 661 :
 
|Avoir un moteur de recherche textuelle performant
 
|Avoir un moteur de recherche textuelle performant
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui}}, peut être améliorer avec Fulltext, voir Sphinx
 
|
 
|
|
+
|{{oui|support natif de elastic search}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Idéalement, pouvoir restreindre par type de contenu, trier par pertinence, par date, filtrer sur les articles disponibles en multilingue.
+
|Idéalement, pouvoir restreindre par type de contenu, thème, trier par pertinence, par date, filtrer sur les articles disponibles en multilingue.
 
|'''Si possible'''
 
|'''Si possible'''
 +
|oui par pertinence, sinon formulaire à faire en squelette
 
|
 
|
|
+
|{{oui}}
 
|
 
|
 
|
 
|
 
|}
 
|}
 
 
 
  
 
== Besoins admin sys ==
 
== Besoins admin sys ==
Ligne 564 : Ligne 683 :
 
!Spip
 
!Spip
 
!Wordpress
 
!Wordpress
 +
!Wagtail
 
!Joomla
 
!Joomla
 
!Commentaire
 
!Commentaire
Ligne 569 : Ligne 689 :
 
|Les fonctionnalités essentielles doivent être dans le core du logiciel dans la mesure du possible: faire appel au moins de modules externes possibles
 
|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'''
 
|'''Bien'''
|
+
|{{moui}}SPIP est modulaire et fonctionne justement avec des plugins, qui sont développés pour la plupart sur la zone, ouverts aux améliorations, quelques plugins probables
|
+
|{{non}} installation de nombreux plugins à la licence douteuse quasi obligatoire
 +
|Non applicable. Mon trollomètre va exploser.
 
|
 
|
 
|
 
|
Ligne 576 : Ligne 697 :
 
|Pouvoir développer des modules persos
 
|Pouvoir développer des modules persos
 
|'''Bien'''
 
|'''Bien'''
|
+
|{{oui}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 583 : Ligne 705 :
 
|Pouvoir mettre en place une version d'intégration/dév
 
|Pouvoir mettre en place une version d'intégration/dév
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui}} avec un squelette en paramètre d'url
 
|
 
|
 +
|{{oui}}
 
|
 
|
|
+
|(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  
+
|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'''
 
|'''Si possible'''
 +
|{{oui}}
 +
|{{oui}}
 +
|{{moui|Non c'est pas l'idée. L'idée c'est que la mise en page de toutes les pages passe par l'ihm du backend. }}
 
|
 
|
 
|
 
|
 +
|-
 +
|Permettre d'ajouter des enrichissements CSS inline
 +
|'''Bien'''
 +
|{{oui}}
 +
|{{oui}}
 +
|{{moui|Non c'est pas l'idée.}}
 
|
 
|
 
|
 
|
Ligne 597 : Ligne 729 :
 
|Conserver les URLs actuels
 
|Conserver les URLs actuels
 
|'''Obligatoire'''
 
|'''Obligatoire'''
|
+
|{{oui|cf script de migration}}
|
+
|{{oui}}
 +
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 604 : Ligne 737 :
 
|Pouvoir mettre le site en blackout
 
|Pouvoir mettre le site en blackout
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui}} En travaux ou Intranet n'autorise le site qu'au personnes authentifiées
 
|
 
|
|
+
|{{oui}}
 
|
 
|
 
|
 
|
Ligne 611 : Ligne 745 :
 
|Le CMS doit pouvoir fournir des pages 404 personnalisées, éventuellement adaptatives (outil de recherche, proposition de contenu).  
 
|Le CMS doit pouvoir fournir des pages 404 personnalisées, éventuellement adaptatives (outil de recherche, proposition de contenu).  
 
|'''Bien'''
 
|'''Bien'''
 +
|{{oui}}
 +
|{{oui}}
 +
|{{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'''
 +
|{{oui|à condition de faire évoluer alexandrie}}
 +
|{{oui}}
 +
|{{moui}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|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.
+
|Fonctionne en Debian stable (stretch au 13/03/2018), en 100% libre
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}}
 +
|{{moui}} difficile d'obtenir des informations de licence pour les plugins
 +
|{{oui}}
 
|
 
|
 
|
 
|
 +
|-
 +
|Sauvegarde du corpus dans une base MySQL
 +
|'''Obligatoire'''
 +
|{{oui}}
 +
|{{oui}}
 +
|{{oui|dans une base SQL}}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Fonctionne en Debian stable (stretch au 13/03/2018), en 100% libre
+
|Support full HTTPS
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}}
 +
|{{oui}}
 +
|{{oui}}
 +
|
 +
|
 +
|-
 +
|Supervision possible des nouvelles versions disponibles, des alertes de sécurité.
 +
|'''Bien'''
 +
|{{oui|déjà implémenté pour les autres SPIP}}
 +
|
 +
|{{ oui }}
 
|
 
|
 
|
 
|
 +
|-
 +
|Faible fréquence de découverte des patches de sécurité et faible risque de powning.
 +
|'''Obligatoire'''
 +
|{{oui}} une alerte par an les deux dernières années
 +
|{{moui|alertes régulières}}
 +
|{{ oui }}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Sauvegarde du corpus dans une base MySQL
+
|Facilité d'application des patches de sécurité.
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}} avec spip_loader.php et l'écran de sécurité
 +
|{{non}}
 +
|{{ oui }}
 
|
 
|
 
|
 
|
 +
|-
 +
|Supervision du fonctionnement nominal, envoi d'alertes par le CMS en cas de besoin, journal d'évènements.
 +
|'''Obligatoire'''
 +
|{{oui|pour la supervision}}
 +
|
 +
|{{moui|c'est pas bien de copier des fonctionnalités pourries de drupal :) tu veux remplir tes tables de garbage ? }}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Support full HTTPS
+
|Disposer d'un groupe de bénévoles *pérenne* maîtrisant l'outil
 
|'''Obligatoire'''
 
|'''Obligatoire'''
 +
|{{oui}}
 +
|{{non}}
 +
|{{oui|avec un outil qui donne envie ça peut être plus facile}}
 +
|
 +
|
 +
|}
 +
 +
== Besoins développeur ==
 +
 +
{| class="wikitable"
 +
!|Fonction
 +
!Importance
 +
!Spip
 +
!Wordpress
 +
!Wagtail
 +
!Joomla
 +
!Commentaire
 +
|-
 +
|Je travaille sur un CMS qui ne ressemble pas à un tas de boue et qui n'appelle pas au suicide à chaque évolution
 +
|'''Bien'''
 +
|{{ oui }} mises à jour non destructive depuis toujours
 +
|
 +
|{{ oui }}
 +
|
 +
|
 +
|-
 +
|Je travaille sur un thème dans un langage de template, avec de la structure (type MVC)
 +
|'''Bien'''
 
|
 
|
 
|
 
|
 +
|{{ oui }}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Supervision possible des nouvelles versions disponibles, des alertes de sécurité.
+
|Je travaille sur un CMS dont la configuration aussi bien que le thème sont compréhensibles de façon globale, définis dans des fichiers textes, reproducibles, indexables et versionnables.
 
|'''Bien'''
 
|'''Bien'''
 
|
 
|
 
|
 
|
 +
|{{ oui }}
 
|
 
|
 
|
 
|
 
|-
 
|-
|Facilité d'application des patches de sécurité.
+
|Je travaille sur un CMS qui intègre des mécanisme de tests fonctionnels et de non regression
|'''Obligatoire'''
+
|'''Bien'''
 +
|
 +
|
 +
|{{ oui }}
 +
|
 
|
 
|
 +
|-
 +
|Disposer d'un groupe de bénévoles *pérenne* maîtrisant le langage qui décrit le CMS
 +
|'''Bien'''
 
|
 
|
 
|
 
|
 +
|{{ oui }}
 
|
 
|
 
|-
 
|-
|Supervision du fonctionnement nominal, envoi d'alertes par le CMS en cas de besoin, journal d'évènements.
+
|Je travaille sur un CMS qui ne nécessite {{commentaire|ni thèse ni aspirine pour le faire évoluer|c'est de toute évidence mal connaitre wagtail puisque s'il a des faiblesses, c'est là son principal point fort}}
|'''Obligatoire'''
 
 
|
 
|
 
|
 
|
 
|
 
|
 +
|{{ non }}
 
|
 
|
 
|}
 
|}
 
 
 
== Besoins remontés par Fred ==
 
 
{{todo}} à classer:
 
 
- Création d'une page :
 
 
  - pouvoir créer une page sans avoir recours à des tags htmls
 
    compliqués (autres que a, p ...)
 
 
  - présence d'un éditeur html pour aider, qui génère du html qui
 
    valide
 
 
  - gestion de révisions, avec affichage des révisions, pouvoir faire
 
    un diff, un retour à une révision
 
 
  - gestion mode non publié puis publié
 
 
  - paramétrage du chemin d'url pour avoir des urls parlantes
 
 
  - gestion possible de commentaires pour une page spécifique
 
 
  - ajout automatique de la page dans le flux rss
 
 
  - désactivation possible de l'ajout automatique d'une page dans le
 
    flux rss
 
 
  - pouvoir joindre des fichiers (images, document bureautique...)
 
 
  - avoir une version imprimable propre de la page une fois publiée
 
 
  - avoir une version PDF propre de la page une fois publiée
 
 
  - avoir une taxonomie / un vocabulaire à associer à du contenu
 
 
 
      - pour indiquer la liste des thèmes traités par
 
        l'article
 
 
      - pour indiquer une type de publication : Communiqué de
 
        presse, transcriptions, décryptualité …
 
       
 
  - avoir des flux RSS spécifique à chaque type de contenu
 
 
  - avoir un mode prévisualisation
 
 
 
- Pouvoir créer du contenu spécifique (avec des champs dédiés) :
 
 
  - bibliographie
 
 
  - transcription
 
 
  - événement, avec gestion d'un flux rss et d'un lien ical
 
 
  - lexique
 
 
  - position
 
 
  - revue de presse
 
 
  - ...
 
 
- Avoir des views personnalisables (type de contenu affiché, longueur
 
  des accroches, nombre d'éléments par page...) genre
 
  https://www.april.org/actualites
 
 
- Avoir un formulaire de contact avec différentes entrées associées à
 
  différentes adresses courriel
 
 
- Avoir un moteur de recherche performant, voir avec une version
 
  avancée avec recherche en filtrant par catégories, thèmes...
 
 
- Alinks ?
 
 
- Les fonctionnalités essentielles du site doivent être disponibles
 
  via le core du logiciel et non pas via des modules externes
 
 
 
- Présence d'un gestionnaire de médias permettant d'uploader des
 
  fichiers, les renommer, les mettre dans des dossiers, les déplacer
 
 
- Pouvoir créer du contenu de type podcast avec flux RSS dédidé et
 
  compatible lecteurs de podcast (pour décryptualité)
 
 
- Gestion multilangue du site avec des pages uniquement dans une
 
  langue
 
 
 
- Voir avec echarp pour la revue de presse
 
 
- Gestion des images pour un un lien web et réseaux sociaux (Twitter
 
  Cards) dans les meta tags
 
 
- boutons partage sur réseaux sociaux
 
 
- ajout de bannières sur toutes les pages voire en mettant des
 
  exceptions
 
 
- permettre la mise en place d'enrichissements HTML/CSS :
 
 
https://www.april.org/sauvons-le-partage-de-code-appel-signature-de-la-lettre-ouverte-save-code-share
 
 
- gestion d'un sitemap footer presque automatique ?
 
 
- l'affichage de contenu de flux rss externes, sur la page d'accueil
 
 
- doit être compatible version téléphones mobiles
 
 
=====
 
 
- SEO
 
 
- site accessible
 

Dernière version du 4 février 2019 à 16:15

Cahier des charges général[modifier]

  • 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)

Une liste des particularités du site web Drupal6.

User stories[modifier]

Interviewer:

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

Cahier des charges de migration[modifier]

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[modifier]

Page d'accueil[modifier]

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[modifier]

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 :)(Avec le plugin compositions : facile)

Workflow de publication[modifier]

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[modifier]

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 avec par ex. l'éditeur CKEditor fourni, paramétrable ou avec des modèles SPIP directement insérables dans l'article Oui

Suivi des révisions[modifier]

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Retour possible et traçable des objets éditoriaux aux anciennes révisions Obligatoire Oui Oui Oui
Afficher les différences des révisions des objets éditoriaux Obligatoire Oui Oui 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 en partie de base (titre et attributs divers de page), en partie à coder

Mise en page[modifier]

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 Oui
Citation, italique, gras, boutons, etc. Directement en HTML ou langage de markup. Obligatoire Oui Oui Oui
Possibilité de créer des galleries dans la page Bien Oui en html ou plugin Oui facile
Versions alternatives des articles : mode impression propre Bien Oui via CSS Oui via CSS Oui via CSS
Versions alternatives des articles : mode mobile Obligatoire Oui via CSS Oui via CSS Oui via CSS

Multi-linguisme[modifier]

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 deux modes possibles: multilinguisme strict (chaque page dans chaque langue) ou multilinguisme best effort
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.

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

Configuration dans le squelette.

Oui

Medias[modifier]

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Pouvoir « attacher un fichier » à l’article. Bien Oui Oui oui mais c'est pas la bonne façon de faire que de reproduire drupal
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 Oui

SEO, web sémantique, réseaux sociaux[modifier]

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 Oui
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 oui mais c'est pas bien de copier des fonctionnalités pourries de drupal :)
Ajouter des boutons de partages Twitter, Mastodon, … Si possible Oui Oui Oui
Permettre de changer facilement l'url d'une page, définir plusieurs alias. Obligatoire Oui Oui mais un seul alias Oui
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 Oui programmable sans trop peiner
Disposer d’un type de contenu podcast avec un flux RSS particulier pour les lecteurs de podcast. Bien Oui facile
Gérer dynamiquement le fichier robots.txt. Si possible ou alors pas facilement mais pourquoi tant de haine ?
Possibilité de remonter les backlinks. Si possible Oui, natif je ne vois pas à quoi tu fais référence
Gérer les parcours de visite, clics par article, etc. Si possible Oui

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

oui mais c'est pas son rôle. Piwik/matomo fera ça mieux.

Structure du site[modifier]

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 Oui
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 ou alors dans les squelettes facile
Gestion des campagnes/bannières, ajout sur toutes les pages, exclusion sur certaines pages. Bien Ouidans le squelette en cachant la bannière via une boucle BOUCLE_mots(MOTS) {id_article} {titre=mot-clef-technique} Oui
Ajouter automatiquement les pages dans le flux RSS global Bien Oui 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). Oui
Reprendre des flux RSS sur la page d'accueil Obligatoire Oui conception du squelette Oui
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.

Oui
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 Oui

Interactions[modifier]

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 n'importe quel formulaire simple, pour inscription news, evenement, etc. n'importe quel formulaire simple, pour inscription news, evenement, etc.
Bloquer l'enregistrement de comptes sans validation, bloquer les commentaires sauf sur certaines pages spécifiques. Obligatoire Oui pas d'enregistrement, pas de commentaire si on n'en veut pas

Intégration à gDTC[modifier]

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 Oui voir Particularités du site web Drupal6#Solution_SPIP Oui

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 cf. plus haut, mais voir comment gérer les pages non-HTML à mieux définir
Une page permet de se renvoyer le mot de passe Obligatoire cf. plus haut Oui
Le formulaire d'adhésion est intégré au CMS Obligatoire Oui avec un modèle lol
Trombinoscope, équipe, page des personnes morales Ces pages sont intégrées au CMS tout comme /my/. Bien cf. plus haut lol
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 avec LDAP au choix : lol

Recherche[modifier]

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Avoir un moteur de recherche textuelle performant Bien Oui, peut être améliorer avec Fulltext, voir Sphinx support natif de elastic search
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 Oui

Besoins admin sys[modifier]

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 MouiSPIP est modulaire et fonctionne justement avec des plugins, qui sont développés pour la plupart sur la zone, ouverts aux améliorations, quelques plugins probables Non installation de nombreux plugins à la licence douteuse quasi obligatoire Non applicable. Mon trollomètre va exploser.
Pouvoir développer des modules persos Bien Oui Oui Oui
Pouvoir mettre en place une version d'intégration/dév Bien Oui avec un squelette en paramètre d'url Oui (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 Oui Non c'est pas l'idée. L'idée c'est que la mise en page de toutes les pages passe par l'ihm du backend.
Permettre d'ajouter des enrichissements CSS inline Bien Oui Oui Non c'est pas l'idée.
Conserver les URLs actuels Obligatoire cf script de migration Oui Oui
Pouvoir mettre le site en blackout Bien Oui En travaux ou Intranet n'autorise le site qu'au personnes authentifiées Oui
Le CMS doit pouvoir fournir des pages 404 personnalisées, éventuellement adaptatives (outil de recherche, proposition de contenu). Bien Oui Oui 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 à condition de faire évoluer alexandrie Oui Moui
Fonctionne en Debian stable (stretch au 13/03/2018), en 100% libre Obligatoire Oui Moui difficile d'obtenir des informations de licence pour les plugins Oui
Sauvegarde du corpus dans une base MySQL Obligatoire Oui Oui dans une base SQL
Support full HTTPS Obligatoire Oui Oui Oui
Supervision possible des nouvelles versions disponibles, des alertes de sécurité. Bien déjà implémenté pour les autres SPIP Oui
Faible fréquence de découverte des patches de sécurité et faible risque de powning. Obligatoire Oui une alerte par an les deux dernières années alertes régulières Oui
Facilité d'application des patches de sécurité. Obligatoire Oui avec spip_loader.php et l'écran de sécurité Non Oui
Supervision du fonctionnement nominal, envoi d'alertes par le CMS en cas de besoin, journal d'évènements. Obligatoire pour la supervision c'est pas bien de copier des fonctionnalités pourries de drupal :) tu veux remplir tes tables de garbage ?
Disposer d'un groupe de bénévoles *pérenne* maîtrisant l'outil Obligatoire Oui Non avec un outil qui donne envie ça peut être plus facile

Besoins développeur[modifier]

Fonction Importance Spip Wordpress Wagtail Joomla Commentaire
Je travaille sur un CMS qui ne ressemble pas à un tas de boue et qui n'appelle pas au suicide à chaque évolution Bien Oui mises à jour non destructive depuis toujours Oui
Je travaille sur un thème dans un langage de template, avec de la structure (type MVC) Bien Oui
Je travaille sur un CMS dont la configuration aussi bien que le thème sont compréhensibles de façon globale, définis dans des fichiers textes, reproducibles, indexables et versionnables. Bien Oui
Je travaille sur un CMS qui intègre des mécanisme de tests fonctionnels et de non regression Bien Oui
Disposer d'un groupe de bénévoles *pérenne* maîtrisant le langage qui décrit le CMS Bien Oui
Je travaille sur un CMS qui ne nécessite ni thèse ni aspirine pour le faire évoluer
c'est de toute évidence mal connaitre wagtail puisque s'il a des faiblesses, c'est là son principal point fort
Non