Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
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.

article.md 4.1KB

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 !