Migration des wikis
De Wicri Base 1.28
Révision datée du 25 juin 2017 à 12:35 par imported>Jacques Ducloy (→Comparaisons)
Cette page est un recueil de notes pour la migration des wikis.
Sommaire
Variables shell
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 "<"
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
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
...
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=L&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=L&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-
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=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
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