Les objectifs de ce plugin
L’objectif de ce plugin est de disposer d’un statut supplémentaire pour les articles, le statut « archivé ».
Pourquoi un plugin supplémentaire sur ce sujet ?
L’objectif est similaire au plugin “Archive”, toutefois contrairement à ce dernier :
- il ajoute un statut “archivé” à la liste des statuts actuellement proposés pour les articles (et non pas une option “archivé”).
- l’approche technique est radicalement différente.
- il ne crée pas de champ ou de table suppléméntaire.
- il est compatible avec SPIP 3 et avec SPIP 4.1.
- je n’ai pas noté d’incompatibilité avec d’autres plugins.
- etc.
Compatibilité
- Le plugin est compatible avec SPIP 3.2, 4.0, 4.1, 4.2.
- Il est compatible avec PHP 7.4, 8.0, 8.1, 8.2.
Installation
Le plugin s’installe comme tous les plugins, cf. http://www.spip.net/fr_article3396.html .
Fonctionnalités
Lorsque que l’on affecte le statut « archivé » à un article, il n’apparaît plus sur le site public ainsi que dans l’espace privé de SPIP.

A noter que seul le statut de l’article change. L’article reste lié à sa rubrique d’origine, même s’il n’apparaît plus dans cette rubrique.
Dans l’espace privé de SPIP, on peut retrouver un article qui a le statut « archivé », via le menu Edition > Archives, et modifier cet article (y compris son statut).


