Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/08/2014, à 17:18

Shanx

Client RSS en python via le navigateur

Salut à tous,

pour m’entrainer un peu, je voudrais développer un petit client RSS en python. Mais plutôt que d’avoir une nouvelle fenêtre ouverte pour le logiciel, je voudrais pouvoir consulter tout ça dans mon navigateur. L’idée serait donc d’utiliser flask pour faire une sorte de mini-serveur local (quitte à le mettre sur un serveur distant après).

La partie RSS pure est facile vu que je pense utiliser feedparser. Par contre, j’ai deux questions :
  - je voudrais pouvoir marquer les articles comme lus, pour ne plus qu’ils soient affichés la prochaine fois que je retourne sur mon client. Sachant que je ne souhaite pas utiliser de base de donnée (pour des raisons de simplicité), comment faire pour garder la liste des articles marqués comme lus (ou inversement, la liste des articles que je n’ai pas lu et qu’il faut encore afficher) ? J’ai pensé à faire un fichier XML dans lequel à chaque ouverture on met la liste des articles affichés ; quand on clique sur lu, l’article est retiré du fichier XML. La fois suivante, à l’ouverture, le logiciel ouvre les articles encore présents dans ce fichier, avant de mettre à jour le flux RSS. Mais c’est peut-être un peu compliqué, non ?

  - question pour laquelle je crains de déjà connaitre la réponse : j’aimerais bien obtenir un site dynamique (comme s’il était fait en PHP). Par exemple, à l’ouverture, on a la liste des titres. On clique sur un titre, l’article correspondant apparait (sans que toute la page ne soit rechargée) ; on clique sur lu, l’article disparait, et dans le menu le décompte des articles non lus est décrémenté de 1. Quelles sont les solutions autres que PHP pour faire ça (si c’est possible) ? Parce que je ne pense que recharger la page à chaque fois soit vraiment agréable, mais je ne vois pas comment faire (et je ne veux pas de PHP !).


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#2 Le 10/08/2014, à 17:31

Kanor

Re : Client RSS en python via le navigateur

Shanx a écrit :

Salut à tous,

pour m’entrainer un peu, je voudrais développer un petit client RSS en python. Mais plutôt que d’avoir une nouvelle fenêtre ouverte pour le logiciel, je voudrais pouvoir consulter tout ça dans mon navigateur. L’idée serait donc d’utiliser flask pour faire une sorte de mini-serveur local (quitte à le mettre sur un serveur distant après).

Bon projet

La partie RSS pure est facile vu que je pense utiliser feedparser. Par contre, j’ai deux questions :

Facile oui mais il faut pas oublier de gérer la gestion de la synchronisation et il faut prendre en compte atom aussi

- je voudrais pouvoir marquer les articles comme lus, pour ne plus qu’ils soient affichés la prochaine fois que je retourne sur mon client. Sachant que je ne souhaite pas utiliser de base de donnée (pour des raisons de simplicité), comment faire pour garder la liste des articles marqués comme lus (ou inversement, la liste des articles que je n’ai pas lu et qu’il faut encore afficher) ? J’ai pensé à faire un fichier XML dans lequel à chaque ouverture on met la liste des articles affichés ; quand on clique sur lu, l’article est retiré du fichier XML. La fois suivante, à l’ouverture, le logiciel ouvre les articles encore présents dans ce fichier, avant de mettre à jour le flux RSS. Mais c’est peut-être un peu compliqué, non ?

A partir d'un certain niveau de complexité d'un programme, ne pas utiliser une base de donné c'est se compliquer la vie.
Tu peux utiliser sqlite par exemple c'est inclus de base dans python, https://fr.wikipedia.org/wiki/SQLite

- question pour laquelle je crains de déjà connaitre la réponse : j’aimerais bien obtenir un site dynamique (comme s’il était fait en PHP). Par exemple, à l’ouverture, on a la liste des titres. On clique sur un titre, l’article correspondant apparait (sans que toute la page ne soit rechargée) ; on clique sur lu, l’article disparait, et dans le menu le décompte des articles non lus est décrémenté de 1. Quelles sont les solutions autres que PHP pour faire ça (si c’est possible) ? Parce que je ne pense que recharger la page à chaque fois soit vraiment agréable, mais je ne vois pas comment faire (et je ne veux pas de PHP !).

Shanx, je crois que tu a raté deus trois cours tongue
un site dynamique comme son nom l'indique est un site composé de page html généré à la volé grâce à un langage de programmation
Et ce langage de programmation ça peut être n'importe quoi du C, ruby, php, perl, python …
Donc tu peux utiliser flask (donc python ) pour générer tes pages
http://flask.pocoo.org/docs/tutorial/te … -templates avec le super moteur de template Jinja smile

Après tu parle de "sans que toute la page ne soit rechargée" ça c'est le principe d'AJAX donc la tu dois utiliser du javascript qui va appeler une requête en arrière plan et la tu peux charger une partie de ta page avec la réponse de la requête
http://flask.pocoo.org/docs/patterns/jq … light=ajax

Hors ligne