Je gère une dizaine de sites SPIP qui risquent de devoir changer d’URL publique.
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Je gère une dizaine de sites SPIP qui risquent de devoir changer d’URL publique.
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Merci d’avance
par l’utilisation de #URL_SITE , #CHEMIN{fichier.css} , etc … ce genre de balises te permettront de pas tout avoir a modifier a chaque fois
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Merci d’avance
par l’utilisation de #URL_SITE , #CHEMIN{fichier.css} , etc … ce genre de balises te permettront de pas tout avoir a modifier a chaque fois
C’est sûr qu’en attendant le truc le plus simple que je vois (et c’est lourd) c’est un dump xml de chacune (x10) de tes bases et un rechercher remplacer multi-fichier (genre smultron sur mac qui fait ça assez bien).
courage!
Je crois qu’Isabelle souhaite savoir comment remplacer les URL existantes qui sont dans
ses squelettes :
avec le Dreamweaver, tu peux remplacer sur tout un dossier si tu as évidemment les mêmes types de liens à remplacer. Par exemple www.machin.com par www.lautremachine.com
Attention fais une copie car tu peux pas revenir en arrière.
Dans la base de données… C’est plus communiqué mais ceux qui sont plus costauds dans les requêtes SQL peuvent te répondre.
Je gère une dizaine de sites SPIP qui risquent de devoir changer d’URL publique.
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Merci d’avance
par l’utilisation de #URL_SITE , #CHEMIN{fichier.css} , etc … ce genre de balises te permettront de pas tout avoir a modifier a chaque fois
En fait donc pour résumer, elle a besoin de deux choses:
Remplacer les anciens noms de domaines vers le nouveau: dans ses squelettes ET dans ses bases de données.
Pour les squelettes, il est préférable d’utiliser la solution #URL_SITE en lieu et place du code dur… A moins que cela n’est une astuce de ta part pour contourner un problème technique. Mais quoiqu’uil advienne il est préférable d’utiliser #URL_SITE pour plus de souplesse et moins de modification de ce type par la suite.
Pour la base, soit tu utilises le dump.xml et un logiciel qui puisse modifier tout à la chaine… Soit (Nyark nyark) tu utilises ceci dans tes squelettes:
replace utilise aussi une expression régulière (cf. preg_replace()) pour supprimer ou remplacer toutes les occurences d’un motif dans le texte. Avec un seul paramètre, une expression régulière, le motif sera remplacé par une chaîne, c’est à dire supprimé. Par exemple pour supprimer tous les « notaXX » du texte [(#TEXTE|replace{nota\d*})]. Lorsqu’un deuxiéme paramètre est fourni, les occurences du motif seront remplacées par cette valeur. Par exemple pour remplacer tous les 2005 ou 2006 du texte en 2007 [(#TEXTE|replace{200[56],2007})]. Ce peut être des textes simples, remplacer tous les « au temps » par « autant » : [(#TEXTE|replace{au temps,autant})]
Je crois qu’Isabelle souhaite savoir comment remplacer les URL existantes qui sont dans
ses squelettes :
avec le Dreamweaver, tu peux remplacer sur tout un dossier si tu as évidemment les mêmes types de liens à remplacer. Par exemple www.machin.com par www.lautremachine.com
Attention fais une copie car tu peux pas revenir en arrière.
Dans la base de données… C’est plus communiqué mais ceux qui sont plus costauds dans les requêtes SQL peuvent te répondre.
Je gère une dizaine de sites SPIP qui risquent de devoir changer d’URL publique.
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Merci d’avance
par l’utilisation de #URL_SITE , #CHEMIN{fichier.css} , etc … ce genre de balises te permettront de pas tout avoir a modifier a chaque fois
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Merci d’avance
par l’utilisation de #URL_SITE , #CHEMIN{fichier.css} , etc … ce genre de balises te permettront de pas tout avoir a modifier a chaque fois
C’est sûr qu’en attendant le truc le plus simple que je vois (et c’est lourd) c’est un dump xml de chacune (x10) de tes bases et un rechercher remplacer multi-fichier (genre smultron sur mac qui fait ça assez bien).
courage!
En fait donc pour résumer, elle a besoin de deux choses:
Remplacer les anciens noms de domaines vers le nouveau: dans ses squelettes ET dans ses bases de données.
Pour les squelettes, il est préférable d’utiliser la solution #URL_SITE en lieu et place du code dur… A moins que cela n’est une astuce de ta part pour contourner un problème technique. Mais quoiqu’uil advienne il est préférable d’utiliser #URL_SITE pour plus de souplesse et moins de modification de ce type par la suite.
Pour la base, soit tu utilises le dump.xml et un logiciel qui puisse modifier tout à la chaine… Soit (Nyark nyark) tu utilises ceci dans tes squelettes:
replace utilise aussi une expression régulière (cf. preg_replace()) pour supprimer ou remplacer toutes les occurences d’un motif dans le texte. Avec un seul paramètre, une expression régulière, le motif sera remplacé par une chaîne, c’est à dire supprimé. Par exemple pour supprimer tous les « notaXX » du texte [(#TEXTE|replace{nota\d*})]. Lorsqu’un deuxiéme paramètre est fourni, les occurences du motif seront remplacées par cette valeur. Par exemple pour remplacer tous les 2005 ou 2006 du texte en 2007 [(#TEXTE|replace{200[56],2007})]. Ce peut être des textes simples, remplacer tous les « au temps » par « autant » : [(#TEXTE|replace{au temps,autant})]
Je crois qu’Isabelle souhaite savoir comment remplacer les URL existantes qui sont dans
ses squelettes :
avec le Dreamweaver, tu peux remplacer sur tout un dossier si tu as évidemment les mêmes types de liens à remplacer. Par exemple www.machin.com par www.lautremachine.com
Attention fais une copie car tu peux pas revenir en arrière.
Dans la base de données… C’est plus communiqué mais ceux qui sont plus costauds dans les requêtes SQL peuvent te répondre.
Je gère une dizaine de sites SPIP qui risquent de devoir changer d’URL publique.
Or, ces sites peuvent avoir des liens internes en dur :
dans les squelettes .html
dans la base de données :
dans le champs « chapo » de la table spip_article,
mais aussi dans le texte de l’article mais ce texte est codé en BLOB dans la base données, donc difficile de faire une recherche,
Ma question est : comment faire pour remplacer tous les liens en durs en liens relatifs ?
Merci d’avance
par l’utilisation de #URL_SITE , #CHEMIN{fichier.css} , etc … ce genre de balises te permettront de pas tout avoir a modifier a chaque fois
Est ce que tu connais un outil qui fasse "rechercher remplacer multi
fichier" mais sous windows ?
Bonjour
Jedit (http://jedit.org logiciel libre) est écrit en java,
fonctionne sous toutes les plateformes (grace au Java).
Il permet de faire des recherches/remplacer sur des fichiers, et,
éventuellement de parcourir une arborescences.
Supporte aussi les expressions régulières.
Avec son plugin FTP, il peut ouvrir des fichiers distants par FTP de
manière transparente, comme s'ils étaient sur le disque local
(fonctionne aussi pour les recherches/remplacer).
Je n'ai pas trouvé d'équivalent, ce qu'il manque aux autres, c'est
de pouvoir séparer une fenêtre en deux, ou en 3 ou...
Sinon, en activant un peu beaucoup de plugin, il fini par consommer
pas mal de ram, mais, à la base avec 2 ou 3 plugins il est très bien
(et, on ne se rends pas compte que c'est du java).