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.
{
"batchcomplete": "",
"continue": {
"lecontinue": "20260105162442|610",
"continue": "-||"
},
"query": {
"logevents": [
{
"logid": 620,
"ns": 0,
"title": "Smokeping : Migration",
"pageid": 536,
"logpage": 536,
"revid": 1918,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-27T14:16:25Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f* '''Transferer les fichiers rrd se trouvant dans le datadir''' <blockquote>/var/lib/smokeping/</blockquote> * '''Attribution des droits.''' <blockquote>chown -R smokeping.smokeping /var/lib/smokeping/</blockquote> * '''Copier le cache des images''' <blockquote>cp -R /var/www/smokeping /home/artiflo/www/ chown -R www-data.www-data /home/artiflo/www/smokeping</blockquote> * '''Reconfigurer le fichier du cache des images''' <blockquote>nano /etc/smokeping/c...\u202f\u00bb"
},
{
"logid": 619,
"ns": 0,
"title": "BASH : Python",
"pageid": 535,
"logpage": 535,
"revid": 1916,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-22T13:26:53Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f{| class=\"wikitable\" |'''Action en Bash''' |'''\u00c9quivalent Python''' |'''Biblioth\u00e8que standard''' |- |<code>ls</code>, <code>cd</code>, <code>mkdir</code> |<code>os.listdir</code>, <code>os.chdir</code>, <code>os.mkdir</code> |<code>os</code> |- |<code>grep</code>, <code>sed</code> |<code>re.search</code>, <code>re.sub</code> |<code>re</code> (RegEx) |- |<code>curl</code>, <code>wget</code> |<code>requests.get</code> |<code>requests</code> (externe) |- |<code>$1...\u202f\u00bb"
},
{
"logid": 618,
"ns": 0,
"title": "Python : Pythondialog",
"pageid": 534,
"logpage": 534,
"revid": 1914,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-22T13:19:32Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f=== Installation === <syntaxhighlight lang=\"bash\"> sudo apt install dialog pip install pythondialog </syntaxhighlight> === Exemple === <syntaxhighlight lang=\"python3\"> import json from dialog import Dialog # Initialisation de l'objet Dialog # autowidgetsize=True permet d'ajuster la taille selon le contenu d = Dialog(dialog=\"dialog\", autowidgetsize=True) FICHIER = \"mes_invites.json\" def charger_donnees(): try: with open(FICHIER, \"r\", encoding=\"utf-8...\u202f\u00bb"
},
{
"logid": 617,
"ns": 0,
"title": "Python : Tkinter",
"pageid": 533,
"logpage": 533,
"revid": 1908,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-21T13:58:52Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f=== Les concepts de base de Tkinter === Pour cr\u00e9er une fen\u00eatre, nous manipulons des '''Widgets''' (composants graphiques) : * '''Tk''' : La fen\u00eatre principale. * '''Label''' : Un texte affich\u00e9. * '''Entry''' : Un champ de saisie de texte. * '''Button''' : Un bouton cliquable. * '''Listbox''' : Une zone pour afficher notre liste d'invit\u00e9s. [[Cat\u00e9gorie:Python]] [[Cat\u00e9gorie:Scripts]]\u202f\u00bb"
},
{
"logid": 616,
"ns": 0,
"title": "Python : Int\u00e9grer un menu",
"pageid": 532,
"logpage": 532,
"revid": 1906,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-21T13:53:16Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202fPour que l'utilisateur puisse choisir entre '''Ajouter''', '''Supprimer''' ou '''Quitter''', nous devons structurer notre boucle <code>while</code> principale avec un syst\u00e8me de choix. <syntaxhighlight lang=\"python3\"> while True: print(\"\\n--- MENU ---\") print(\"1. Voir les invit\u00e9s\") print(\"2. Ajouter un invit\u00e9\") print(\"3. Supprimer un invit\u00e9\") print(\"4. Quitter et Sauvegarder\") choix = input(\"Votre choix : \") if choix == \"1\":...\u202f\u00bb"
},
{
"logid": 615,
"ns": 0,
"title": "Python : Charger un fichier",
"pageid": 531,
"logpage": 531,
"revid": 1903,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-21T13:20:47Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f<syntaxhighlight lang=\"python3\"> def charger_liste(nom_fichier): \"\"\"Charge les donn\u00e9es depuis un fichier JSON au d\u00e9marrage.\"\"\" try: with open(nom_fichier, \"r\", encoding=\"utf-8\") as f: return json.load(f) except FileNotFoundError: # Si le fichier n'existe pas, on retourne une liste vide return [] except Exception as e: print(f\"Erreur lors du chargement : {e}\") return [] </syntaxhighlight> C...\u202f\u00bb"
},
{
"logid": 614,
"ns": 0,
"title": "Python : Ecrire dans un fichier",
"pageid": 530,
"logpage": 530,
"revid": 1899,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-21T10:44:53Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202fEn Python, la manipulation de fichiers est tr\u00e8s directe. Nous allons utiliser l'instruction '''<code>with open()</code>''', qui est la m\u00e9thode standard et s\u00e9curis\u00e9e pour ouvrir, \u00e9crire, puis refermer automatiquement un fichier. === Exemples === <syntaxhighlight lang=\"python3\"> invites = [\"Alice\", \"Bob\", \"Charlie\"] # 'w' signifie 'write' (\u00e9criture). Attention : cela \u00e9crase le fichier existant. # 'a' signifie 'append' (ajouter). Cela ajoute \u00e0 la fin du...\u202f\u00bb"
},
{
"logid": 613,
"ns": 0,
"title": "Python : Les fonctions",
"pageid": 529,
"logpage": 529,
"revid": 1897,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-21T10:21:42Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f Une fonction se d\u00e9finit avec le mot-cl\u00e9 <code>def</code>. <syntaxhighlight lang=\"python3\"> def saluer(nom_personne): print(f\"Bonjour {nom_personne}, bienvenue dans le programme !\") # On appelle la fonction saluer(\"Alice\") </syntaxhighlight> [[Cat\u00e9gorie:Python]] [[Cat\u00e9gorie:Scripts]]\u202f\u00bb"
},
{
"logid": 612,
"ns": 0,
"title": "Python : Les listes",
"pageid": 528,
"logpage": 528,
"revid": 1892,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-20T14:48:44Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202fListes {| class=\"wikitable\" |'''Action''' |'''Code Python''' |'''R\u00e9sultat''' |- |'''Cr\u00e9er''' |<code>fruits = [\"pomme\", \"banane\"]</code> |Une liste avec deux \u00e9l\u00e9ments. |- |'''Ajouter''' |<code>fruits.append(\"orange\")</code> |Ajoute \u00e0 la fin de la liste. |- |'''Acc\u00e9der''' |<code>print(fruits[0])</code> |Affiche \"pomme\" (l'index commence \u00e0 '''0'''). |- |'''Modifier''' |<code>fruits[1] = \"ananas\"</code> |Remplace \"banane\" par \"ananas\". |- |'''Supprimer''' |<c...\u202f\u00bb"
},
{
"logid": 611,
"ns": 0,
"title": "Bash : Ajouter du texte derri\u00e8re une balise",
"pageid": 527,
"logpage": 527,
"revid": 1878,
"params": {},
"type": "create",
"action": "create",
"user": "Administrateur",
"timestamp": "2026-01-13T08:54:01Z",
"comment": "Page cr\u00e9\u00e9e avec \u00ab\u202f=== Description === Voici un cas concret ou j'ai souhait\u00e9 scripter la configuration de Haproxy : * Le fichier de configuration Haproxy se trouve dans /etc/haproxy/haproxy.cfg La complexit\u00e9 de l'affaire se situe dans le fait qu'il y a des informations \u00e0 ajouter dans des endroits diff\u00e9rents du fichier. Voici un exemple de fichier haproxy.cfg<syntaxhighlight lang=\"bash\"> global \tlog /dev/log\tlocal0 \tlog /dev/log\tlocal1 notice \tchroot /var/lib/haproxy \tstats s...\u202f\u00bb"
}
]
}
}