Nono

Nono est un robot d'indexation. Cette application est utilisée par le site  Comarquage.fr.

Elle permet de télécharger réuglièrement tout ou partie d'un site web afin de pouvoir en indexer le contenu.

Objectifs

  • Non agressif : l'intervalle entre deux récupération de page est fonction du temps de réponse du serveur distant.
  • Stockage des fichiers dans une arborescence d'url «nettoyées».
  • Possibilité de retravailler le contenu de la page avant stockage.
  • Récursif : l'adresse de base du site est associée à une tâche, le robot ajoute toutes les urls du site automatiquement.
  • Deux modes :
    • automatique : les pages sont lues à intervalle régulier par un démon.
    • manuel : l'ensemble des pages sont lue sur demande.
  • Possibilité de mise à jour via le flux RSS du site.
  • Gestion des erreurs.
  • Gestion des en-têtes ETag et Modified.

Licence et copyright

Nono est un logiciel libre sous licence  GNU Affero General Public License version 3 ou supérieure.

Copyright © 2009  Easter-eggs

Téléchargement

Vous pouvez récupérer les sources de la dernière version :

Installation et utilisation

Nono dépend des logiciels suivants, qui doivent être installés séparément :

Pour connaître la liste précise des dépendances, ainsi que les versions nécessaires, consulter le  fichier setup.py (variable install_requires notamment).

Après avoir téléchargé les sources et installé les logiciels ci-dessus, l'installation de Nono se fait de la manière suivante :

cd nono
sudo python setup.py install
cd -

Édition du fichier de configuration development.ini pour modifier l'option sqlalchemy.url de la section app:main en fonction de votre base de données. Par exemple, si la base de données utilisée est PostgreSQL et que la base de données s'appelle nono, que l'utilisateur s'appelle nono et que son mot de passe est nono, il faut remplacer cette ligne par :

sqlalchemy.url = postgresql://nono:nono@localhost:5432/nono
sqlalchemy.convert_unicode = 1

Création des tables propres à Nono dans la base de données :

paster setup-app development.ini

Lancement de l'application web :

paster serve --reload development.ini

Pour l'utiliser, il ne reste plus qu'à se connecter avec son navigateur web à l'URL indiquée au lancement de l'application web.

Mode automatique

L'ensemble des pages sont lues à intervalle régulier (paramètrable lors de la création de la tâche).

Lancement du démon

cd nono/scripts
./nonod --config-file=../config/nonod.ini --start

Arrêt du démon

cd nono/scripts
./nonod --config-file=../config/nonod.ini --stop

Un fichier de démarrage compatible LSB est disponible (scripts/nonod.init).

Mode manuel

Rafraîchissement complet d'une tâche

cd nono/scripts
./nonod --config-file=../config/nonod.ini --task="Nom de la tâche" --manual

Note : Seules les pages ayant expirées seront téléchargées.

Mise à jour d'une tâche par le flux RSS

cd nono/scripts
./nonod --config-file=../config/nonod.ini --task="Nom de la tâche" --manual --update

Plus d'informations

Pour plus d'informations, vous pouvez consulter et/ou participer à la liste de diffusion Infos-Pratiques.