Rétrograder de SPIP 1.9.3 SVN vers SPIp 1.9.2c

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Le script magique pour se sortir du pétrin

Nota SPIP-Contrib : bien prendre en compte les avertissements de l’auteur... vous aurez été prévenus.

Si vous aussi vous vous mordez les doigts d’avoir passé votre site en ligne en version de développement 1.9.3 SVN, alors voici le script magique pour revenir en arrière et respirer !

Le script

<?php
	include_spip('base/serial');
	include_spip('base/auxiliaires');

	spip_query("UPDATE spip_documents SET fichier=concat('IMG/',fichier) WHERE fichier NOT REGEXP '(^IMG/|://)' ");
	spip_query("DROP TABLE spip_types_document");
	include_spip('base/create');
	creer_base();
	spip_query("ALTER spip_documents ADD id_type bigint(21) DEFAULT '0' NOT NULL");
	$res = spip_query("SELECT id_type,extension FROM spip_types_documents");
	while ($row = spip_fetch_array($res)){
		spip_query("UPDATE spip_documents SET id_type="._q($row['id_type'])." WHERE extension="._q($row['extension']));
	}
	spip_query("UPDATE spip_documents SET mode='vignette' WHERE mode='image'");
	
	foreach(array('spip_articles','spip_auteurs','spip_breves','spip_mots','spip_rubriques','spip_documents','spip_syndic','spip_forum','spip_signatures') as $t){
		spip_query("ALTER TABLE $t ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
		spip_query("ALTER TABLE $t ADD INDEX (idx)");
	}
	include_spip('inc/meta');
	ecrire_meta('version_installee','1.927');
	ecrire_metas();
?>

Mise en oeuvre

Copiez le dans un squelette « retrograde.html » à la racine de votre site, et appelez le ensuite avec l’url «  »" class="spip_url spip_out auto" rel="nofollow external">http://votredomaine.com/spip.php?page=retrograde».

Ca mouline un peu et hop. C’est fini.

Pour compléter la manoeuvre, utilisez éventuellement le plugin recherche_etendue qui vous permettra de forcer la reconstruction de l’indexation pour le moteur de recherche. Ou sinon attendez un peu ...

Et vous vous utilisez quelle version pour votre site en ligne ? ;-)

Avertissements

Evidemment, comme vous êtes un pionnier, un aventurier, un défricheur, tout cela est sans garantie ni aucun support d’aucune sorte. Vous êtes prévenus .

Accessoirement, faire une copie de sa base avant l’opération peut-être un signe qu’il vous reste deux sous de conscience.

Discussion

