Afin de gérer correctement une hiérarchie sur Usenet, des articles de contrôle doivent régulièrement être envoyés : création ou suppression de groupes et récapitulatif des groupes disponibles. Le script signcontrol que j'ai écrit en Python permet de facilement réaliser cela avec n'importe quel système d'exploitation.
Téléchargez Python et GnuPG en prenant soin de noter le répertoire d'installation de ce dernier. Puis téléchargez la version Python de signcontrol avec son fichier de configuration et éditez ce dernier fichier. Plusieurs variables sont à modifier :
Maintenant que tout est paramétré, vous pouvez lancer le script.
L'interface d'utilisation est normalement très simple et plutôt bien détaillée. Elle permet de générer les articles de contrôle pour la création d'un nouveau groupe ou son changement de statut/description, pour la suppression d'un groupe et pour le récapitulatif de la liste des groupes actuels.
Il vous est aussi possible de gérer vos clefs PGP. Si vous n'en avez actuellement pas, vous pouvez en générer une et l'utiliser immédiatement. Toutes les explications pour cela sont données lors de l'exécution du programme. Lisez bien tout ce qu'il dit !
Si vous avez déjà une clef PGP pour administrer votre hiérarchie Usenet, vous pouvez l'importer dans le programme.
Si vous possédez votre propre serveur de news, vous pouvez automatiquement envoyer les articles de contrôle générés par le script avec IHAVE (décommentez les lignes à la fin de la fonction sign_message et placez-y vos identifiants de connexion éventuels et le nom du serveur de news en question). Sinon, il faut trouver un serveur de news acceptant de telles commandes.
Il est même possible d'appeler le script depuis d'autres scripts. Cela se fait très facilement. Par exemple :
#!/usr/bin/python
# -*- coding: latin1 -*-
import signcontrol
config = signcontrol.read_configuration(signcontrol.CONFIGURATION_FILE)
groups = signcontrol.read_checkgroups(config['CHECKGROUPS_FILE'])
for group in file('list-of-groups-to-remove'):
signcontrol.generate_rmgroup(groups, config, group.rstrip())
for group in file('list-of-groups-to-add'):
signcontrol.generate_newgroup(groups, config, group.rstrip(), status[group], description[group])
On peut ainsi générer de manière aisée un grand nombre d'articles de contrôle ! Et si le statut ou la description ne sont pas fournies, le script vous les demandera interactivement. Un quatrième argument (optionnel) à generate_rmgroup et un sixième argument (optionnel) à generate_newgroup peuvent être utilisés pour indiquer un message à utiliser différent de celui par défaut. Il est aussi possible de fournir un cinquième argument à generate_rmgroup et un septième à generate_newgroup contenant votre passphrase (bien que cela ne soit pas conseillé pour des raisons de sécurité).
Je vous recommande vivement de lire intégralement la FAQ sur l'administration d'une hiérarchie Usenet. Il est notamment conseillé de posséder un site web d'administration sur lequel sont disponibles au moins le checkgroups actuel de votre hiérarchie et votre clef PGP. N'oubliez pas d'annoncer la création de votre hiérarchie sur news.admin.hierarchies !