Résultat de l’API de MediaWiki
Voici la représentation HTML du format JSON. HTML convient au débogage, mais est inapproprié pour être utilisé dans une application.
Spécifiez le paramètre format pour modifier le format de sortie. Pour voir la représentation non HTML du format JSON, mettez format=json.
Voir la documentation complète, ou l’aide de l’API pour plus d’informations.
{
"compare": {
"fromid": 1,
"fromrevid": 1,
"fromns": 0,
"fromtitle": "Accueil",
"toid": 2,
"torevid": 2,
"tons": 0,
"totitle": "Keycloak",
"*": "<tr><td colspan=\"2\" class=\"diff-lineno\" id=\"mw-diff-left-l1\">Ligne\u00a01\u202f:</td>\n<td colspan=\"2\" class=\"diff-lineno\">Ligne\u00a01\u202f:</td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div><del class=\"diffchange diffchange-inline\"><strong>MediaWiki a \u00e9t\u00e9 install\u00e9</del>.<del class=\"diffchange diffchange-inline\"></strong></del></div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">[[Keycloak]] est le service disponible sur l'adresse [https://auth.linarphy.net suivante]. Il g\u00e8re l'authentification des utilisateurs sur tous les autres services de l'architecture</ins>.</div></td></tr>\n<tr><td class=\"diff-marker\"></td><td class=\"diff-context diff-side-deleted\"><br></td><td class=\"diff-marker\"></td><td class=\"diff-context diff-side-added\"><br></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div><del class=\"diffchange diffchange-inline\">Consultez </del>le [<del class=\"diffchange diffchange-inline\">https:</del>//<del class=\"diffchange diffchange-inline\">www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special:MyLanguage</del>/<del class=\"diffchange diffchange-inline\">Help:Contents Guide de l\u2019utilisateur] pour plus d\u2019informations sur l\u2019utilisation de ce logiciel de wiki</del>.</div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">== Configuration actuelle ==</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">Le service [[Nginx (computing)|Nginx de computing]] transf\u00e8re les pages web du port '''8127''' (g\u00e9r\u00e9 par [[Keycloak]]) vers le port '''443''' (https) sur </ins>le <ins class=\"diffchange diffchange-inline\">domaine <code>wiki.linarphy.net</code>. Les donn\u00e9es sont g\u00e9r\u00e9s par </ins>[<ins class=\"diffchange diffchange-inline\">[Postgresql]] via une base de donn\u00e9e ayant pour nom '''keycloak''' et pour utilisateur '''keycloak'''. Cette instance stock\u00e9 dans le dossier <code>/usr/share/keycloak</ins>/<ins class=\"diffchange diffchange-inline\"><</ins>/<ins class=\"diffchange diffchange-inline\">code> tourne sur la version '''26</ins>.<ins class=\"diffchange diffchange-inline\">0</ins>.<ins class=\"diffchange diffchange-inline\">0''' avec '''openjdk-21.0.2''' (lui-m\u00eame dans <code></ins>/<ins class=\"diffchange diffchange-inline\">usr/share/openjdk/21</ins>/<ins class=\"diffchange diffchange-inline\"><</ins>/<ins class=\"diffchange diffchange-inline\">code>)</ins>.</div></td></tr>\n<tr><td class=\"diff-marker\"></td><td class=\"diff-context diff-side-deleted\"><br></td><td class=\"diff-marker\"></td><td class=\"diff-context diff-side-added\"><br></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div>== <del class=\"diffchange diffchange-inline\">Pour d\u00e9marrer </del>==</div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>== <ins class=\"diffchange diffchange-inline\">Installation ==</ins></div></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div>* [https://<del class=\"diffchange diffchange-inline\">www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special:MyLanguage/Manual:Configuration_settings Liste des param\u00e8tres </del>de <del class=\"diffchange diffchange-inline\">configuration]</del></div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div><del class=\"diffchange diffchange-inline\">* </del>[https://www.<del class=\"diffchange diffchange-inline\">mediawiki</del>.org/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special</del>:<del class=\"diffchange diffchange-inline\">MyLanguage</del>/<del class=\"diffchange diffchange-inline\">Manual:FAQ Questions courantes sur MediaWiki]</del></div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">=== Pr\u00e9requis =</ins>==</div></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div><del class=\"diffchange diffchange-inline\">* [https:</del>//<del class=\"diffchange diffchange-inline\">lists</del>.<del class=\"diffchange diffchange-inline\">wikimedia</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">postorius</del>/<del class=\"diffchange diffchange-inline\">lists</del>/<del class=\"diffchange diffchange-inline\">mediawiki-announce</del>.<del class=\"diffchange diffchange-inline\">lists</del>.<del class=\"diffchange diffchange-inline\">wikimedia</del>.<del class=\"diffchange diffchange-inline\">org</del>/ <del class=\"diffchange diffchange-inline\">Liste de discussion sur </del>les <del class=\"diffchange diffchange-inline\">distributions de MediaWiki]</del></div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div><del class=\"diffchange diffchange-inline\">* </del>[https<del class=\"diffchange diffchange-inline\">:</del>//<del class=\"diffchange diffchange-inline\">www.mediawiki.org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special:MyLanguage</del>/<del class=\"diffchange diffchange-inline\">Localisation#Translation_resources Adaptez MediaWiki dans votre langue]</del></div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>* [<ins class=\"diffchange diffchange-inline\">[Nginx (computing)|Nginx de computing]]</ins></div></td></tr>\n<tr><td class=\"diff-marker\" data-marker=\"\u2212\"></td><td class=\"diff-deletedline diff-side-deleted\"><div><del class=\"diffchange diffchange-inline\">* [https:</del>//<del class=\"diffchange diffchange-inline\">www</del>.<del class=\"diffchange diffchange-inline\">mediawiki.org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Special:MyLanguage</del>/<del class=\"diffchange diffchange-inline\">Manual</del>:<del class=\"diffchange diffchange-inline\">Combating_spam Apprendre comment combattre le pourriel dans votre wiki]</del></div></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">* [[Postgresql]]</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">* [[Certbot]]</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">=== Proc\u00e9dure ===</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">==== Fichiers ====</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">La premi\u00e8re \u00e9tape consiste au t\u00e9l\u00e9chargement du service avec la commande <code>curl -L </ins>https://<ins class=\"diffchange diffchange-inline\">github.com/keycloak/keycloak/releases/download/26</ins>.<ins class=\"diffchange diffchange-inline\">0</ins>.<ins class=\"diffchange diffchange-inline\">0</ins>/<ins class=\"diffchange diffchange-inline\">keycloak-26.0.0.tar.gz -o keycloak-26.0.0.tar.gz<</ins>/<ins class=\"diffchange diffchange-inline\">code> en tant qu'utilisateur '''root'''. Le lien est r\u00e9cup\u00e9r\u00e9 sur la page </ins>de [https://www.<ins class=\"diffchange diffchange-inline\">keycloak</ins>.org/<ins class=\"diffchange diffchange-inline\">downloads t\u00e9l\u00e9chargement]. Le fichier '''keycloak-26.0.0.tar.gz''' peut ensuite \u00eatre extrait avec la commande <code>tar -xf keycloak-26.0.0.tar.gz<</ins>/<ins class=\"diffchange diffchange-inline\">code> en tant qu'utilisateur '''root''' pour ensuite supprimer cette archive</ins>: <ins class=\"diffchange diffchange-inline\"><code>rm keycloak-26.0.0.tar.gz<</ins>/<ins class=\"diffchange diffchange-inline\">code>.</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">Le dossier peut ensuite \u00eatre d\u00e9plac\u00e9 dans son emplacement final (<code>/usr/share/keycloak</ins>/<ins class=\"diffchange diffchange-inline\"><</ins>/<ins class=\"diffchange diffchange-inline\">code>) avec la commande <code>mv keycloak-26</ins>.<ins class=\"diffchange diffchange-inline\">0</ins>.<ins class=\"diffchange diffchange-inline\">0 /usr</ins>/<ins class=\"diffchange diffchange-inline\">share</ins>/<ins class=\"diffchange diffchange-inline\">keycloak<</ins>/<ins class=\"diffchange diffchange-inline\">code>(toujours en tant que '''root''')</ins>.</div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">==== Permissions ====</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div><ins class=\"diffchange diffchange-inline\">Le service s'ex\u00e9cutera avec un utilisateur particulier (et non '''root''') pour isoler le processus</ins>. <ins class=\"diffchange diffchange-inline\">Il est donc n\u00e9cessaire de cr\u00e9er l'utilisateur local '''keycloak''' avec la commande <code>adduser --system --no-create-home --group keycloak</code> en tant que '''root'''</ins>. <ins class=\"diffchange diffchange-inline\">La commande <code>chown -R keycloak:keycloak /usr/share/keycloak/<</ins>/<ins class=\"diffchange diffchange-inline\">code> pour donner </ins>les <ins class=\"diffchange diffchange-inline\">permissions du dossier \u00e0 ce nouvel utilisateur.</ins></div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>\u00a0</div></td></tr>\n<tr><td colspan=\"2\" class=\"diff-side-deleted\"></td><td class=\"diff-marker\" data-marker=\"+\"></td><td class=\"diff-addedline diff-side-added\"><div>[<ins class=\"diffchange diffchange-inline\">[Keycloak]] sera accessible via une connexion chiffr\u00e9 (</ins>https<ins class=\"diffchange diffchange-inline\">), et sa configuration n\u00e9cessite l'acc\u00e8s \u00e0 la clef priv\u00e9 et public utilis\u00e9 pour cette connexion (comme [[Nginx (computing)]]). Pour prot\u00e9ger ces clefs et ne pas les rendre accessible \u00e0 d'autres utilisateur que '''keycloak''', un hook (script) sera mis en place pour \u00eatre ex\u00e9cut\u00e9 par [[Certbot]]. Il va donc \u00eatre n\u00e9cessaire de cr\u00e9er le dossier <code>/usr/share/keycloak</ins>/<ins class=\"diffchange diffchange-inline\">certs<</ins>/<ins class=\"diffchange diffchange-inline\">code> via la commande <code>mkdir </ins>/<ins class=\"diffchange diffchange-inline\">usr</ins>/<ins class=\"diffchange diffchange-inline\">share</ins>/<ins class=\"diffchange diffchange-inline\">keycloak</ins>/<ins class=\"diffchange diffchange-inline\">certs<</ins>/<ins class=\"diffchange diffchange-inline\">code> en tant que '''root''' (oui oui, pas '''keycloak''' pour le moment, c'est normal)</ins>. <ins class=\"diffchange diffchange-inline\">Cr\u00e9e ensuite le fichier <code>/usr/share/keycloak</ins>/<ins class=\"diffchange diffchange-inline\">certs</ins>/<ins class=\"diffchange diffchange-inline\">hook.sh<</ins>/<ins class=\"diffchange diffchange-inline\">code> toujours en tant que '''root''' avec l'\u00e9diteur de sont choix contenant le script</ins>:</div></td></tr>\n"
}
}