8 discussions

  • 3

    je nage completement, j’utilise le script depuis la racine,
    le spip est configuré avec la base de donnée

    mais rien ne se produit, la base de donnée (sous phpmyadmin) reste à l’identique.

    un peu d’aide ?

    • C’est tout à fait normal ! Lis un peu plus haut : tu fais partie des essuyeurs de plâtre.

    • super comme réponse ! c’est pas grave...

    • Même problème ce script n’a rien changé pour moi non plus

    Répondre à ce message

  • 1

    Bonjour,

    Je suis siderer par ce que je lit dans ce forum
    J’ai besoin de ce script car j’ai fait une boulette
    j’ai monter la version dev sur le mauvais site.

    Je crois que la seule chose à marquer ici c’est merci, merci cedric d’avoir pris de ton temps pour nous donner gracieusement une possibilité de ratrapper NOS erreurs.

    Et hop

    • patrickb

      En plein dans le mille.... La réponse la plus sensée de ce fil !!! J’applaudit des deux mains !

    Répondre à ce message

  • JamesNicolas

    Je tenais à remercier l’auteur de ce script qui m’a sauvé la vie (mais pourquoi aussi vouloir toujours être à jour ! Quelle idée^^)
    Bref Merci Merci Merci ! (tout fonctionne à merveille pour moi en tout cas)

    Répondre à ce message

  • j’ai utilisé en simulation sous phpadmin ce script. je suis en utf-8. La base de donnée devient compatible avec la (version 1.9.2.c) mais elle perd tous les accents ?.
    Une piste ?

    Répondre à ce message

  • 8

    A qui s’adresse SPIP désormais ? Aux spécialistes spécialement spécialisés ? la moindre évolution de SPIP rend désormais l’ancienne version inutilisable dans son intégralité, ce qui devait être une souplesse (plugin) s’avère un handicap. SPIP est-il dévellopé par Microsoft ?

    • SPIP s’adresse à ceux qui savent lire et qui ne racontent pas n’importe quoi. Comment l’évolution de SPIP pourrait-elle rendre les anciennes versions inutilisables ? Une version SVN est une version en cours de développement, personne n’est obligé de l’utiliser, il est plus sage d’attendre une version stable, avec la liste des pbs potentiels et les moyens de les résoudre. Ceux qui l’utilisent quand même savent qu’ils vont essuyer des plâtres, c’est leur manière de crontribuer. C’est beaucoup plus constructif que de limiter ses interventions à des discours réactionnaires comme le tien. Si tu es certain que c’est facile d’ajouter des fonctionnalités à un système sans jamais créer d’incompatibilités, viens donc nous l’expliquer nous sommes toute ouïe.

    • Tu fais partie des personnes qui reprochent aux autres ce qu’elles ne s’appliquent pas à elle même !

      "SPIP s’adresse à ceux qui savent lire et qui ne racontent pas n’importe quoi. Comment l’évolution de SPIP pourrait-elle rendre les anciennes versions inutilisables "

      Tu as simplement oublié de citer "les anciennes versions inutilisables ....dans leur intégralité"

      Je vais te faire un petit dessin : tu passes des heures BENEVOLEMENT à réaliser un site scolaire (ne soit pas surprise, il n’y a pas que les dev de SPIP qui font du bénévolat).
      Sur ce site tu publies des photos à accés restreint pour permettre aux élèves concernés d’y accéder sans que le grand public puisseles visionner. (La loi, les histoires de pédophilie, en as tu entendu parlé ?) Maintenant une nouvelle version SPIP sort et le plugin gérant ces accès est incompatible avec la nouvelle version. De deux chose l’une :
      -  ou bien le site n’évolue plus pour être utilisable dans son INTEGRALITE et permettre la publication de photos à accès restreint.
      -  ou bien le site évolue et n’est plus utilisable dans son INTEGRALITE. les élèves auront les déplaisir de ne plus avoir de photos sur leurs activités.

      Quand à la solution que tu préconises :

      "Une version SVN est une version en cours de développement, personne n’est obligé de l’utiliser, il est plus sage d’attendre une version stable, avec la liste des pbs potentiels et les moyens de les résoudre"

      Voici ce que l’on peut lire ici même :
      « Ce plugin est compatible uniquement avec la version 1.9.1 de spip. Il n’est pas compatible avec la version SVN spip 1.9.2 ni avec la 1.9.0 »

      Je risque donc d’attendre longtemps, pour ne pas dire très longtemps avant de pouvoir faire évoluer le site.

      Pour terminer :
      "Si tu es certain que c’est facile d’ajouter des fonctionnalités à un système sans jamais créer d’incompatibilités, viens donc nous l’expliquer nous sommes toute ouïe."

      Très facile : il suffit que le cahier des charges soit CORRECTEMENT élaboré, MUREMENT réfléchis afin que la version 1.9.2c soit tout à fait compatible avec la version 1.9.3 (je ne dis pas la version 8.9.7). Voilà, c’est tout !

      Ha, j’allais oublié ...il faut aussi savoir programmer :-D ;-).

      Je terminerai par quelques propos réactionnaires : SPIP est MERVEILLEUX, SPIP est GENIAL ! SPIP est .... HI SPIP SPIP HOURRAAAAAAAAA !

      ca va comme çà ? Est-ce bien ce que tu voulais lire ?
      Vu l’esprit borné et étriqué des dev qui m’ont répondu (style facho qui s’ignore), ces quelques phrase dédiées au culte SPIPien va leur faire plaisir.

    • Superbe Exemple :

      • ou bien tu utilises le plugin Acces restreint, qui a été développé en respectant les API de SPIP, et qui est compatible SPIP 1.9.0, SPIP 1.9.1, SPIP 1.9.2 et meme SPIP 1.9.3 dev SVN
      • ou bien tu utilises l’autre (l’Acces Restreint par Groupes), et, oui, tu es dans la mouise : ce plugin ne respecte pas l’API de SPIP, il surcharge des pans entiers de SPIP, et l’equipe de dev de SPIP n’est responsable en rien. Du coup il ne pouvais jamais être compatible avec la version suivante sans une réécriture complète.

      Cela dit, depuis la version 1.9.2 de SPIP, celui-ci a pu être réécrit en s’appuyant sur l’API supportée de SPIP. Ca devrait donc aller beaucoup mieux dans le futur. Et si tu cherches mieux, tu dois trouver chaussure à ton pied (ie la version 1.9.2 du plugin)

      En tout état de cause l’équipe de dev de SPIP ne peut être tenue responsable de choix hasardeux de dévelopeurs tiers. Donc circulez, rien à voir.

    • Boarf reste zen. J’ai quelques terrines d’écureuils dans le frigo pour toi. Cela remplace le lyon au petit dej’ quand parfois l’excès de programmation rend odieux. On a tous eu quelques petites modifs à faire pour assurer la pérénité de nos sites. Personne n’en est mort. Les versions ultérieures sont bien plus bénéfiques en options. Si ton site est en production, essaie une nouvelle version sur un serveur d’évaluation. Cela évite la casse. :) Les plugins suivent généralement de très prêt ou devancent les versions de SPIP. Un peu de patience, il n’y a pas de quoi fouetter l’écureuil.

    • Je répondais à l’anonyme qui a posté un message au dessus de celui de cedric hein. ...Qu’il n’y ai pas de confusion. :)

    • il suffit que le cahier des charges soit CORRECTEMENT élaboré, MUREMENT réfléchis afin que la version 1.9.2c soit tout à fait compatible avec la version 1.9.3

      Et il ne te vient pas à l’idée que la durée d’un telle maturation fera que tu risque donc d’attendre longtemps, pour ne pas dire très longtemps avant de pouvoir faire évoluer le site ?
      Ni que justement cette maturation pourrait se faire plus rapidement à l’aide d’une version de développement pour valider certaines hypothèses et y renoncer si ce n’est finalement pas bon ?

      Ha, j’allais oublié ...il faut aussi savoir programmer

      oui, et réfléchir aussi.

    • Pour abonder dans le sens du post d’esj je reprends des passages du troll d’origine

      il suffit que le cahier des charges soit CORRECTEMENT élaboré, MUREMENT réfléchis afin que la version 1.9.2c soit tout à fait compatible avec la version 1.9.3

      C’est une pure calomnie (et/ou une grande incompréhension) que d’envisager cela ... il n’y a jamais eu de « cahier des charges MUREMENT réfléchis, etc .. » pour SPIP. Dans le cas contraire je suppose qu’il n’aurait jamais démarré ou progressé d’ailleurs, par exemple cf. http://archives.rezo.net/spip-dev.m.... Par contre il y a beaucoup de réflexions, d’intuitions, de besoins, d’envies, de remontés de bugs, d’échanges, d’impulsions individuelles ou collectives. Et cela peut emprunter des tours et des détours comme il est normal dans toute oeuvre de création. Comme beaucoup de projets du libre, SPIP relève du processus « Bazar organisé » et non pas « Cathédrale » (cf. La cathédrale et le bazar. C’est peut être déroutant ou insécurisant parfois pour l’utilisateur mais c’est ce mode de fonctionnement qui lui à permis d’exister et de progresser, et qui assure sa pérennité.

      Je vais te faire un petit dessin : tu passes des heures BENEVOLEMENT à réaliser un site scolaire (ne soit pas surprise, il n’y a pas que les dev de SPIP qui font du bénévolat) ... Je risque donc d’attendre longtemps, pour ne pas dire très longtemps avant de pouvoir faire évoluer le site.

      Soyons clair, le fait d’avoir pu utiliser gratuitement (en argent) SPIP et des plugins (ce qui n’est pas rien si l’on y songe) pour faire un site, quelque soit le sujet, les contraintes, ou le cadre économique associé à ce site (bénévolat ou pas peu importe), ne donne aucun droit à *exiger* que dans le cadre de la communauté soit assuré le SAV (puisqu’il n’y a pas de V), c’est défini sans ambiguité ici : Mon site sous SPIP est planté, est-ce que je vous fais un procès ?. D’autant plus quand il s’agit ici des fonctions particulières avancées non standards.

      Le constat est que le développeurs font généralement le (très gros) effort de suivre leurs contributions, autant qu’il leur est possible. Pour cela ils doivent y trouver, d’une manière ou d’une autre, une motivation (par exemples des retours de bugs circonstanciés). Ce genre de message agressif et consumériste, n’y contribue certainement pas. Profiter des compétences que l’on argue pour contribuer fait au contraire avancer les choses.

      @+ NicolasR

    • Pour commencer, j’ai déjà lu ce genre de « règlement de compte a ok corral ». Perso, ça fait 5 ans que j’utilise spip pour des site persos pros et même en bénévolat et, pour avoir testé d’autre cms, je tiens à dire que spip toute versions confondues est le plus souple de tous et le plus compréhensible aussi. Tout est personnisable à 200% (squelettes/css) et on est pas obliger de s’inspirer de la dist pour que le site fonctionne. Il suffit de cocher une case dans l’admin pour l’optimiser... et que la majorité des plugins sont compatible avec la version stable en cours.

      C’est vrai que moi aussi je m’arrache les cheveux lorsque ça ne fonctionne pas et que je me retrouve avec un magnifique Site en travaux/erreur msql et que mes modifications (eg les plus longues et les plus chiantes) n’ont pas été saugardée ou lorsque je suis passé en 193 et que plus rien ne s’affichait ni en public ni en admin. Mais bon ce danger est écrit noir sur blanc, et rien ne vaut mamp (osx) ou easy php(win) pour faire ce genre d’experience.

      Pour finir, même si là ça n’est pas flagrant ici, les devs sont prêt à remettre sur la table leurs plugin et à les modifier si on expose calmement le bug rencontré.

      Vivement la 193 stable que je puisse utiliser le plug autorité à 100%

    Répondre à ce message

  • 3

    Est-ce qu’il y a une version pour revenir à SPIP 0.99c ?

    • Arrête de te moquer STP : respecte le travail de ces bénévole qui arrivent à faire d’un produit fonctionnel une usine à gaz pour ne pas dire une usine à pets !

    • bien sur, mais sur demande uniquement.
      A ta charge de fournir un serveur avec SPIP 0.99c installé et opérationel. Fais moi signe dès que tu es prêt.

    • Heu, oui mais heu... La 099C elle valide xhtml1.1 strict et elle accepte les formats de documents que MS tente de faire standardiser ?

      Passke sinon, je vous le dis, tout cela est lamentable :-)

    Répondre à ce message

  • 5

    Je n’avais pas lu :
    « Si vous aussi vous vous mordez les doigts d’avoir passé votre site en ligne en version de développement 1.9.3 SVN, alors voici le script magique pour revenir en arrière et respirer ! »

    ou le progrès en marche arrière ! Désolant.

    • Si tu lis bien ici http://www.spip.net/fr_download :

      La version en cours de développement peut, selon le moment, corriger un bug récent ou être totalement inutilisable.

      De quoi te plains tu exactement ? De pouvoir télécharger une version de développement, et de pouvoir contribuer utilement ?

      Il y a parfois des utilisateurs trop optimistes quand à leur capacité à assumer les conséquences des bugs d’une version de développement.

      Mais toi qui es si fort, viens nous aider ... Ou peut-être préfère tu les produis MS en boite, fini et prêt à l’utilisation sans avoir à lever le petit doigt ?

    • T’inquiète, quand je développe un programme, l’utilisateur n’a pas à supporter l’incompétence et le manque de réflexion de l’équipe de développement parce que mes logiciels servent à dimensionner du matériel onéreux et que ce matériel peut-être en jeux la sécurité du public ... Donc pour moi c’est très clair, la moindre erreur risque de se terminer au tribunal. maintenant je developpe depuis 1993.
      Alors ton côté condescendant, tu t’assoies dessus et comme tu le disais, à la lecture du titre de cet article qui vaut son pesant de cacahuètes : circulez, i n’y a rein à voir.

    • Question condescendance, tu te défends pas mal non plus.
      Tu dénonces l’incompétence et le manque de réflexion pour cause d’incompatibilité entre deux versions, mais tu en connais beaucoup des logiciels portables qui ne font jamais ça ? Lis les docs de PHP et MySQL, pour ne citer que ceux auxquels SPIP se confronte quotidiennement : c’est bourré d’avertissements que ceci marchait comme cela avant et comme ceci maintenant. Quant à l’interprétation divergentes des CSS et du JavaScript dans les diférentes versions des navigateurs, c’est encore pire car ils ne préviennent pas.

      Je ne mets pas en doute la qualité de ce que tu fais, mais développer des pilotes d’un matériel spécifique impose certaines choses, développer un outil générique s’adaptant à toutes les versions de serveurs et clients ne respectant pas les standards impose d’autres choses. Alors ces jugements de la part de gens qui visiblement ne savent pas ce qu’est le développement de ce genre d’outil, professés courageusement derrière un tranquille anonymat, effectivement : circulez, il n’y a rien à voir.

    • Déesse A.

      Ah tiens, mon cookie avait expiré et j’ai posté anonyment sans m’en apercevoir. Je revendique donc le message précédent.

    • Oui, je viens aussi du monde de l’industrie ou les bugs logiciels peuvent mettre en danger la sécurité des personnes. Où l’on rédige des spécifications fonctionelles, corroborées par une analyse préliminaire de la surêté de fonctionnement. Où l’on pratique le cycle de développement en V. Où l’on réalise des tests unitaires, puis des tests d’intégration ...

      J’en passe, et des meilleures, sur les tonnes de papiers que l’on produit dans ces modes de fonctionnement pour justifier, appuyer, confirmer la cahier des charges et les choix techniques qui prévalent à sa bonne tenue.

      Je tairais les magnifique plantade dans lesquelles cela mène tout aussi sûrement, les plannings de développement logiciel jamais tenus, les reprises de code pour spécification erronée, ou mal comprise, ou mal interpretée. Et tout cela en connaissant dès le début parfaitement l’environnement matériel et logiciel, les contraintes de performances etc ...

    Répondre à ce message

  • 2
    Nicolas Hoizey

    Ce serait d’ailleurs pas forcément idiot que SPIP sache s’auto rétrograder comme il sait si bien s’auto upgrader...

    • Arg, merci

      ne pas oublier de recoller le type si il est passé à 0

      UPDATE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9kb2N1bWVudHM8L2NvZGU+"></span> SET <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfdHlwZTwvY29kZT4="></span> = '1' where fichier like 'IMG/jpg%'

    • Ruby on Rails propose de créer un script de downgrade avec chaque script d’upgrade, c’est en effet pas idiot.

    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