Conversion des brèves en articles

Avec l’évolution de SPIP, les brèves deviennent un objet historique, dont le maintien s’avère parfois inadapté. Il peut donc se révéler utile de convertir les brèves en articles, c’est ce que fait ce plugin.

La conversion des brèves en articles

Ce plugin sert à convertir les brèves de votre site spip en articles. Les nouveaux articles créés sont insérées dans une rubrique, et un auteur pré-existant leur est optionnellement affecté.

La conversion des brèves en articles traite les points suivants :

  • le contenu de la brève devient le contenu de l’article
  • tous les forums associés à la brève deviennent forums de l’article
  • le logo de la brève devient logo de l’article
  • les mots clés associés à la brève sont associés à l’article
  • la date de création de la brève est conservée comme date de création de l’article créé ainsi que date de publication et date de modification
  • le titre du secteur de la brève convertie est copié dans le surtitre de l’article (ce qui permet éventuellement de gérer à nouveau une pseudo arborescence de secteurs).
  • le statut de publication de la brève devient statut de l’article

Les brèves converties ne sont pas détruites, afin de conserver une trace de ces brèves, mais rien ne vous empêche ensuite de vider définitivement la table spip-breve.
Selon la configuration choisie, leur statut soit n’est pas modifié, soit est transformé en ’proposé’ ou ’refusé’.

Mise à jour des liens internes du site

Après avoir fait la migration des brèves en articles, il est intéressant voir nécessaire de modifier les liens de votre site qui pointaient vers les brèves, désormais obsolètes.

Le plugin permet de parcourir les différents objets du site, et de transformer un lien vers une brève, en lien vers l’article correspondant de cette brève.

Les objets parcourus par cette mise à jour sont :

  • articles
  • rubriques
  • auteurs
  • forum
  • syndic

Tout le contenu éditorial de ces objets est testé (titre, sous et sur, chapo, texte, descriptif ...). Les brèves elles-mêmes ne sont pas modifiées.

La recherche du lien se fait avec l’expression régulière suivante :
/\[([^]]*)-\>br[ev]{0,3}([0-9 ]+)\]/

Donc si une brève a été convertie en article, tout lien ->brXXX ou ->breXXX ou ->brevXXX ou ->breveXXX sera transformé en lien ->articleXXX

Pour cela, le plugin mémorise dans la table spip_breves_articles les correspondances entre un id_breve et l’id_article associé. Le nom de cette table peut être est redéfini dans le fichier options.php du plugin.

Suivi des liens externes au site

Le plugin fournit également un squelette exemple breve_redirection.html qui redirige les liens externes qui pointent encore vers les pages de breves de votre site vers leur remplaçant sous forme d’articles. Pour ce faire, ce squelette utilise la table spip_breves_articles remplie lors de la conversion.

Pour l’activer, il est nécessaire de le recopier avec le nom breve.html dans votre dossier squelette, une fois toutes les brèves converties.

Une fois ceci fait, ce nouveau squelette breve assure la redirection 301 des appels vers les anciennes breves vers les articles , c’est à dire sans perte de référencement.

Installation / Désinstallation

Ce plugin s’installe simplement .

La désinstallation supprime la table de correspondance entre les brèves et les articles créés.

Attention : pour l’instant, ce plugin a besoin du plugin bandeau pour fonctionner

Paramétrage et utilisation du plugin

La page pour accéder aux fonctions du plugin se trouve dans la partie privée, dans le menu Maintenances, puis « Breves vers Article ».

Il y a 2 modes de conversion :

  • pour tester, on indique le n° d’une seule brève
  • conversion de toutes les brèves du site

Les options accessibles sont :

  • la rubrique dans laquelle les articles crées seront insérés : obligatoire
  • l’auteur associé aux articles créés : facultatif
  • activer la modification des liens internes du site vers les articles issus de la conversion des brèves. Cette opération peut se faire en même temps que la conversion des brèves, ou bien plus tard. Les 2 opérations sont indépendantes, mais la conversion doit bien entendu se faire avant la modification des liens.

