Migration des wikis : Différence entre versions
De Wicri Base 1.28
imported>Jacques Ducloy (→Les modèles) |
imported>Jacques Ducloy (→Les images) |
||
(67 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Cette page est un recueil de notes pour la migration des wikis. | Cette page est un recueil de notes pour la migration des wikis. | ||
==Variables shell== | ==Variables shell== | ||
+ | Les variables shell sont à définir dans la page Projets:Installation de chaque wiki concerné. | ||
+ | |||
+ | Voici ici quelques exemples. | ||
<source lang="sh"> | <source lang="sh"> | ||
Ligne 15 : | Ligne 18 : | ||
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Meta/en | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Meta/en | ||
− | WIKI=http://ticri.univ-lorraine.fr/wicri-saarland. | + | WIKI=http://ticri.univ-lorraine.fr/wicri-saarland.en |
− | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/Allemagne/Sarre/ | + | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/Allemagne/Sarre/en |
+ | |||
+ | WIKI=http://ticri.univ-lorraine.fr/wicri-lor.en | ||
+ | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/France/Lorraine/en | ||
+ | |||
+ | WIKI=http://ticri.univ-lorraine.fr/wicri-france.en | ||
+ | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/France/en | ||
− | |||
− | |||
WIKI=http://ticri.univ-lorraine.fr/wicri-gr.de | WIKI=http://ticri.univ-lorraine.fr/wicri-gr.de | ||
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/GrandeRegion/de | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/GrandeRegion/de | ||
− | WIKI=http://ticri.univ-lorraine.fr/wicri- | + | WIKI=http://ticri.univ-lorraine.fr/wicri-gr.en |
− | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/ | + | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/GrandeRegion/en |
+ | |||
+ | WIKI=http://ticri.univ-lorraine.fr/wicri-asie.fr | ||
+ | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Asie/fr | ||
+ | |||
+ | WIKI=http://ticri.univ-lorraine.fr/wicri-meta.fr | ||
+ | WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Meta/fr | ||
+ | |||
</source> | </source> | ||
Ligne 39 : | Ligne 53 : | ||
</source> | </source> | ||
− | Pour obtenir la liste des pages de l'espace principal | + | Pour obtenir la liste des pages de l'espace principal (en fait si elle dépasse 500) |
<source lang="sh"> | <source lang="sh"> | ||
− | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit= | + | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" \ |
− | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | + | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | wc |
+ | |||
</source> | </source> | ||
Ligne 55 : | Ligne 70 : | ||
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > templateTarget | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > templateTarget | ||
− | diff templateOld templateTarget | grep "<" | + | diff templateOld templateTarget | grep "<" | cut -b 2- |
</source> | </source> | ||
+ | |||
===Pour les wikis français=== | ===Pour les wikis français=== | ||
+ | ====Modèles à recopier==== | ||
+ | Modèle:Wicri thématique voir laboratoire | ||
+ | Modèle:Wicri thématique voir laboratoire/sémantique | ||
+ | Modèle:Wicri thématique voir personne | ||
+ | Modèle:Wicri thématique voir personne/sémantique | ||
+ | Modèle:Wicri thématique voir revue | ||
+ | Modèle:Wicri thématique voir revue/sémantique | ||
+ | Modèle:Wicri thématique voir région | ||
+ | Modèle:Wicri thématique voir région/sémantique | ||
+ | Modèle:Wicri thématique voir université | ||
+ | Modèle:Wicri thématique voir université/sémantique | ||
+ | Modèle:Wicri thématique voir ville | ||
+ | Modèle:Wicri thématique voir ville/sémantique | ||
+ | Modèle:Infobox Organisme | ||
+ | Modèle:Nowrap begin | ||
+ | Modèle:Nowrap end | ||
+ | |||
+ | Modèle:Infobox sémantique manifestation extensions | ||
+ | Modèle:Infobox sémantique personne extensions | ||
+ | Modèle:Infobox sémantique université extensions | ||
+ | Modèle:Accès géographique | ||
+ | |||
+ | Modèle:Logo Wicri Rhénanie-Palatinat | ||
+ | |||
+ | ====Comparaisons==== | ||
<source lang="sh"> | <source lang="sh"> | ||
( | ( | ||
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
− | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom= | + | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=F&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 |
− | ) | sort -u > | + | |
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=P&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | ) | sort -u > modeleOld | ||
( | ( | ||
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
− | |||
− | |||
− | diff | + | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=F&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 |
+ | |||
+ | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=P&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | ) | sort -u > modeleTarget | ||
+ | |||
+ | diff modeleOld modeleTarget | grep "<" | ||
− | diff | + | diff modeleOld modeleTarget | grep "<" | cut -b 2- |
</source> | </source> | ||
− | == | + | |
+ | ====Modèles à éviter de recopier==== | ||
<source lang="sh"> | <source lang="sh"> | ||
− | + | cat <<... >modeleNoCopy | |
+ | Modèle:Job queue | ||
+ | Modèle:Documentation modèle | ||
+ | Modèle:Documentation modèle compliqué en sous-page | ||
+ | Modèle:Documentation modèle compliqué en sous-page/Documentation | ||
+ | Modèle:Documentation modèle en sous-page | ||
+ | Modèle:Documentation modèle utilisant les ParserFunctions en sous-page | ||
+ | Modèle:Modèle utilisant les ParserFunctions | ||
+ | Modèle:Modèle utilisant les ParserFunctions/Documentation | ||
+ | Modèle:Doc modèle | ||
+ | Modèle:Doc modèle/Documentation | ||
+ | Modèle:Liste éléments/1 espace | ||
+ | ... | ||
+ | </source> | ||
− | + | <source lang="sh"> | |
+ | cat modeleNoCopy modeleTarget | sort -u > modeleTargetCorrige | ||
+ | diff modeleOld modeleTargetCorrige | grep "<" | cut -b 2- > modeles | ||
+ | </source> | ||
− | diff | + | ===Pour comparer des listes=== |
+ | <source lang="sh"> | ||
+ | diff modeleSemNew modeleSemOld | grep ">" | cut -b 3- | grep "Modèle:" | SxmlSelect -p " [[@1]]" | ||
+ | diff modeleSemNew modeleSemOld | grep ">" | cut -b 3- | grep "Attribut:" | SxmlSelect -p " [[@1]]" | ||
+ | diff modeleSemNew modeleSemOld | grep ">" | cut -b 3- | grep "Catégorie:" | SxmlSelect -p " [[:@1]]" | ||
</source> | </source> | ||
− | == | + | ==Les catégories== |
<source lang="sh"> | <source lang="sh"> | ||
− | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace= | + | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=14" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > categoriesOld |
− | curl "$ | + | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=14" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > categoriesTarget |
− | + | diff categoriesOld categoriesTarget | grep "<" | |
− | + | diff categoriesOld categoriesTarget | grep "<" | cut -b 2- | |
− | |||
− | |||
− | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit= | + | </source> |
+ | ==Les attributs== | ||
+ | <source lang="sh"> | ||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=102" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > attOld | ||
− | curl "$ | + | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=102" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > attTarget |
− | + | diff attOld attTarget | grep "<" | |
− | |||
− | + | diff attOld attTarget | grep "<" | cut -b 2- | |
− | |||
− | |||
− | + | </source> | |
− | + | ==Suite à améliorer== | |
− | + | <source lang="sh"> | |
− | |||
− | |||
( | ( | ||
Ligne 133 : | Ligne 196 : | ||
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=9" 2>/dev/null | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=9" 2>/dev/null | ||
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
+ | |||
+ | ( | ||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=6" 2>/dev/null | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=7" 2>/dev/null | ||
+ | )|SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
( | ( | ||
Ligne 141 : | Ligne 212 : | ||
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=13" 2>/dev/null | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=13" 2>/dev/null | ||
− | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace= | + | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=15" 2>/dev/null |
+ | ) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
− | |||
− | + | ( | |
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=103" 2>/dev/null | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=103" 2>/dev/null | ||
Ligne 160 : | Ligne 231 : | ||
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=109" 2>/dev/null | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=109" 2>/dev/null | ||
+ | |||
+ | ) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
+ | ( | ||
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=500" 2>/dev/null | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=500" 2>/dev/null | ||
Ligne 166 : | Ligne 241 : | ||
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
+ | </source> | ||
+ | |||
+ | ==Liste de pages== | ||
+ | ===Wiki moyen=== | ||
+ | <source lang="sh"> | ||
+ | ( | ||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" \ | ||
+ | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&apfrom=r&aplimit=500" \ | ||
+ | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | ) | sort -u > pages | ||
+ | |||
+ | </source> | ||
+ | |||
+ | |||
+ | <source lang="sh"> | ||
+ | ( | ||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" \ | ||
+ | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&apfrom=l&aplimit=500" \ | ||
+ | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&apfrom=r&aplimit=500" \ | ||
+ | 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | ||
+ | ) | sort -u > pages | ||
+ | |||
+ | </source> | ||
+ | |||
+ | ===Pour comparer=== | ||
+ | |||
+ | <source lang="sh"> | ||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > pagesOld | ||
+ | |||
+ | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > pagesTarget | ||
+ | |||
+ | diff pagesOld pagesTarget | grep "<" | ||
+ | |||
+ | diff pagesOld pagesTarget | grep "<" | cut -b 2- | ||
+ | |||
+ | |||
+ | </source> | ||
+ | |||
+ | ==Pour les images== | ||
+ | <source lang="sh"> | ||
+ | curl "http://ticri.univ-lorraine.fr/wicri.pool/api.php?action=query&list=allimages&ailimit=5&aifrom=COLLN&aiprop=url&format=xml" |SxmlIndent | ||
+ | |||
+ | curl "http://ticri.univ-lorraine.fr/wicri.pool/api.php?action=query&list=allimages&ailimit=50&aifrom=COLLN&aiprop=url&format=xml" 2>/dev/null | SxmlSelect -s api/query/allimages/img/attribute::url -p @s1 | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allimages&ailimit=50&aiprop=url&format=xml" |SxmlIndent | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allimages&ailimit=50&aiprop=url&format=xml" | SxmlSelect -s api/query/allimages/img/attribute::url -p @s1 | ||
+ | |||
+ | </source> | ||
+ | ==Espace Wicri== | ||
+ | <source lang="sh"> | ||
+ | ( | ||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=500" 2>/dev/null | ||
+ | |||
+ | curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=501" 2>/dev/null | ||
+ | |||
+ | ) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 > wicriNamespaceOld | ||
+ | |||
+ | ( | ||
+ | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=900" 2>/dev/null | ||
+ | |||
+ | curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=901" 2>/dev/null | ||
+ | |||
+ | ) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 > wicriNamespaceTarget | ||
+ | |||
+ | |||
+ | </source> | ||
+ | ==Via l'API== | ||
+ | ===Pages complètes=== | ||
+ | <source lang="sh"> | ||
+ | php dumpBackup.php --full --filter=namespace:0 > ../../FTP/mainFull.xml | ||
+ | </source> | ||
+ | |||
+ | <source lang="sh"> | ||
+ | wget http://ticri.univ-lorraine.fr/Wicri/France/FTP/mainFull.xml | ||
+ | |||
+ | php importDump.php ../../FTP/mainFull.xml | ||
+ | php rebuildrecentchanges.php | ||
+ | php initSiteStats.php --update | ||
+ | </source> | ||
+ | |||
+ | ===Pages courantes=== | ||
+ | <source lang="sh"> | ||
+ | php dumpBackup.php --current --filter=namespace:0 > ../../FTP/mainCurrent.xml | ||
+ | </source> | ||
+ | |||
+ | <source lang="sh"> | ||
+ | wget http://ticri.univ-lorraine.fr/Wicri/France/FTP/mainCurrent.xml | ||
+ | |||
+ | php | ||
+ | php rebuildrecentchanges.php | ||
+ | php initSiteStats.php --update | ||
+ | </source> | ||
+ | ===Toutes les pages complètes=== | ||
+ | ====Wiki fr==== | ||
+ | <source lang="sh"> | ||
+ | php maintenance/dumpBackup.php --full > ../FTP/fr/allFull.xml | ||
+ | </source> | ||
+ | |||
+ | <source> | ||
+ | php maintenance/importDump.php ../FTP/fr/allFull.xml | ||
+ | |||
+ | php maintenance/rebuildrecentchanges.php | ||
+ | php maintenance/initSiteStats.php --update | ||
+ | </source> | ||
+ | ====Wiki priv==== | ||
+ | <source lang="sh"> | ||
+ | php maintenance/dumpBackup.php --full > ../FTP/priv/allFull.xml | ||
+ | </source> | ||
+ | |||
+ | <source> | ||
+ | php maintenance/importDump.php ../FTP/priv/allFull.xml | ||
+ | |||
+ | php maintenance/rebuildrecentchanges.php | ||
+ | php maintenance/initSiteStats.php --update | ||
+ | </source> | ||
+ | |||
+ | ===Images=== | ||
+ | ===Les images=== | ||
+ | ;Sur site de départ: | ||
+ | <source lang="sh"> | ||
+ | mkdir FTP/fr/images | ||
+ | |||
+ | cp -r fr/images/a FTP/fr/images/. | ||
+ | cp -r fr/images/b FTP/fr/images/. | ||
+ | cp -r fr/images/c FTP/fr/images/. | ||
+ | cp -r fr/images/d FTP/fr/images/. | ||
+ | cp -r fr/images/e FTP/fr/images/. | ||
+ | cp -r fr/images/f FTP/fr/images/. | ||
+ | cp -r fr/images/0 FTP/fr/images/. | ||
+ | cp -r fr/images/1 FTP/fr/images/. | ||
+ | cp -r fr/images/2 FTP/fr/images/. | ||
+ | cp -r fr/images/3 FTP/fr/images/. | ||
+ | cp -r fr/images/4 FTP/fr/images/. | ||
+ | cp -r fr/images/5 FTP/fr/images/. | ||
+ | cp -r fr/images/6 FTP/fr/images/. | ||
+ | cp -r fr/images/7 FTP/fr/images/. | ||
+ | cp -r fr/images/8 FTP/fr/images/. | ||
+ | cp -r fr/images/9 FTP/fr/images/. | ||
+ | |||
+ | cd FTP/fr | ||
+ | |||
+ | tar -cvf images.tar images | ||
+ | |||
+ | ;Pour un wiki privé: | ||
+ | cp -r priv/images/a FTP/priv/images/. | ||
+ | cp -r priv/images/b FTP/priv/images/. | ||
+ | cp -r priv/images/c FTP/priv/images/. | ||
+ | cp -r priv/images/d FTP/priv/images/. | ||
+ | cp -r priv/images/e FTP/priv/images/. | ||
+ | cp -r priv/images/f FTP/priv/images/. | ||
+ | cp -r priv/images/0 FTP/priv/images/. | ||
+ | cp -r priv/images/1 FTP/priv/images/. | ||
+ | cp -r priv/images/2 FTP/priv/images/. | ||
+ | cp -r priv/images/3 FTP/priv/images/. | ||
+ | cp -r priv/images/4 FTP/priv/images/. | ||
+ | cp -r priv/images/5 FTP/priv/images/. | ||
+ | cp -r priv/images/6 FTP/priv/images/. | ||
+ | cp -r priv/images/7 FTP/priv/images/. | ||
+ | cp -r priv/images/8 FTP/priv/images/. | ||
+ | cp -r priv/images/9 FTP/priv/images/. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </source> | ||
+ | ;Sur cite cible: | ||
+ | <source lang="sh"> | ||
+ | cd FTP | ||
+ | wget http://ticri.univ-lorraine.fr/Wicri/Ticri/FTP/images.tar | ||
+ | |||
+ | |||
+ | tar -xvf images.tar | ||
+ | |||
+ | mkdir files | ||
+ | |||
+ | cp images/*/*/* files/. | ||
+ | |||
+ | cd ../fr | ||
+ | |||
+ | php maintenance/importImages.php ../FTP/files | ||
+ | |||
+ | sudo chown -R www-data images/* | ||
+ | sudo chgrp -R www-data images/* | ||
+ | |||
</source> | </source> |
Version actuelle datée du 19 décembre 2017 à 11:47
Cette page est un recueil de notes pour la migration des wikis.
Sommaire
Variables shell
Les variables shell sont à définir dans la page Projets:Installation de chaque wiki concerné.
Voici ici quelques exemples.
WIKI=http://ticri.univ-lorraine.fr/wicri-base.de
WIKI=http://ticri.univ-lorraine.fr/wicri.de
WIKI=http://ticri.univ-lorraine.fr/wicri-europa.de
WIKI=http://ticri.univ-lorraine.fr/wicri-base.pt
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/de
WIKI=http://ticri.univ-lorraine.fr/wicri-music.en
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Musique/en
WIKI=http://ticri.univ-lorraine.fr/wicri-meta.en
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Meta/en
WIKI=http://ticri.univ-lorraine.fr/wicri-saarland.en
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/Allemagne/Sarre/en
WIKI=http://ticri.univ-lorraine.fr/wicri-lor.en
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/France/Lorraine/en
WIKI=http://ticri.univ-lorraine.fr/wicri-france.en
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/France/en
WIKI=http://ticri.univ-lorraine.fr/wicri-gr.de
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/GrandeRegion/de
WIKI=http://ticri.univ-lorraine.fr/wicri-gr.en
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Europe/GrandeRegion/en
WIKI=http://ticri.univ-lorraine.fr/wicri-asie.fr
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Asie/fr
WIKI=http://ticri.univ-lorraine.fr/wicri-meta.fr
WIKI_TARGET=https://lorexplor.istex.fr/Wicri/Meta/fr
Vérifications
Pour obtenir la liste des espaces de nom.
curl "$WIKI/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml" | SxmlIndent
curl "$WIKI_TARGET/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml" | SxmlIndent
Pour obtenir la liste des pages de l'espace principal (en fait si elle dépasse 500)
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" \
2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | wc
Les modèles
Pour les wikis anglais
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > templateOld
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > templateTarget
diff templateOld templateTarget | grep "<" | cut -b 2-
Pour les wikis français
Modèles à recopier
Modèle:Wicri thématique voir laboratoire Modèle:Wicri thématique voir laboratoire/sémantique Modèle:Wicri thématique voir personne Modèle:Wicri thématique voir personne/sémantique Modèle:Wicri thématique voir revue Modèle:Wicri thématique voir revue/sémantique Modèle:Wicri thématique voir région Modèle:Wicri thématique voir région/sémantique Modèle:Wicri thématique voir université Modèle:Wicri thématique voir université/sémantique Modèle:Wicri thématique voir ville Modèle:Wicri thématique voir ville/sémantique Modèle:Infobox Organisme Modèle:Nowrap begin Modèle:Nowrap end
Modèle:Infobox sémantique manifestation extensions Modèle:Infobox sémantique personne extensions Modèle:Infobox sémantique université extensions Modèle:Accès géographique
Modèle:Logo Wicri Rhénanie-Palatinat
Comparaisons
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=F&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=P&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
) | sort -u > modeleOld
(
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=F&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apfrom=P&apnamespace=10" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
) | sort -u > modeleTarget
diff modeleOld modeleTarget | grep "<"
diff modeleOld modeleTarget | grep "<" | cut -b 2-
Modèles à éviter de recopier
cat <<... >modeleNoCopy
Modèle:Job queue
Modèle:Documentation modèle
Modèle:Documentation modèle compliqué en sous-page
Modèle:Documentation modèle compliqué en sous-page/Documentation
Modèle:Documentation modèle en sous-page
Modèle:Documentation modèle utilisant les ParserFunctions en sous-page
Modèle:Modèle utilisant les ParserFunctions
Modèle:Modèle utilisant les ParserFunctions/Documentation
Modèle:Doc modèle
Modèle:Doc modèle/Documentation
Modèle:Liste éléments/1 espace
...
cat modeleNoCopy modeleTarget | sort -u > modeleTargetCorrige
diff modeleOld modeleTargetCorrige | grep "<" | cut -b 2- > modeles
Pour comparer des listes
diff modeleSemNew modeleSemOld | grep ">" | cut -b 3- | grep "Modèle:" | SxmlSelect -p " [[@1]]"
diff modeleSemNew modeleSemOld | grep ">" | cut -b 3- | grep "Attribut:" | SxmlSelect -p " [[@1]]"
diff modeleSemNew modeleSemOld | grep ">" | cut -b 3- | grep "Catégorie:" | SxmlSelect -p " [[:@1]]"
Les catégories
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=14" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > categoriesOld
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=14" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > categoriesTarget
diff categoriesOld categoriesTarget | grep "<"
diff categoriesOld categoriesTarget | grep "<" | cut -b 2-
Les attributs
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=102" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > attOld
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500&apnamespace=102" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > attTarget
diff attOld attTarget | grep "<"
diff attOld attTarget | grep "<" | cut -b 2-
Suite à améliorer
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=1" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=2" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=3" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=4" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=5" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=8" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=9" 2>/dev/null
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=6" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=7" 2>/dev/null
)|SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=11" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=12" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=13" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=15" 2>/dev/null
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=103" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=104" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=105" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=106" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=107" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=108" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=109" 2>/dev/null
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=500" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=501" 2>/dev/null
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
Liste de pages
Wiki moyen
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" \
2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI/api.php?action=query&list=allpages&format=xml&apfrom=r&aplimit=500" \
2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
) | sort -u > pages
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" \
2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI/api.php?action=query&list=allpages&format=xml&apfrom=l&aplimit=500" \
2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
curl "$WIKI/api.php?action=query&list=allpages&format=xml&apfrom=r&aplimit=500" \
2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1
) | sort -u > pages
Pour comparer
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=500" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > pagesOld
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=500" 2>/dev/null |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 | sort -u > pagesTarget
diff pagesOld pagesTarget | grep "<"
diff pagesOld pagesTarget | grep "<" | cut -b 2-
Pour les images
curl "http://ticri.univ-lorraine.fr/wicri.pool/api.php?action=query&list=allimages&ailimit=5&aifrom=COLLN&aiprop=url&format=xml" |SxmlIndent
curl "http://ticri.univ-lorraine.fr/wicri.pool/api.php?action=query&list=allimages&ailimit=50&aifrom=COLLN&aiprop=url&format=xml" 2>/dev/null | SxmlSelect -s api/query/allimages/img/attribute::url -p @s1
curl "$WIKI/api.php?action=query&list=allimages&ailimit=50&aiprop=url&format=xml" |SxmlIndent
curl "$WIKI/api.php?action=query&list=allimages&ailimit=50&aiprop=url&format=xml" | SxmlSelect -s api/query/allimages/img/attribute::url -p @s1
Espace Wicri
(
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=500" 2>/dev/null
curl "$WIKI/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=501" 2>/dev/null
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 > wicriNamespaceOld
(
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=900" 2>/dev/null
curl "$WIKI_TARGET/api.php?action=query&list=allpages&format=xml&aplimit=100&apnamespace=901" 2>/dev/null
) |SxmlSelect -s api/query/allpages/p/attribute::title -p @s1 > wicriNamespaceTarget
Via l'API
Pages complètes
php dumpBackup.php --full --filter=namespace:0 > ../../FTP/mainFull.xml
wget http://ticri.univ-lorraine.fr/Wicri/France/FTP/mainFull.xml
php importDump.php ../../FTP/mainFull.xml
php rebuildrecentchanges.php
php initSiteStats.php --update
Pages courantes
php dumpBackup.php --current --filter=namespace:0 > ../../FTP/mainCurrent.xml
wget http://ticri.univ-lorraine.fr/Wicri/France/FTP/mainCurrent.xml
php
php rebuildrecentchanges.php
php initSiteStats.php --update
Toutes les pages complètes
Wiki fr
php maintenance/dumpBackup.php --full > ../FTP/fr/allFull.xml
php maintenance/importDump.php ../FTP/fr/allFull.xml
php maintenance/rebuildrecentchanges.php
php maintenance/initSiteStats.php --update
Wiki priv
php maintenance/dumpBackup.php --full > ../FTP/priv/allFull.xml
php maintenance/importDump.php ../FTP/priv/allFull.xml
php maintenance/rebuildrecentchanges.php
php maintenance/initSiteStats.php --update
Images
Les images
- Sur site de départ
mkdir FTP/fr/images
cp -r fr/images/a FTP/fr/images/.
cp -r fr/images/b FTP/fr/images/.
cp -r fr/images/c FTP/fr/images/.
cp -r fr/images/d FTP/fr/images/.
cp -r fr/images/e FTP/fr/images/.
cp -r fr/images/f FTP/fr/images/.
cp -r fr/images/0 FTP/fr/images/.
cp -r fr/images/1 FTP/fr/images/.
cp -r fr/images/2 FTP/fr/images/.
cp -r fr/images/3 FTP/fr/images/.
cp -r fr/images/4 FTP/fr/images/.
cp -r fr/images/5 FTP/fr/images/.
cp -r fr/images/6 FTP/fr/images/.
cp -r fr/images/7 FTP/fr/images/.
cp -r fr/images/8 FTP/fr/images/.
cp -r fr/images/9 FTP/fr/images/.
cd FTP/fr
tar -cvf images.tar images
;Pour un wiki privé:
cp -r priv/images/a FTP/priv/images/.
cp -r priv/images/b FTP/priv/images/.
cp -r priv/images/c FTP/priv/images/.
cp -r priv/images/d FTP/priv/images/.
cp -r priv/images/e FTP/priv/images/.
cp -r priv/images/f FTP/priv/images/.
cp -r priv/images/0 FTP/priv/images/.
cp -r priv/images/1 FTP/priv/images/.
cp -r priv/images/2 FTP/priv/images/.
cp -r priv/images/3 FTP/priv/images/.
cp -r priv/images/4 FTP/priv/images/.
cp -r priv/images/5 FTP/priv/images/.
cp -r priv/images/6 FTP/priv/images/.
cp -r priv/images/7 FTP/priv/images/.
cp -r priv/images/8 FTP/priv/images/.
cp -r priv/images/9 FTP/priv/images/.
- Sur cite cible
cd FTP
wget http://ticri.univ-lorraine.fr/Wicri/Ticri/FTP/images.tar
tar -xvf images.tar
mkdir files
cp images/*/*/* files/.
cd ../fr
php maintenance/importImages.php ../FTP/files
sudo chown -R www-data images/*
sudo chgrp -R www-data images/*