53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
|
# Surveillance d'un wiki type mediawiki pour l'April
|
||
|
|
||
|
D'un côté, on récupère les modifications faites sur la dernière heure écoulée
|
||
|
|
||
|
Soit, via un cron :
|
||
|
|
||
|
0 * * * * /path/to/venv/python feed_read.py -d 60 "https://wiki.april.org/api.php?action=feedrecentchanges&feedformat=atom" >> april_feed
|
||
|
|
||
|
Soit via une commande en ligne :
|
||
|
|
||
|
while true; do python feed_read.py -d 60 "https://wiki.april.org/api.php?action=feedrecentchanges&feedformat=atom" >> april_feed; sleep 60m; done
|
||
|
|
||
|
|
||
|
Cette commande récupère les dernières modifications faites et les stocke dans un fichier "april_feed".
|
||
|
C'est ce même fichier que l'on va exploiter pour vérifier et prévenir, si besoin, qu'il y a des choses à faire.
|
||
|
|
||
|
Via la commande :
|
||
|
|
||
|
tail -f april_feed |python april_wiki.py
|
||
|
|
||
|
On absorbe les dernières modifications et on vérifie :
|
||
|
|
||
|
* l'auteur de la modification
|
||
|
* la page modifiée finale
|
||
|
|
||
|
Si l'auteur est inconnu, on signale son nom et la page modifiée.
|
||
|
Qu'il soit connu ou non, si la page contient des fautes d'orthographe, on signale la page et tous les mots trouvés.
|
||
|
|
||
|
Deux fichiers spécifiques sont utilisés (créés automatiquement et vides par défaut) :
|
||
|
|
||
|
* whitelist_authors
|
||
|
* whitelist_words
|
||
|
|
||
|
Le premier contient le nom des auteurs connus dont on n'a pas besoin de se méfier. Ce sont des contributeurs connus du
|
||
|
wiki et leur nom est donc stocké dans ce fichier. Ce dernier étant rechargé à chaque nouvelle modification à traiter, il
|
||
|
peut être amendé à tout moment.
|
||
|
|
||
|
Le second fichier contient les "mots" que le dictionnaire ne connait pas et qui ne sont pas considérés comme "mauvais". Il
|
||
|
s'agit de pseudonymes, d'acronymes, etc...
|
||
|
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
Le mieux étant toujours de créer un environnement python dédié, les commandes pour l'utilisaiton :
|
||
|
|
||
|
python3 -m venv .venv
|
||
|
source .venv/bin/activate
|
||
|
pip install -r requirements.txt
|
||
|
|
||
|
À partir de là, vous pouvez donc utiliser les scripts soit en ayant activé l'environnemet (activate),
|
||
|
soit en utilisant l'exécutable python situé dans le répertoire de l'environnement.
|
||
|
|