Discussion

14 discussions

  • 1

    salut

    quelle est la solution si on souhaite garder les breves sous SPIP 4.2 ?

    A+

    Répondre à ce message

  • 1

    Bonjour,
    je viens d’utiliser le plugin v 1.3.2 avec spip 3.2.4 sans problème.
    1 fois avec une brève (id 2) de test vers sa rubrique d’origine et avec un id auteur précis, passée en statut proposé après conversion. Pas pu tester avec des liens internes/externes
    1 fois avec toutes les brèves, résultat identique :

    Breve n°2deja traitée, vers l'article 372
    Bréve n°3 vers l'article 373Bréve n°4 vers l'article 374Conversion des bréves terminées
    Modification des liens vers les breves

    AMHA ce plugin peut passer en spip 3.2

    Répondre à ce message

  • 2

    Est-ce que ce plugin est compatible SPIP 3.1 (et 3.2 bientôt) ?

    Je viens de le tester avec SPIP 3.1 sans problème.

    • Si tu as testé sans problème, hésite pas à modifier les bornes sur la version zone.

    • Borne du plugin mise à jour, merci. (pour 3.1, pas testé en 3.2)

    Répondre à ce message

  • 1

    Si jamais la boucle fournie dans breves_vers_articles.html (renommé breve.html sur votre site) ne fonctionne plus (parce que vous avez mis à jour votre SPIP ou que sais je), faites une boucle sur le nom réel et complet de votre table, avec le préfixe, et en minuscule :

    par exemple :

    <BOUCLE_V(spip_breves_articles) ....

    • ça existe encore les brèves dans SPIP 3.1 ?
      Lol si ça marche tant mieux !

    Répondre à ce message

  • 3

    Pour les gens qui s’amusent à lancer 2 fois le formulaire sans le faire exprès...
    (JLuc : il faudrait mettre un verrou ou tester dans spip_breves_articles que ce n’est pas déjè fait)

    Voici des requêtes pour trouver les articles créés en doubles ! (et uniquement en double, ça suffit comme ça les bétises !)

    Liste des breves qui ont été doublonnées

    SELECT id_breve FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> GROUP BY id_breve HAVING count(id_article) = 2

    Liste des articles correspondants

    SELECT id_article FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> WHERE id_breve IN (SELECT id_breve FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> GROUP BY id_breve HAVING count(id_article) = 2)

    Un seul des articles doublonnés

    SELECT id_article FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> WHERE id_breve IN (SELECT id_breve FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> GROUP BY id_breve HAVING count(id_article) = 2) GROUP BY id_breve

    Passer ces articles a la poubelle

    UPDATE spip_articles SET statut='poubelle' WHERE id_article IN 
    (SELECT id_article FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> WHERE id_breve IN (SELECT id_breve FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9icmV2ZXNfYXJ0aWNsZXM8L2NvZGU+"></span> GROUP BY id_breve HAVING count(id_article) = 2) GROUP BY id_breve)

    Voilou.

    • Ou comment réparer une grosse boulette et de surcroît contribuer au projet, bravo !
      Merci Matthieu et promis je le referai plus !

    • Ah oui, en effet. Mémoriser la date de dernier lancement et vérifier que c’était pas ya moins de 2 secondes par exemple.

    • ou ne convertir que celles qui ne l’ont pas déjà été...

    Répondre à ce message

  • 1
    Jaseur Boreal

    Bonjour,
    Sur un site à jour sous SPIP3.04 et Escal 3.31.

    Je viens de convertir toutes mes brèves (env 15) vers articles, en choisissant de les garder dans les rubriques d’origine, en passant leur statut à « proposées »

    Oh grande surprise, elle sont toutes visibles et listées sur le site public !

    et en même temps grand paradoxe : dans la gestion privée des articles elles restent « proposée à l’évaluation ».
    Cela serait agréable d’accorder les violons, y a til une solution ?
    Merci de votre attention.
    Cordialement

    • si vos brèves « proposées à l’évaluation » sont visibles sur votre site, c’est qu’il y a un problème sur votre site, soit dans le squelette, soit dans SPIP...

      Le problème se produit il également avec une brève que vous créez « normalement » est que vous proposez à l’évaluation ?

    Répondre à ce message

  • 4

    Bonjour,
    Génial ce plugin ! Merci.
    Avant de convertir toutes mes brèves ’’par lots’’, j’aimerais savoir s’il est ou sera possible d’associer automatiquement des mots-clés aux articles créés ?

    Cordialement

    • Une fois les articles créés tu en fais ce que tu veux, mais il n’y a rien de prévu dans le plugin pour leur associer automatiquement un motclé ou un logo. Par contre tu peux leur associer un auteur, à partir de là il sera facile avec phpmyadmin par exemple de leur associer un motclé.

    • Merci JLuc !
      Je ne maitrise pas phpadmin mais vu ma quantité de brèves, je peux encore le faire manuellement article par article. Pas de souci.
      Par contre, je me rends compte que lors de la conversion, le logo de l’article créé est bien celui de la brève (très pratique !) mais le logo de la brève disparait. As-tu une solution ?

    • Lors de la transformation, le logo des breves est renommé de manière à servir aux articles correspondant, et donc les brèves n’ont plus de logo (on s’en fout car on n’est pas sensé les garder).

      Mais si tu fais une sauvegarde de ton répertoire IMG AVANT de lancer la conversion, et que tu en recopies le contenu dans ce même répertoire APRES avoir fait la conversion (sans en effacer le contenu préallablement), alors tu auras un logo pour les nouveaux articles et pour les anciennes breves.

      Mais avoir un contenu dupliqué et visible à 2 adresses différentes (article et brève) est une pratique à éviter (google duplicate content notamment).

    • Merci Jluc pour ces bons conseils... et la rapidité de tes réponses !

    Répondre à ce message

  • Stéphane

    Merci encore pour ce plugin qui marche super bien.

    Juste un point à signaler : après la conversion, ne faites pas comme moi une désinstallation du plugin vu qu’il à bien réalisé son travail.
    Dans ce cas, la redirection brève vers article ne marche plus. Heureusement, j’avais une sauvegarde.

    Répondre à ce message

  • 2
    Stéphane

    Bonjour

    Je teste le plugin sur un easyPhp local et après activation, je ne vois pas comment le lancer.
    Je vais comme indiqué dans configuration/maintenance du site mais il n’y a pas d’onglet ou bouton.
    J’ai loupé quelque chose ?

    • Stéphane

      Pour info si je lance le plugin à partir de la liste des plugin, j’ai le message
      « Fichier configurer_breves_vers_articles introuvable »
      ca doit être lié à l’installation sur un EasyPHP.
      Je recommence en manuel

    • Il faut installer le plugin « bandeau » pour faire apparaitre l’option au menu

    Répondre à ce message

  • 1
    stephane

    Bonjour.
    Effectivement, maintenir des articles et des breves devient compliqué en l’absence de boucle universelles, par exemple pour générer un seul flux de syndication.
    Je vais donc y passer.

    par contr, j’aurai aimé mieux comprendre ce qui va se passer en terme de référencement des pages SEO. Je ne suis pas expert sur le comportement du réglage Type d’adresse Url. A ce moment, j’ai propres_qs en paramètre.
    C’est cette URL qui est donc connue de Google et autre.
    Quand SPIP va recréer une nouvelle adresse d’article, va t’il reutiliser la même construction de nom ? a priori il semble qu’il ajoute un + avant et apres pour une breve et un - pour un article.
    Des lors, peut être peut on faire un automatisme pour que le nom reste le même du cote Google ?

    • Il y a un squelette de brèves fourni avec le plugin, qui doit remplacer votre squelette de brèves une fois toutes les transformations faites (et pas avant). Ce squelette assure une redirection SEO-friendly, même si le nom change.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom