tech:notes_dokuwiki_api_xml-rpc
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| tech:notes_dokuwiki_api_xml-rpc [2025/03/24 15:06] – créée - modification externe 127.0.0.1 | tech:notes_dokuwiki_api_xml-rpc [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Notes DokuWiki API XML-RPC | ||
| + | |||
| + | Voir : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * dokujclient | ||
| + | |||
| + | |||
| + | ** Il vaut mieux utiliser JSON-RPC ** Voir https:// | ||
| + | |||
| + | |||
| + | ## Généralités | ||
| + | |||
| + | Penser à restreindre l' | ||
| + | |||
| + | Il faut activer l' | ||
| + | |||
| + | **remote** | ||
| + | ~~~ | ||
| + | Active l'API système distante. Ceci permet à d' | ||
| + | ~~~ | ||
| + | |||
| + | Voir aussi l' | ||
| + | |||
| + | **remoteuser** | ||
| + | ~~~ | ||
| + | Restreindre l' | ||
| + | ~~~ | ||
| + | |||
| + | ## Exemple en Python | ||
| + | |||
| + | ~~~bash | ||
| + | pip3 install --user dokuwiki | ||
| + | ~~~ | ||
| + | |||
| + | ~~~python | ||
| + | import dokuwiki | ||
| + | |||
| + | wiki=dokuwiki.DokuWiki(' | ||
| + | wiki.version | ||
| + | wiki.send(' | ||
| + | wiki.title | ||
| + | wiki.pages.list() | ||
| + | [page[' | ||
| + | |||
| + | # Info | ||
| + | wiki.pages.info(' | ||
| + | wiki.send(' | ||
| + | wiki.pages.versions(' | ||
| + | |||
| + | # Modification, | ||
| + | wiki.pages.append(' | ||
| + | |||
| + | # Création nouvelle page avec son lien | ||
| + | wiki.pages.set(' | ||
| + | wiki.pages.append(' | ||
| + | |||
| + | # Recherche motif textuel | ||
| + | [x[' | ||
| + | |||
| + | # Effacement page ': | ||
| + | import re | ||
| + | wiki.pages.delete(' | ||
| + | newpage=re.sub(' | ||
| + | wiki.pages.set(' | ||
| + | ~~~ | ||
| + | |||
| + | Recherche par date | ||
| + | ~~~bash | ||
| + | from datetime import datetime | ||
| + | wiki.pages.changes(datetime(2023, | ||
| + | ~~~ | ||
| + | |||
| + | ## Trouver les pages non référencées | ||
| + | |||
| + | Avec l' | ||
| + | * orphanswanted plugin | ||
| + | |||
| + | Avec l'API | ||
| + | ~~~python | ||
| + | no_backlink = [] | ||
| + | |||
| + | for page in wiki.pages.list(): | ||
| + | back_links = wiki.pages.backlinks(page[' | ||
| + | # | ||
| + | if not back_links: | ||
| + | no_backlink.append(page[' | ||
| + | # | ||
| + | print(no_backlink) | ||
| + | ~~~ | ||
| + | |||
| + | En ligne de commande avec PHP | ||
| + | ~~~bash | ||
| + | su - dokuwiki -s /bin/bash -c "php ${DOKUROOT}/ | ||
| + | ~~~ | ||
| + | |||