On peut également, consulter les articles archivés d’une rubrique particulière.
Le moteur de recherche de l’espace privé permet également de retrouver un article archivé.
Le détail des fonctionnalités de ce plugin figure dans la documentation ci-jointe.
Remarques :
- Sur le site public, le critère
statut=archive
permet d’afficher les articles archivé (c’est le fonctionnement standard de SPIP qui s’applique). - Une rubrique (sans sous rubrique) dont tous les articles sont archivés n’aura pas le statut publié (c’est le fonctionnement standard de SPIP qui s’applique).
Dernière version du plugin
La version du 22/06/2021 apporte la compatibilité avec PHP 7.2, 7.3 et 7.4.
La version 1.4 du 15/06/2022 apporte la compatibilité avec PHP 8.0 et 8.1, ainsi que la compatibilité avec SPIP 4.1
La version 1.4.1 supprime la compatibilité avec la version 2 de SPIP et est compatible avec SPIP 4.2.
La version 1.5 apporte la compatibilité avec PHP 8.2.
Discussions by date of activity
10 discussions
Bonjour,
Dans la doc, je lis : “Une rubrique (sans sous rubrique) dont tous les articles sont archivés n’aura pas le statut publié (c’est le fonctionnement standard de SPIP qui s’applique).”
Comment puis-je faire pour que la rubrique soit quand même affichée côté public ?
Mon cas d’usage est d’afficher dans une rubrique qui contient des archives un lien vers la même rubrique listant les articles archivés afin de pouvoir les consulter.
Dans la page Plugins Giseh , le document PDF “Description des fonctionnalités des plugins Giseh pour SPIP” détaille une solution au chapitre “17.1 Pouvoir publier une rubrique même si elle ne contient pas d’article”. Il précise que ceci nécessite que le plugin « cid : Fonctions diverses » soit actif (il figure dans le fichier ZIP des plugins Giseh).
Reply to this message
Bonjour,
J’ai cette erreur en SPIP 4.2.5 + PHP 8.2 :
Deprecated: Using $var in strings is deprecated, use $var instead in plugins\auto\ciarchive_220615\inc\puce_statut.php on line 26
Et, effectivement, la syntaxe est obsolète en PHP 8.2.
Où puis-je faire une PR ?
Bonjour,
La version 1.4.1 de CIARCHIVE (fichier ciarchive_230926.zip joint au présent article) supprime la compatibilité avec SPIP version 2, ce qui permet de supprimer au passage la ligne 26 précitée (ainsi que d’autres lignes).
Merci beaucoup !
Dans ce cas, le fichier plugin.xml peut être, lui aussi, supprimé.
La version 1.4.1 de CIARCHIVE comprend volontairement le fichier plugin.xml (avec une borne de compatibilité de SPIP différente), afin qu’il écrase celui d’une installation existante. Sinon, une installation existante garderait son ancien fichier plugin.xml et pourrait ainsi avoir l’illusion d’une compatibilité avec la version 2 de SPIP.
Reply to this message
Bonjour,
J’ai passé mon site en Spip 4.2.2 et ça ne semble plus fonctionner.
En premier, un détail, l’icône de l’espace privé sous forme de “A jaune” est remplacé par un turquoise uni.
Mais surtout l’article archivé sort en erreur 404 sur l’espace public.
Bonjour,
Sous SPIP 4.2.2, j’utilise CIARCHIVE sans problème.
CIARCHIVE a toujours utilisé une icône carrée de couleur vert sombre (#008080) comme le montre la copie d’écran qui figure dans le présent article.
Sur le site public, SPIP affiche les articles qui ont le statut ’publie’, aussi si on tente d’accéder (sur le site public) à la page d’un article qui a le statut ’archive’, SPIP retourne l’erreur 404.
Je n’utilise pas ce plugin mais a priori, ça semble normal qu’un article qui n’est pas publié ne soit pas visible publiquement, non ?
Ah moi je l’utilise pour qu’il ne sorte pas dans l’ensemble des requêtes de l’espace public, et dans aucun menu, mais que si l’on appelle la page directement, il sort...
D’ailleurs je viens de voir que maintenant ça marche. Peut-être des urls propres à regénérer ?
Ou était-ce une adaptation de mes squelettes avec tout qui le permettait ?
Si un squelette (sur le site public) utilise le critère statut=archive, alors il affichera un article archivé. Idem pour le critère ’tout’ qui permet d’afficher tous les articles quelque soit leur statut.
Cf la doc de l’article :
Fonctionnalités
Lorsque que l’on affecte le statut « archivé » à un article, il n’apparaît plus sur le site public ainsi que dans l’espace privé de SPIP.
Reply to this message
Bonjour,
Juste pour dire et BRAVO pour ce plugin qui fonctionne très bien.
Bonen continuation.
Reply to this message
Bonjour,
je signale une notice à la création d’une rubrique, puisque celle-ci n’existe pas encore
“Notice: Undefined index: id_rubrique in /…/ciarchive_190306/ciarchive_pipelines.php on line 27”
et aussi bonne nouvelle, couplé au plugin “Dépublie” on peut ainsi changer le statut de l’article à “archive” à la date de son choix ou automatiquement après une période donnée de publication.
Merci du signalement.
Cette notice sera prise en compte lors d’une prochaine version.
Reply to this message
Bonjour,
merci pour ton plugin facile à mettre en œuvre.
Je trouve cependant assez perturbant lorsqu’on change à nouveau de statut de perdre l’ancienne date d’un article archivé.
Je vois que tu es en creative common, ou ton code est-il modifiable ? es-tu d’accord pour ajouter une fonction lors de la modification du statut d’un article ayant le statut “archive”, ne pas modifier sa date de publication.
Voici le code à ajouter sans oublier la ligne dans paquet.xml pour le pipeline pre_edition
++
touti
Bonjour,
La version 1.3 de ciarchive, jointe à la présente page (ciarchive_190306.zip), prend en compte cette demande d’évolution.
Remarque : Si on publie un article archivé, l’ancienne date de publication est conservée. En revanche, si on met le statut “en cours de rédaction” à un article archivé, puis qu’ensuite on le publie, l’ancienne date de publication n’est pas conservée.
Ok, contente d’avoir pu participer à l’évolution du plugin, même si je regrette qu’il ne soit pas accessible en proposition d’écriture soit en GIT soit SVN.
Le log de mon code est en fait inutile à conserver en prod, à moins de rajouter la date ? c’était juste pour caler le flux car ce n’est pas toujours évident.
touti
Je viens d’enlever la ligne du log.
Bonjour, je poursuis sur ce sujet : serait-il possible de proposer une version étendue de ce plugin (qui fonctionne parfaitement sous 3.2.3 par ailleurs, merci) en créant cette fois un champ supplémentaire dans la table des versions (ajouter le ’statut’ de l’objet) et en y attribuant la variable ’permanent’, de sorte à ce que l’article soit enregistré dans les Révisions au moment du changement de statut en “archivé” et pouvoir ensuite faire une jointure facile avec cette table des versions et y retrouver la date d’archivage. Si j’arrive à vous produire le code, je vous l’envoie dans un message ultérieur (mais j’ai qq difficultés de codage!).
Egalement, de conditionner la modification du statut de façon à ce que seuls les articles publiés puissent être classés en ’archivés’ (actuellement, quel que soit le statut de l’article, il peut être modifié en ’archivé’, ce qui ne semble pas — du moins de mon point de vue — pertinent de pouvoir mettre en ’archivé’ un article qui était simplement en cours de rédaction.) Merci.
Mon rôle n’est pas d’offrir une assistance à la réalisation d’une fonctionnalité sur mesure pour un site particulier.
Reply to this message
Bonjour,
j’utilise ciarchive sur mon site, dans la doc il est indiqué “Sur le site public, le critère statut=archive permet d’afficher les articles archivé (c’est le fonctionnement standard de SPIP qui s’applique).”. J’arrive bien en effet à afficher la liste des articles ayant le statut “archive” grâce à une boucle article avec statut=archive mais quand je clique sur le lien c’est comme si l’article n’existait pas...
Je ne sais pas comment faire pour que le lien soit actif.
Merci d’avance pour votre aide
Une solution consiste à ce que le lien ne renvoie pas sur la page “article”, mais sur une page “article-archive” correspondant à une variante (à créer) du squelette article avec dans la boucle article le critère statut=archive .
Merci pour votre réponse rapide. Depuis, je tente de trouver la solution à partir des éléments de votre réponse, sans succès.
Voici ce que j’ai fait :
- création dans “squelettes” d’un squelette article-archive, sur le modèle du squelette article mais avec le critère statut=archive dans la boucle article, comme indiqué.
- c’est ensuite que ça se complique, je ne sais pas comment spécifier dans mon lien qu’il faut pointer sur article-archive, j’ai mis article-archive#ID_ARTICLE dans mon href mais ça ne fonctionne pas
Merci d’avance
href="[(#URL_PAGE{article-archive}|parametre_url{id_article,#ID_ARTICLE})]"
Merci beaucoup
Reply to this message
Bravo
Excellent plugin simple et très efficace ! Va permettre de faire un nettoyage et un tri énOOOOrme sur le site que je gère tout en gardant un historique pour les articles de fond... Merci
Reply to this message
Bonjour,
Pensez-vous qu’il serait possible d’ajouter ce statut aux brèves ?
Merci de votre retour.
Je ne sais pas. Je n’utilise pas les brèves.
Reply to this message
Intéressant !
Est-ce que tu pourrais mettre ce plugin sur la Zone ?
Pour afficher un article archivé, il faut utiliser le critère
{statut=archive}
?Et si une rubrique n’a que des articles archivé, quel est le statut de la rubrique ? Publiée ou non ?
Se reporter aux remarques qui figurent à la fin de l’article.
Merci.
Reste la question de la mise sur la Zone de ce plugin ?
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
