title: Votre aggrégateur manquerait-il de fonctionnalités ?
slug: votre-aggregateur-manquerait-il-de-fonctionnalites
date: 2005-08-20 18:24:24
type: post
vignette:
contextual_title1: Réflexions sur les conférences de geeks
contextual_url1: 20090327-reflexions-sur-les-conferences-de-geeks
contextual_title2: Son propre TinyURL en Python et HTML5 avec webpy
contextual_url2: 20090221-son-propre-tinyurl-en-python-et-html5-avec-webpy
contextual_title3: Analyse des données utilisateur d'AOL : suite et fin
contextual_url3: 20060814-analyse-des-donnees-utilisateur-d-aol-suite-et-fin
Si vous n'avez toujours pas trouvé d'aggrégateur satisfaisant, il serait peut-être temps de coder le votre passer votre commande :-)
Je me suis finalement décidé à coder un aggrégateur en python, d'une part pour réaliser un projet intéressant et d'autre part pour avoir des fonctionnalités qui me manquent cruellement, voila une première liste à compléter :
Fonctionnalités classiques
- Créer une arborescence (dossiers/fils)
- Obtenir les items d'un fil en cliquant dessus (lus en grisé, ou non lus en gras ? ou les deux ?)
- Possibilité d'import/export de fichiers opml
Fonctionnalités avancées
- Calcul d'un intervalle de mise à jour en fonction de la fréquence de mise à jour des items (min = 5 minutes et max = 3 heures, pas de 5 minutes). Signaler lorsque une mise à jour n'a pas été effectuée depuis longtemps (6 mois ?). La fonction de calcul doit ressembler à ça : (somme des intervalles - (plus grand + plus petit)) / ((nombre d'intervalles - 2) * facteur). On enlève le plus grand pour les vacances et le plus petit pour les cas de mise à jour frénétique. Le facteur pourra être déterminé en fonction du profil de l'utilisateur (normalement 3 profils prévus : geek, normal, découverte).
- Afficher les fils dans l'ordre de parution de manière à pourvoir déterminer à quelle date s'est arrêtée la lecture d'un fil. Pratique pour les personnes ayant cet aggrégateur au boulot et à la maison par exemple, un simple upload du fichier opml en fin de journée et on reprend la lecture à la maison à partir de là où on en était. Possibilité d'automatiser l'upload à la fermeture de l'aggrégateur.
- Possibilité de créer des dossiers virtuels recherchant des mots-clés dans les items non lus. Lorsqu'un item est lu, il est considéré comme lu dans tous les dossiers virtuels ainsi que dans son fil principal (objectif : ne pas lire deux fois le même item). Par exemple pour un fichier opml très (très) simple :
[Dossier] Non lus # contient tous les items non lus de biologeek, play et DLFP
[Dossier] Ubuntu # contient les items non lus contenant le mot-clé "ubuntu"
[Dossier] Blog Fr # contient les items non lus de biologeek et play
Biologeek # contient tous les items de biologeek
Play # contient tous les items de play
[Dossier] Informations # contient les items non lus de DLFP
DLFP # contient tous les items de DLFP
- Possibilité de renommer les fils (ne pas oublier d'annoncer le changement éventuel de titre réel).
- Vérification de l'unicité des fils (à l'ajout et à l'import d'opml).
La balise outline d'un opml aura donc (pour l'instant) les attributs suivants : xmlUrl, htmlUrl, realTitle, ownTitle, updateIntervalle, lastRead.
Reste à déterminer :
- Profondeur de l'arborescence, faut-il limiter ?
- Dans le cas d'un dossier contenant un autre dossier, faut-il que le dossier parent afficher les items non lus de ses fils ou aussi les items non lus des items de ses dossiers fils ? (je sais entre les fils et les fils on s'y perd un peu... euh, comprendre feeds et children ;).
- Le nom, FeedManager ou mieux selon vos idées :-)
- Beaucoup d'autres choses, n'hésitez pas à passer commande, il vaut mieux définir les spécifications avant le début du développement !