You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mindiell 3a8866226b Ajout d'une licence 6 months ago
.gitignore Mise en place de manière plus propre 6 months ago
LICENSE Ajout d'une licence 6 months ago
README.md Mise à jour du README 6 months ago
april_feed Mise en place de manière plus propre 6 months ago
april_wiki.py Mise en place de manière plus propre 6 months ago
checkspell.py Mise en place de manière plus propre 6 months ago
feed_read.py Mise en place de manière plus propre 6 months ago
requirements.txt Mise en place de manière plus propre 6 months ago

README.md

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.

Feuille de route

Idéalement, les alertes seraient à faire sur IRC par exemple, plutôt que dans un simple terminal. Ca permet de partager les alertes à un niveau plus conséquent.

Le souci restant étant l'ajout d'auteurs et de mots connus aux listes blanches...