Utilisateur:Goelette Cardabela/Sandbox/Annexion et indexation des wiki-livres/Référencement automatique
Automatiser l'ensemble des tâches de la documentation des livres n'est pas facile car rien n'est prévu par WikiMedia.
Jusqu'en 2017 le menu Créer une compilation permettait de créer une image PDF du livre avec sa documentation, annexes et index. Plus tôt encore, on pouvait obtenir d'autres formats.
Notez qu'il est toujours possible de créer une compilation et de commander un livre à PediaPress.
Automatiser la documentation avec mwlib et linux ubuntu
[modifier | modifier le wikicode]C'est la méthode utilisée par PediaPress avec les versions pdf writer 0.10.4 et mwlib 0.15.18
- documentation
- https://media.readthedocs.org/pdf/mwlib/latest/mwlib.pdf
Cette librairie est obsolète et on comprend le problème actuel de PediaPress. Elle a été publiée par Volker Haas, Ralf Schmitt, Johannes Beige en 2010.
Pour utiliser cette librairie il faudrait équiper un serveur avec les recommandations pour Ubuntu 18 LTS et Mediawiki Version 1.17 ou + à cette url :
Automatiser la documentation sans changer les habitudes Wikimédia
[modifier | modifier le wikicode]Il n'est pas possible d'agir sur une page Wiki à l'aide de commandes externes, il faut donc créer des fichiers sur lesquels on peut agir.
L'idée première est de créer un fichier html copie de la page à documenter. Cela peut se faire avec les commandes spéciales wget disponibles en standard sous Linux et PowerShell
La seconde idée est de créer un flux d'extraction du texte d'un fichier et de faire un tri à la volée de ce que l'on cherche, et que l'on redirige vers un fichier qui recueuille ces données.
Équivalence des commandes shell selon les systèmes d'exploitation
[modifier | modifier le wikicode]Utiliser les commandes bash sous linux ou sous Windows
[modifier | modifier le wikicode]Pour extraire la documentation nous disposons des commandes grep, mkd, etc. Mais comment faire pour que le contributeur puisse créer la documentation de son livre avec un minimum de clics.
Code d'essai avec wget
[modifier | modifier le wikicode]- Code des commandes d'essais avec une liste fullurl des pages à traduire en code html
- extraire.bash
#!/bin/bash
# fichier extraire (ou extraire.bash)
# fichier de test de la commande wget
# ce fichier de commandes lit le contenu du fichier liste projet.list ligne à ligne et produit des fichiers
# Syntaxe : extraire <projet>
# exemple : ./extraire.bash LivreTest
# Exemple de LivreTest.list
#################################################################################################
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest #
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn #
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleDeux #
### https://fr.wikibooks.org/wiki/Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleTrois #
#################################################################################################
# Exemple de LivreTest.prj obtenu
##################
### ArticleDeux #
### ArticleTrois #
### ArticleUn #
### LivreTest #
##################
rm *.1 *.2
clear
echo "Extraction de la documentation du livre en test: "$1
echo " "
echo "Ce fichier de commandes "$0" doit être en mode lecture, écriture et exécution : Commande : chmod 777 "$0
echo " "
echo $1" est le nom de projet du livre à documenter."
echo " "
echo "La liste "$1".list, doit contenir les liens vers les pages qui composent le livre, (le Contenu du livre)."
echo " "
#read -p "Appuyer sur retour-chariot une pour continuer ..."
if (test -a $1".list") then {
wget -i $1.list
if (test -a $1".1")
then echo "Les listes sont créées au premier tour.";
else wget -i $1.list # force la création des fichiers d'extension ".1" pour la sélection.
echo "Les listes sont créées au deuxième tour.";
fi
}
else exit -1;
fi
rm *.tmp
ls *.1 > $1.tmp
cat $1.tmp | sed "s/.1//g" > $1.prj
cp -f *.1 *
echo $1".prj contient la liste des fichiers à convertir en fichier.html avec les liens vers wikibooks à compléter :"
echo " "
cat $1.prj
Fichier des liens internet vers les pages du livre pour créer la page Annexe
[modifier | modifier le wikicode]- La liste des liens vers les pages du livre permet de créer la page Annexe avec wget.
- Dans les exemples suivants les liens vers wikibooks français sont artificiels. Pour les pages issues d'autres sites wiki il faudrait extraire l'adresse du site {{SERVER}}=//fr.wikibooks.org pour l'incorporer à la génération de la liste, ou encore: extraire la liste des pages de la page principale.
- Il est peut être préférable d'utiliser les Modèles pour créer ces listes ?
- Exemple : {{FULLURL:Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn}}
- qui donne //fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn
- Le lien est relatif mais il suffit de faire précéder la commande par "https:"
- qui donne https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn
avec la page Contenu de LivreTest
[modifier | modifier le wikicode]- LivreTest.contenu (Fichier)
- Copier le wikicode suivant dans l'espace de travail ~Wget (Dossier Personnel) :
[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn|ArticleUn]]<br /> [[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleDeux|ArticleDeux]]<br /> [[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleTrois|ArticleTrois]] {{AutoCat}}
- Construction du fichier de liste LivreTest.list
- Copier mkd-getwikifiles dans le même répertoire : ~Wget.
- Utilisateur:Goelette_Cardabela/mkd-getwikifiles
mkd-getwikifiles --s LivreTest.contenu > LivreTest.list
- autre solution avec bash, sans mkd-getwikifiles :
- Code bash ;
cat LivreTest.contenu | sed "s/\[\[/%https:\/\/fr.wikibooks.org\/wiki\//g" | sed "s/]]/%/g" | cut -d'%' -f2 |tr '|' '\n' | grep "wiki" > LivreTest.list
avec la page LivreTest.compilé issue de la compilation
[modifier | modifier le wikicode]- wikicode de LivreTest compilé (fichier)
== LivreTest == === Tests de référencement === :[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn]] :[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleDeux]] :[[Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleTrois]] [[Catégorie:Compilations|LivreTest]]
- Code bash ;
cat LivreTest.compilé | sed "s/:\[\[/%https:\/\/fr.wikibooks.org\/wiki\//g" | sed "s/]]/%/g" | cut -d'%' -f2 |tr '|' '\n' | grep "wiki" > LivreTest.list
fichier LivreTest.list obtenu avec les pages Contenu ou la page issue de la compilation
[modifier | modifier le wikicode]https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleDeux https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleTrois
Code ArticleUn.1 obtenu avec wget pour la page ArticleUn
[modifier | modifier le wikicode]Les liens sont relatifs à la page, sur le serveur de wikibooks, ce code html n'est pas exploitable tel quel sur un navigateur local. ...
Voir le sous-chapitre ci-après #Extraire_les_liens_des_images_de_la_page_ArticleUn
ArticleUn.1
<!DOCTYPE html>
<html class="client-nojs" lang="fr" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn — Wikilivres</title>
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
<script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgCanonicalNamespace":"User","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":2,"wgPageName":"Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn","wgTitle":"Goelette Cardabela/Sandbox/LivreTest/ArticleUn","wgCurRevisionId":610077,"wgRevisionId":610077,"wgArticleId":72692,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"fr","wgPageContentModel":"wikitext","wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgMonthNamesShort":["","janv.","fév.","mars","avr.","mai","juin","juill.","août","sept.","oct.","nov.","déc."],"wgRelevantPageName":"Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn","wgRelevantArticleId":72692,"wgRequestId":"XCSoOwpAADkAAAzOfL8AAABM","wgCSPNonce":false,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRelevantUserName":"Goelette Cardabela","wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}","wgWikiEditorEnabledModules":[],"wgBetaFeaturesFeatures":[],"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"fr","pageLanguageDir":"ltr","pageVariantFallbacks":"fr","usePageImages":false,"usePageDescriptions":true},"wgMFExpandAllSectionsUserOption":true,"wgMFEnableFontChanger":true,"wgMFDisplayWikibaseDescriptions":{"search":true,"nearby":true,"watchlist":true,"tagline":false},"wgWMESchemaEditAttemptStepOversample":false,"wgULSCurrentAutonym":"français","wgNoticeProject":"wikibooks","wgCentralNoticeCookiesToDelete":[],"wgCentralNoticeCategoriesUsingLegacy":["Fundraising","fundraising"],"wgScoreNoteLanguages":{"arabic":"العربية","catalan":"català","deutsch":"Deutsch","english":"English","espanol":"español","italiano":"italiano","nederlands":"Nederlands","norsk":"norsk","portugues":"português","suomi":"suomi","svenska":"svenska","vlaams":"West-Vlams"},"wgScoreDefaultNoteLanguage":"nederlands","wgCentralAuthMobileDomain":false,"wgCodeMirrorEnabled":true,"wgVisualEditorToolbarScrollOffset":0,"wgVisualEditorUnsupportedEditParams":["undo","undoafter","veswitched"],"wgEditSubmitButtonLabelPublish":true});mw.loader.state({"ext.globalCssJs.user.styles":"ready","ext.globalCssJs.site.styles":"ready","site.styles":"ready","noscript":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","ext.globalCssJs.site":"ready","user":"ready","user.options":"loading","user.tokens":"loading","ext.cite.styles":"ready","mediawiki.legacy.shared":"ready","mediawiki.legacy.commonPrint":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready","ext.3d.styles":"ready","mediawiki.skinning.interface":"ready","skins.vector.styles":"ready"});mw.loader.implement("user.options@1dpodri",function($,jQuery,require,module){/*@nomin*/mw.user.options.set({"variant":"fr"});
});mw.loader.implement("user.tokens@0tffind",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});
});RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.startup","mediawiki.page.ready","mediawiki.searchSuggest","ext.gadget.extlinks","ext.gadget.EditIndex","ext.centralauth.centralautologin","mmv.head","mmv.bootstrap.autostart","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.eventlogger","ext.uls.init","ext.uls.compactlinks","ext.uls.interface","ext.centralNotice.geoIP","ext.centralNotice.startUp","skins.vector.js"];mw.loader.load(RLPAGEMODULES);});</script>
<link rel="stylesheet" href="/w/load.php?debug=false&lang=fr&modules=ext.3d.styles%7Cext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.skinning.interface%7Cskins.vector.styles&only=styles&skin=vector"/>
<script async="" src="/w/load.php?debug=false&lang=fr&modules=startup&only=scripts&skin=vector"></script>
<meta name="ResourceLoaderDynamicStyles" content=""/>
<link rel="stylesheet" href="/w/load.php?debug=false&lang=fr&modules=site.styles&only=styles&skin=vector"/>
<meta name="generator" content="MediaWiki 1.33.0-wmf.9"/>
<meta name="referrer" content="origin"/>
<meta name="referrer" content="origin-when-crossorigin"/>
<meta name="referrer" content="origin-when-cross-origin"/>
<link rel="alternate" type="application/x-wiki" title="Modifier" href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit"/>
<link rel="edit" title="Modifier" href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit"/>
<link rel="shortcut icon" href="/static/favicon/wikibooks.ico"/>
<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikilivres (fr)"/>
<link rel="EditURI" type="application/rsd+xml" href="//fr.wikibooks.org/w/api.php?action=rsd"/>
<link rel="license" href="//creativecommons.org/licenses/by-sa/3.0/"/>
<link rel="alternate" type="application/atom+xml" title="Flux Atom de Wikilivres" href="/w/index.php?title=Sp%C3%A9cial:Modifications_r%C3%A9centes&feed=atom"/>
<link rel="canonical" href="https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn"/>
<link rel="dns-prefetch" href="//login.wikimedia.org"/>
<link rel="dns-prefetch" href="//meta.wikimedia.org" />
<!--[if lt IE 9]><script src="/w/load.php?debug=false&lang=fr&modules=html5shiv&only=scripts&skin=vector&sync=1"></script><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-2 ns-subject mw-editable page-Utilisateur_Goelette_Cardabela_Sandbox_LivreTest_ArticleUn rootpage-Utilisateur_Goelette_Cardabela skin-vector action-view"> <div id="mw-page-base" class="noprint"></div>
<div id="mw-head-base" class="noprint"></div>
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div id="siteNotice" class="mw-body-content"><!-- CentralNotice --></div><div class="mw-indicators mw-body-content">
</div>
<h1 id="firstHeading" class="firstHeading" lang="fr">Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn</h1> <div id="bodyContent" class="mw-body-content">
<div id="siteSub" class="noprint">Un livre de Wikilivres.</div> <div id="contentSub"><span class="subpages">< <a href="/wiki/Utilisateur:Goelette_Cardabela" title="Utilisateur:Goelette Cardabela">Utilisateur:Goelette Cardabela</a>‎ | <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox" title="Utilisateur:Goelette Cardabela/Sandbox">Sandbox</a>‎ | <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest">LivreTest</a></span></div>
<div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Sauter à la navigation</a>
<a class="mw-jump-link" href="#p-search">Sauter à la recherche</a>
<div id="mw-content-text" lang="fr" dir="ltr" class="mw-content-ltr"><div class="mw-parser-output"><p><br />
</p>
<h2><span class="mw-headline" id="Sommaire">Sommaire</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&veaction=edit&section=1" class="mw-editsection-visualeditor" title="Modifier la section : Sommaire">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit&section=1" title="Modifier la section : Sommaire">modifier le wikicode</a><span class="mw-editsection-bracket">]</span></span></h2>
<pre> <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_1" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 1</a>
<a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_2" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 2</a>
<a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_3" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 3</a>
</pre>
<div style="page-break-before:always"></div>
<h2><span class="mw-headline" id="Chapitre_1">Chapitre 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&veaction=edit&section=2" class="mw-editsection-visualeditor" title="Modifier la section : Chapitre 1">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit&section=2" title="Modifier la section : Chapitre 1">modifier le wikicode</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:502px;"><a href="/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/500px-Gabriel_Garcia_Marquez_-_Fresque.jpg" width="500" height="375" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/750px-Gabriel_Garcia_Marquez_-_Fresque.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/1000px-Gabriel_Garcia_Marquez_-_Fresque.jpg 2x" data-file-width="1280" data-file-height="960" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg" class="internal" title="Agrandir"></a></div>Gabriel Garcia Marquez - Fresque de Pohline Blast</div></div></div></div>
<div style="clear:both;"></div>
<p><a href="https://fr.wikipedia.org/wiki/Gabriel_Garc%C3%ADa_M%C3%A1rquez" class="extiw" title="w:Gabriel García Márquez">Gabriel_García_Márquez</a> est un romancier colombien, prix Nobel de littérature en 1982.
</p><p>La fresque de Pohline Blast sur le fronton de l’hôtel Bellavista a été peinte en décembre 2017 lors de son passage chez <i>Tonton</i> hôtelier d'origine française et propriétaire de l'hôtel.
</p><p>Références :<br />
<a class="external free" href="https://fr.wikivoyage.org/wiki/Carthagène">https://fr.wikivoyage.org/wiki/Carthagène</a> des Indes. (Colombie)<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup>
</p>
<div style="page-break-before:always"></div>
<h2><span class="mw-headline" id="Chapitre_2">Chapitre 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&veaction=edit&section=3" class="mw-editsection-visualeditor" title="Modifier la section : Chapitre 2">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit&section=3" title="Modifier la section : Chapitre 2">modifier le wikicode</a><span class="mw-editsection-bracket">]</span></span></h2>
<h2><span class="mw-headline" id="Chapitre_3">Chapitre 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&veaction=edit&section=4" class="mw-editsection-visualeditor" title="Modifier la section : Chapitre 3">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit&section=4" title="Modifier la section : Chapitre 3">modifier le wikicode</a><span class="mw-editsection-bracket">]</span></span></h2><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a class="external free" href="https://fr.wikivoyage.org/wiki/Carthagène">https://fr.wikivoyage.org/wiki/Carthagène</a> des Indes. (Colombie)</span>
</li>
</ol>
<!--
NewPP limit report
Parsed by mw1285
Cached time: 20181221101408
Cache expiry: 1900800
Dynamic content: false
CPU time usage: 0.016 seconds
Real time usage: 0.025 seconds
Preprocessor visited node count: 46/1000000
Preprocessor generated node count: 0/1500000
Post‐expand include size: 386/2097152 bytes
Template argument size: 0/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 83/5000000 bytes
Number of Wikibase entities loaded: 0/400
-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 10.190 1 -total
30.26% 3.084 1 Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn/Sommaire
24.18% 2.464 2 Modèle:Nouvelle_page_imprimée
20.89% 2.129 1 Modèle:Clr
-->
<!-- Saved in parser cache with key frwikibooks:pcache:idhash:72692-0!canonical and timestamp 20181221101419 and revision id 610077
-->
</div><noscript><img src="//fr.wikibooks.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" /></noscript></div> <div class="printfooter">
Récupérée de « <a dir="ltr" href="https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&oldid=610077">https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&oldid=610077</a> » </div>
<div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> <div class="visualClear"></div>
</div>
</div>
<div id="mw-navigation">
<h2>Menu de navigation</h2>
<div id="mw-head">
<div id="p-personal" role="navigation" class="" aria-labelledby="p-personal-label">
<h3 id="p-personal-label">Outils personnels</h3>
<ul>
<li id="pt-anonuserpage">Non connecté</li><li id="pt-anontalk"><a href="/wiki/Sp%C3%A9cial:Mes_discussions" title="La page de discussion pour les contributions depuis cette adresse IP [n]" accesskey="n">Discussion</a></li><li id="pt-anoncontribs"><a href="/wiki/Sp%C3%A9cial:Mes_contributions" title="Une liste des modifications effectuées depuis cette adresse IP [y]" accesskey="y">Contributions</a></li><li id="pt-createaccount"><a href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&returnto=Utilisateur%3AGoelette+Cardabela%2FSandbox%2FLivreTest%2FArticleUn" title="Nous vous encourageons à créer un compte utilisateur et vous connecter; ce n’est cependant pas obligatoire">Créer un compte</a></li><li id="pt-login"><a href="/w/index.php?title=Sp%C3%A9cial:Connexion&returnto=Utilisateur%3AGoelette+Cardabela%2FSandbox%2FLivreTest%2FArticleUn" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire [o]" accesskey="o">Se connecter</a></li> </ul>
</div>
<div id="left-navigation">
<div id="p-namespaces" role="navigation" class="vectorTabs" aria-labelledby="p-namespaces-label">
<h3 id="p-namespaces-label">Espaces de noms</h3>
<ul>
<li id="ca-nstab-user" class="selected"><span><a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn" title="Voir la page utilisateur [c]" accesskey="c">Page d’utilisateur</a></span></li><li id="ca-talk" class="new"><span><a href="/w/index.php?title=Discussion_utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit&redlink=1" rel="discussion" title="Discussion au sujet de cette page de contenu (page inexistante) [t]" accesskey="t">Discussion</a></span></li> </ul>
</div>
<div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label">
<input type="checkbox" class="vectorMenuCheckbox" aria-labelledby="p-variants-label" />
<h3 id="p-variants-label">
<span>Variantes</span>
</h3>
<ul class="menu">
</ul>
</div>
</div>
<div id="right-navigation">
<div id="p-views" role="navigation" class="vectorTabs" aria-labelledby="p-views-label">
<h3 id="p-views-label">Affichages</h3>
<ul>
<li id="ca-view" class="collapsible selected"><span><a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn">Lire</a></span></li><li id="ca-ve-edit" class="collapsible"><span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&veaction=edit" title="Modifier cette page [v]" accesskey="v">Modifier</a></span></li><li id="ca-edit" class="collapsible"><span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit" title="Modifier le wikicode [e]" accesskey="e">Modifier le wikicode</a></span></li><li id="ca-history" class="collapsible"><span><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=history" title="Historique des versions de cette page [h]" accesskey="h">Voir l’historique</a></span></li> </ul>
</div>
<div id="p-cactions" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-cactions-label">
<input type="checkbox" class="vectorMenuCheckbox" aria-labelledby="p-cactions-label" />
<h3 id="p-cactions-label"><span>Plus</span></h3>
<ul class="menu">
</ul>
</div>
<div id="p-search" role="search">
<h3>
<label for="searchInput">Rechercher</label>
</h3>
<form action="/w/index.php" id="searchform">
<div id="simpleSearch">
<input type="search" name="search" placeholder="Rechercher dans Wikilivres" title="Rechercher dans Wikilivres [f]" accesskey="f" id="searchInput"/><input type="hidden" value="Spécial:Recherche" name="title"/><input type="submit" name="fulltext" value="Rechercher" title="Rechercher les pages comportant ce texte." id="mw-searchButton" class="searchButton mw-fallbackSearchButton"/><input type="submit" name="go" value="Continuer" title="Accédez à une page du même nom si elle existe" id="searchButton" class="searchButton"/> </div>
</form>
</div>
</div>
</div>
<div id="mw-panel">
<div id="p-logo" role="banner"><a class="mw-wiki-logo" href="/wiki/Accueil" title="Visiter la page d’accueil"></a></div>
<div class="portal" role="navigation" id="p-Bibliothèque" aria-labelledby="p-Bibliothèque-label">
<h3 id="p-Bibliothèque-label">Bibliothèque</h3>
<div class="body">
<ul>
<li id="n-mainpage"><a href="/wiki/Accueil" title="Visiter la page d'accueil du site [z]" accesskey="z">Accueil</a></li><li id="n-La-vitrine"><a href="/wiki/Wikilivres:Vitrine">La vitrine</a></li><li id="n-Tous-les-livres"><a href="/wiki/Wikilivres:Tous_les_livres">Tous les livres</a></li><li id="n-Rechercher-un-livre"><a href="/wiki/Wikilivres:Rechercher_un_livre">Rechercher un livre</a></li><li id="n-Wikijunior"><a href="/wiki/Wikijunior">Wikijunior</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id="p-Navigation" aria-labelledby="p-Navigation-label">
<h3 id="p-Navigation-label">Navigation</h3>
<div class="body">
<ul>
<li id="n-recentchanges"><a href="/wiki/Sp%C3%A9cial:Modifications_r%C3%A9centes" title="Liste des modifications récentes sur le wiki [r]" accesskey="r">Modifications récentes</a></li><li id="n-Communauté"><a href="/wiki/Wikilivres:Portail_communautaire">Communauté</a></li><li id="n-Le-Bistro"><a href="/wiki/Wikilivres:Le_Bistro/2018">Le Bistro</a></li><li id="n-sitesupport"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_fr.wikibooks.org&uselang=fr" title="Soutenez-nous">Faire un don</a></li><li id="n-Livre-au-hasard"><a href="/wiki/Sp%C3%A9cial:RandomRootpage">Livre au hasard</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id="p-Aide" aria-labelledby="p-Aide-label">
<h3 id="p-Aide-label">Aide</h3>
<div class="body">
<ul>
<li id="n-help"><a href="/wiki/Aide:Accueil" title="Accès à l’aide">Aide</a></li><li id="n-Wikilivre-d'aide"><a href="/wiki/Wikilivres">Wikilivre d'aide</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id="p-tb" aria-labelledby="p-tb-label">
<h3 id="p-tb-label">Outils</h3>
<div class="body">
<ul>
<li id="t-whatlinkshere"><a href="/wiki/Sp%C3%A9cial:Pages_li%C3%A9es/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn" title="Liste des pages liées qui pointent sur celle-ci [j]" accesskey="j">Pages liées</a></li><li id="t-recentchangeslinked"><a href="/wiki/Sp%C3%A9cial:Suivi_des_liens/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn" rel="nofollow" title="Liste des modifications récentes des pages appelées par celle-ci [k]" accesskey="k">Suivi des pages liées</a></li><li id="t-contributions"><a href="/wiki/Sp%C3%A9cial:Contributions/Goelette_Cardabela" title="Voir la liste des contributions de cet utilisateur">Contributions de l’utilisateur</a></li><li id="t-log"><a href="/wiki/Sp%C3%A9cial:Journal/Goelette_Cardabela">Journaux d’opérations</a></li><li id="t-userrights"><a href="/wiki/Sp%C3%A9cial:Permissions/Goelette_Cardabela">Voir les groupes de l’utilisateur</a></li><li id="t-upload"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=fr" title="Importer des fichiers [u]" accesskey="u">Importer un fichier</a></li><li id="t-specialpages"><a href="/wiki/Sp%C3%A9cial:Pages_sp%C3%A9ciales" title="Liste de toutes les pages spéciales [q]" accesskey="q">Pages spéciales</a></li><li id="t-permalink"><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&oldid=610077" title="Adresse permanente de cette version de la page">Lien permanent</a></li><li id="t-info"><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=info" title="Plus d’information sur cette page">Information sur la page</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id="p-lang" aria-labelledby="p-lang-label">
<h3 id="p-lang-label">Dans d’autres langues</h3>
<div class="body">
<ul>
</ul>
</div>
</div>
<div class="portal" role="navigation" id="p-coll-print_export" aria-labelledby="p-coll-print_export-label">
<h3 id="p-coll-print_export-label">Imprimer / exporter</h3>
<div class="body">
<ul>
<li id="coll-create_a_book"><a href="/w/index.php?title=Sp%C3%A9cial:Livre&bookcmd=book_creator&referer=Utilisateur%3AGoelette+Cardabela%2FSandbox%2FLivreTest%2FArticleUn">Créer une compilation</a></li><li id="coll-download-as-rdf2latex"><a href="/w/index.php?title=Sp%C3%A9cial:ElectronPdf&page=Utilisateur%3AGoelette+Cardabela%2FSandbox%2FLivreTest%2FArticleUn&action=show-download-screen">Télécharger la compilation au format PDF</a></li><li id="t-print"><a href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&printable=yes" title="Version imprimable de cette page [p]" accesskey="p">Version imprimable</a></li> </ul>
</div>
</div>
</div>
</div>
<div id="footer" role="contentinfo">
<ul id="footer-info">
<li id="footer-info-lastmod"> La dernière modification de cette page a été faite le 21 décembre 2018 à 11:14.</li>
<li id="footer-info-copyright">Les textes sont disponibles sous <a href="//creativecommons.org/licenses/by-sa/3.0/">licence Creative Commons attribution partage à l’identique</a> ; d’autres termes peuvent s’appliquer.<br/>
Voyez les <a href="//wikimediafoundation.org/wiki/Conditions_d'utilisation">termes d’utilisation</a> pour plus de détails.<br/></li>
</ul>
<ul id="footer-places">
<li id="footer-places-privacy"><a href="https://meta.wikimedia.org/wiki/Privacy_policy/fr" class="extiw" title="m:Privacy policy/fr">Politique de confidentialité</a></li>
<li id="footer-places-about"><a href="/wiki/Wikilivres:%C3%80_propos_de" class="mw-redirect" title="Wikilivres:À propos de">À propos de Wikilivres</a></li>
<li id="footer-places-disclaimer"><a href="/wiki/Wikilivres:Avertissements_g%C3%A9n%C3%A9raux" title="Wikilivres:Avertissements généraux">Avertissements</a></li>
<li id="footer-places-developers"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/How_to_contribute">Développeurs</a></li>
<li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Cookie_statement">Déclaration sur les témoins (cookies)</a></li>
<li id="footer-places-mobileview"><a href="//fr.m.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Version mobile</a></li>
</ul>
<ul id="footer-icons" class="noprint">
<li id="footer-copyrightico">
<a href="https://wikimediafoundation.org/"><img src="/static/images/wikimedia-button.png" srcset="/static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x" width="88" height="31" alt="Wikimedia Foundation"/></a> </li>
<li id="footer-poweredbyico">
<a href="//www.mediawiki.org/"><img src="/static/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/static/images/poweredby_mediawiki_132x47.png 1.5x, /static/images/poweredby_mediawiki_176x62.png 2x" width="88" height="31"/></a> </li>
</ul>
<div style="clear: both;"></div>
</div>
<script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.016","walltime":"0.025","ppvisitednodes":{"value":46,"limit":1000000},"ppgeneratednodes":{"value":0,"limit":1500000},"postexpandincludesize":{"value":386,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":2,"limit":40},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":83,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 10.190 1 -total"," 30.26% 3.084 1 Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn/Sommaire"," 24.18% 2.464 2 Modèle:Nouvelle_page_imprimée"," 20.89% 2.129 1 Modèle:Clr"]},"cachereport":{"origin":"mw1285","timestamp":"20181221101408","ttl":1900800,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":89,"wgHostname":"mw1262"});});</script>
</body>
</html>
Quellle documentation peut-on extraire de ces fichiers obtenus avec wget ?
[modifier | modifier le wikicode]Voir aussi :
- mw.config.set : Tout le nécessaire pour créer la documentation se trouve dans la ligne 7 : (table de configuration du serveur)
- Informations sur la page : https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=info
- Code JavaScript : https://fr.wikipedia.org/wiki/MediaWiki:Guidedtour-tour-tuto3.js
- mw.config.set : Tout le nécessaire pour créer la documentation se trouve dans la ligne 7 : (table de configuration du serveur)
Extraits du fichier obtenu : (ligne 7)
...
"wgPageName":"Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn",
"wgTitle":"Goelette Cardabela/Sandbox/LivreTes/ArticleUn",
"wgCurRevisionId":610077,
"wgRevisionId":610077,
"wgArticleId":72692,
"wgRelevantPageName":"Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn",
"wgRelevantArticleId":72692,
"wgRelevantUserName":"Goelette Cardabela",
...
On y trouve aussi du texte extractible :
ligne 5: titre de la page, <title>Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn — Wikilivres</title>
ligne 19: le nom de la page, <link rel="edit" title="Modifier" href="/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&action=edit"/>
ligne 23: la licence, <link rel="license" href="//creativecommons.org/licenses/by-sa/3.0/"/>
ligne 25: le lien canonical, <link rel="canonical" href="https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn"/>
lignes 42 à 46: le Sommaire,
<h2><span class="mw-headline" id="Sommaire">Sommaire</span> ...
<pre> <a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_1" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 1</a>
<a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_2" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 2</a>
<a href="/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn#Chapitre_3" title="Utilisateur:Goelette Cardabela/Sandbox/LivreTest/ArticleUn">Chapitre 3</a>
</pre>
lignes 91 et 92: le bas de page de la dernière page imprimée,
<div class="printfooter">
Récupérée de « <a dir="ltr" href="https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&oldid=610077">https://fr.wikibooks.org/w/index.php?title=Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn&oldid=610077</a> » </div>
lignes 190 à 192: suite du bas de page de la dernière page imprimée,
<li id="footer-info-lastmod"> La dernière modification de cette page a été faite le 21 décembre 2018 à 11:14.</li>
<li id="footer-info-copyright">Les textes sont disponibles sous <a href="//creativecommons.org/licenses/by-sa/3.0/">licence Creative Commons attribution partage à l’identique</a> ; d’autres termes peuvent s’appliquer.<br/>
Créer une page html et en extraire les chaînes de caractères pour créer la documentation annexe
[modifier | modifier le wikicode]Les commandes ci-après sont à inclure dans un fichier shell bash pour l'exécution automatique. On pourra ensuite essayer de créer un équivalent pour Windows 10.
- Transformer le fichier ArticleUn.1 en fichier html avec les commandes cat et sed :
cat ArticleUn | sed -e "s/\"\/wiki\//\"https:\/\/fr.wikibooks.org\/wiki\//g" > ArticleUn.html
Signifie : Remplacer de façon récursive (option g) la chaîne de caractères « "/wiki/ » par la chaîne« "https://fr:wikibooks.org/wiki/ » et concaténer le résultat dans un nouveau fichier ArticleUn.html
- Vérifier avec le navigateur internet que ce fichier html a bien été correctement modifié et s'affiche avec un navigateur web. Remarque: La mise en page n'est pas copiée.
- Extraire toutes les chaînes de caractères avec mkd option -p et les copier dans un nouveau fichier AtrticleUn.str
mkd -p '**' ArticleUn.html ArticleUn.str
Extraire la documentation
[modifier | modifier le wikicode]- Obtenir le droit de copie (exemple)
cat ArticleUn.str | grep -n -m 1 -i -e license | sed "s/\"\//%\//g" | cut -d'%' -f2 |sed "s/\/\//https:\/\//g" > ArticleUn.license
- Signifie : ouvrir le flux ArticleUn.str
| ne retenir que les chaînes de caractères contenant license
| remplacer les caractères "/ par le caractère %
| couper les chaînes en dehors des chaîne contenue entre les deux caractères %
| remplacer les caractères // par https://
> concaténer le résultat dans un nouveau fichier ArticleUn.license - Résultat : https://creativecommons.org/licenses/by-sa/3.0/
- Obtenir le nom de l'auteur de la page (exemple)
cat ArticleUn.str | grep -n -m 1 -i -e wgRelevantUserName | sed "s/,\"/%\"\n\"%/g" | grep -n -m 1 -i -e wgRelevantUserName | cut -d'%' -f2 | sed "s/wgRelevantUserName\":\"/\"''Auteur '' : /g" | cut -d'"' -f2 > ArticleUn.auteur
- Signifie : ouvrir le flux ArticleUn.str
| ne retenir que la première chaîne contenant wgRelevantUserName
| remplacer les caractères ,/ par %"\n"%
| couper les chaînes en dehors de celles contenues entre les deux caractères %
| remplacer les chaînes wgRelevantUserName\":\" par la chaîne "Auteur :
> ArticleUn.auteur - Noter que '\n' est un simple retour chariot et "\n" est un double retour chariot car la fin de chaîne inclut un retour-chariot.
- Résultat :Auteur : Goelette Cardabela
Construire la section Source des articles; droits; auteur(s), de la page Annexe
[modifier | modifier le wikicode]Les liens vers les pages se trouvent dans la page « Contenus ». Pour le cas, l'exemple est limité à l'« ArticleUn »
'''''Article : ''{{PAGENAME:Nom de la page}}''' ''Source : ''{{canonicalurl:Nom de la page}}, ''Droits de copie :''_, ''Auteur(s) :''_, ({{orange|''Page :''_.}})
Wikitexte à copier dans la page Annexe et index :
<small><small>'''''Article : ''{{PAGENAME:Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn}}''' ''Source : ''{{canonicalurl:Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn}}, ''Droits de copie :''https://creativecommons.org/licenses/by-sa/3.0/, ''Auteur(s) :''Goelette Cardabela, </small></small>
Résultat :
- Article : Goelette Cardabela/Sandbox/LivreTest/ArticleUn Source : https://fr.wikibooks.org/wiki/Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn, Droits de copie :https://creativecommons.org/licenses/by-sa/3.0/, Auteur(s) : Goelette Cardabela,
- Notez que l'on peut remplacer le lien Utilisateur:Goelette_Cardabela/Sandbox/LivreTest/ArticleUn par son numéro de révision : "wgRevisionId":610077 que l'on peut aussi obtenir par {{REVISIONID}} au moment de l'édition, car ce numéro changera dès la prochaine révision de la page ...
Code bash en exemple pour créer la ligne Source licence et contributeur des articles
[modifier | modifier le wikicode]- Exemple avec ArticleUn de LivreTest
#! /bin/bash
clear
rm ArticleUn.tmp
rm ArticleUn.sclt
echo "Création de ArticleUn.sclt avec ArticleUn.str "
echo '--------------------'
echo " "
echo "<small><small>'''ArticleUn''' ''Source :''"\
'https://fr.wikibooks.org/w/index.php?oldid=' >> ArticleUn.tmp
cat ArticleUn.str | grep -n -m 1 -i -e wgRevisionId | sed "s/,\"/%\"\n\"%/g" | grep -n -m 1 -i -e wgRevisionId | cut -d'%' -f2 | sed "s/wgRevisionId\"://g" >> ArticleUn.tmp
echo ", ''Droits de copie :''" >> ArticleUn.tmp
cat ArticleUn.str | grep -n -m 1 -i -e license | sed "s/\"\//%\//g" | cut -d'%' -f2 |sed "s/\/\//https:\/\//g" >> ArticleUn.tmp
echo ", ''Auteur(s) :''" >> ArticleUn.tmp
cat ArticleUn.str | grep -n -m 1 -i -e wgRelevantUserName | sed "s/,\"/%\"\n\"%/g" | grep -n -m 1 -i -e wgRelevantUserName | cut -d'%' -f2 | sed "s/wgRelevantUserName\":\"/\"/g" | cut -d'"' -f2 >> ArticleUn.tmp
echo "</small></small>" >> ArticleUn.tmp
#
echo "== Sources et contributeurs de l'article ==" > ArticleUn.sclt
cat ArticleUn.tmp | sed ':z;N;s/\n//g;bz' >> ArticleUn.sclt ##voir aussi avec la commande tr
cat ArticleUn.sclt
Résutat (wikitexte) :
== Sources et contributeurs de l'article == <small><small>'''ArticleUn''' ''Source :''https://fr.wikibooks.org/w/index.php?oldid=632571, ''Droits de copie :''https://creativecommons.org/licenses/by-sa/3.0/, ''Auteur(s) :''Goelette Cardabela</small></small>
Résutat (affichage) :
Il ne convient pas, ici, d'afficher le titre == Sources et contributeurs de l'article ==
ArticleUn Source :https://fr.wikibooks.org/w/index.php?oldid=632571, Droits de copie :https://creativecommons.org/licenses/by-sa/3.0/, Auteur(s) :Goelette Cardabela
Extraire les liens des images de la page ArticleUn
[modifier | modifier le wikicode]- Sélectionner les lignes qui contiennent les liens d'images, avec la commande grep, et les pousser dans un nouveau fichier ArticleUn.img
cat ArticleUn.str | grep -n -i -e fichier: -e file: -e image: > ArticleUn.img
Signifie : Sélectionner les lignes contenant fichier: ou file: ou image: avec -i : sans distinction majuscules/minuscules et avec -n : numéroter les lignes.
Code ArticleUn.img résultant : ligne 42 de ArticleUn.42:<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:502px;"><a href="https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/500px-Gabriel_Garcia_Marquez_-_Fresque.jpg" width="500" height="375" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/750px-Gabriel_Garcia_Marquez_-_Fresque.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Gabriel_Garcia_Marquez_-_Fresque.jpg/1000px-Gabriel_Garcia_Marquez_-_Fresque.jpg 2x" data-file-width="1280" data-file-height="960" /></a> <div class="thumbcaption"><div class="magnify"><a href="https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg" class="internal" title="Agrandir"></a></div>Gabriel Garcia Marquez - Fresque de Pohline Blast</div></div></div></div>
- Couper les chaînes avec la commande awk et comme séparateur le retour chariot '\n' ("\n" double le new-line)
Nonbre de champs du fichier ArticleUn.img avec le séparateur de champ "=" : cat ArticleUn.img | awk -F"=" '{print NF}' ⇒ 20 champs.
-
cat ArticleUn.img |awk -F"=" '{for (i=1;i<=NF;i++) print $i "\n"}' | grep https | sed "s/\"/%/g" | cut -d'%' -f2 > ArticleUn.lnk
- signifie : remplacer le séparateur '=' par un double retour-chariot "\n", sélectionner les lignes qui contiennent "https", répéter (option /g) le remplacement du caractère '"' par le caractère '%', et à la fin (cut), ne sélectionner que les 2 champs délimités par les caractères '%' (-f2). Le flux est envoyé au fichier en création > ArticleUn.lnk.
- ⇒ résultat: un champ $0 contenant les deux liens de ArticleUn.img vers la page de l'image sur wikibooks, sur deux lignes :
ArticleUn.lnk :
-
- Couper le doublon
cat ArticleUn.lnk | sed 'N;s/\nh/%h/g;P;D;' | cut -d'%' -f1 > ArticleUn.images
- signifie : concaténer les chaînes en remplaçant dans l'espace de traitement (N) de façon répétitive (/g) "\nh" par "%h" (P=print dans l'espace de traitement) avec la condition (D:si l'espace de traitement ne contient pas '\n'), et enfin, sélectionner (cut) le premier champ délimité par le caractère '%' (-f1). Le flux est envoyé au fichier en création > ArticleUn.images.
- ( il reste):
https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg
Construire la section Source des images; droits; auteur(s), de la page Annexe
[modifier | modifier le wikicode]- Éliminer les lignes en doublon des fichiers .lnk de la Version imprimable.
- Éditer les pages des images sur wikilivres puis sélectionner et copier le nom des auteurs et les licences associées.
'''''Illustration : ''{{PAGENAME:Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg}}''' ''Source : ''{{canonicalurl:Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg}}, ''Droits de copie :''_, ''Auteur(s) :''_, ({{orange|''Page :''_.}})
Illustration : Gabriel Garcia Marquez - Fresque.jpg Source : https://fr.wikibooks.org/wiki/Fichier:Gabriel_Garcia_Marquez_-_Fresque.jpg, Droits de copie :_, Auteur(s) :_, (Page :_.)
Code bash en exemple pour créer la ligne Source licence et contributeurs des images
[modifier | modifier le wikicode]- Exemple avec ArticleUn de LivreTest
#!/bin/bash
clear
prefix=https://fr.wikibooks.org/wiki/
file=File:Gabriel_Garcia_Marquez_-_Fresque.jpg
### Téléchargement du fichier image
# wget $prefix$file
### Extraction de la licence : licensetpl (courte)
cat $file | grep licensetpl_short | sed "s/\">/%/g" > tmp
echo '%' >> tmp
cat tmp | tr -d '\n' | cut -d'%' -f2 > $file.licence
#
echo "'''$file''' " > tmp
cat tmp | tr _ ' ' > temp
echo ", ''source:''$prefix$file" >> temp
echo ", ''licence:''">> temp
cat $file.licence >> temp
echo ", ''Contributeur(s):''">> temp
#
### Extraction du nom du contributeur : User
cat $file | grep User: | tr \" % | cut -d'%' -f2 | grep User: | tr / '\n' \
| grep User: | \sed "s/User://g" | tr _ ' ' >> temp
### Supprimer les retour-chariot
cat temp | tr -d '\n' > $file.scli
echo " " >> $file.scli
cat $file.scli
exit 0
- Résultat
'''File:Gabriel Garcia Marquez - Fresque.jpg''' , ''source:''https://fr.wikibooks.org/wiki/File:Gabriel_Garcia_Marquez_-_Fresque.jpg, ''licence:''CC BY-SA 4.0 , ''Contributeur(s):''Pohline Blast Clm
- Application dans le wiki
File:Gabriel Garcia Marquez - Fresque.jpg , source:https://fr.wikibooks.org/wiki/File:Gabriel_Garcia_Marquez_-_Fresque.jpg, licence:CC BY-SA 4.0 , Contributeur(s):Pohline Blast Clm
Construire le fichier complet Annexe et index de la Version imprimable
[modifier | modifier le wikicode]La gestion automatique des numéros de pages est un problème insoluble avec les Versions imprimables.
Automatiser, éditer avec OpenOffice ou LibreOffice
[modifier | modifier le wikicode]OpenOffice peut nous aider à automatiser la création d'un livre grâce aux "macros".
Voyez cette première approche : Indexer les documents avec OpenOffice
Votre aide pour créer des "macros" serait bienvenue. ...