:-y

Votre avis nous intéresse

samedi 27 avril 2013 - 13:44

Je me pose plusieurs questions concernant KrISS feed et j'aimerais savoir ce que vous en pensez avant de me lancer dans la modification du code et ainsi me retrouver dans cette situation : http://bobineau.blogspot.fr/2013/04/72.html (via).

En gros, j'ai des questions a vous poser sur :
- certains problèmes de flux ;
- le logo de KrISS feed mais pas que ;
- les certificats pour les flux https ;
- les attaques XSS ;
- le multilingue.


Les problèmes de flux :
Je ne sais pas si tout le monde est conscient du problème, alors je vais essayer de donner quelques précisions qui vous permettront peut-être de comprendre pourquoi des fois ça marche et des fois ça ne marche pas.

Tout d'abord, il faut savoir que les flux RSS ça génère beaucoup de trafic (et quand Google Reader aura définitivement fermé, ça sera encore pire, car je pense que son rôle intermédiaire était très important dans la limitation de ce trafic lié au flux RSS et peut expliquer aussi pourquoi il ferme ; c'est tout ce trafic qu'ils n'auront plus à gérer eux-mêmes et qui leur coûtait des sous).

Il faut également savoir qu'il y a des gens qui, de mon point de vue, ne se rendent pas vraiment compte qu'ils peuvent être une vraie plaie pour les serveurs. Un petit exemple d'une personne qui a réglé son lecteur de flux (en l'occurrence Thunderbird) à télécharger mon flux RSS toutes les minutes. Mon serveur ovh mutualisé a de la chance, son ordinateur n'est pas allumé toute la journée, mais il fait quand même des bonnes journées (environ 8h - minuit). Un autre point positif, il gère la compression et mon flux qui fait environ 150 ko n'est transmis que pour 30 ko.

Faisons un rapide calcul pessimiste. Une personne qui télécharge mon flux toutes les minutes sans la compression et toute la journée, ça nous donne :
24*60*150 = 216 000 ko
Vous vous rendez compte ? 216 Mo pour une seule personne par jour ?

Quand on sait que je poste moins d'un article par jour, ça fait pas mal d'octets inutilement transférés. Tout ça pour quoi ? Avoir mon article dans la minute... Youhou, vive le monde hyper connecté. Personnellement, ça ne me surprend pas tant que ça que Free, Orange en arrivent à brider Youtube... et que Deutsche Telekom veut limiter à 75 Go par mois.

Alors ce n'est pas très grave en soi, moi ça me dérange pas personnellement, je suis sur un mutualisé OVH. Mais si je m'auto-hébergeais sur ma connexion perso, je réagirais sûrement différemment et je pense que je serais obligé de blacklister de temps en temps ce genre de personne.

Et ben figurez-vous que c'est ce que font certains sites et du coup vous vous dîtes, KrISS feed c'est tout pourri je peux pas ajouter ce flux. Désolé, mais la faute ne vient pas toujours de KrISS feed :-)

Les serveurs peuvent réagir différemment. Pour cela, je vais prendre 2 exemples : Google avec Youtube et Live Journal.

Certains sites comme http://www.livejournal.com ont une politique assez surprenante même si elle est compréhensible. Dans le code de leurs différents flux, ils ont quand même réussi à mettre ce commentaire :
If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ (via : http://linux.livejournal.com/data/rss)

Je trouve ça assez drôle, car les flux RSS ont justement pour but d'être lu par des robots, pas par des humains, alors un commentaire dans un flux RSS, euh...

Pour résumé, s'ils vous suspectent d'être un robot trop gourmand, ils vous bannissent et KrISS feed, mais n'importe quel autre lecteur de flux, ne sera plus capable de récupérer leur flux et vous obtiendrez un timeout :-(

Alors des gens me disent qu'ils ne peuvent pas ajouter tel ou tel flux alors qui marche sous Google Reader. Dans cet exemple concret de live journal, la réponse est simple, le serveur vous a banni. Quand c'est sur un serveur perso, c'est moins fréquent, mais sur un mutualisé, ça l'est un peu moins. Juste pour votre information Google Reader ne fait la demande de flux que toutes les heures et bizarrement vous ne vous êtes jamais plein en disant que c'était nul parce que vous n'aviez pas l'info en temps réel (Ah... on me dit que si, vous vous plaignez tout le temps :-p).

D'autres serveurs, comme ceux de Youtube, vous bannissent temporairement et vous obtenez fréquemment l'erreur : Problem with last update. En fait, je soupçonne Youtube, pour leur éviter un trafic inutile, de vous bannir tant qu'il n'y a pas de nouvelles vidéos. Il garde donc une information sur les demandes de flux et gère un historique de leur côté. C'est difficile de savoir vraiment ce qu'il en est, mais je pense que c'est ce qu'ils font (et je trouve assez malin de leur part pour limiter ce trafic inutile). Ça veut dire que si KrISS feed vous indique un problème lors d'une mise à jour, il ne faut pas trop vous inquiéter, c'est tout à fait normal et il y a de grandes chances pour qu'il n'y ait tout simplement pas eu de nouvelles vidéos.

Donc en gros comme pour Live Journal, Youtube vous bannit, mais contrairement à Live Journal, je pense que c'est volontairement bien étudié et il ne faut donc pas trop vous inquiéter si vous avez un Problem with last update ou que vous n'arrivez pas à ajouter une vidéo du premier coup.

Dans l'évolution de KrISS feed, je ferai des messages plus explicites pour distinguer les problèmes de flux (mal formés) et les problèmes liés à la récupération du flux (genre timeout).

J'ai quand même quelques interrogations sur comment je peux aussi essayer d'améliorer ça. Ma question concerne donc l'amélioration du cache, l'utilisation des ttl (time to live qui semble être ignoré de toutes les lecteurs de flux), e-tag, last-modified etc. Certains flux comme ceux générés par shaarli ne tiennent pas compte de ces informations et retournent systématiquement le flux rss mis à jour. Alors peut-être que c'est inutile mais je me demandais, s'il fallait essayer d'intégrer ça pour soulager les serveurs qui pourront répondre un code 304 (not modified) plutôt que d'envoyer le flux à chaque fois. J'attends vos avis sur la question.


Un logo KrISS ?
Vous êtes plusieurs à m'avoir demandé un favicon pour KrISS feed et comme je suis indécis, je vous fais ici quelques propositions. En tête, je n'avais pas que KrISS feed, mais l'idée de plusieurs outils KrISS, parce qu'avec le temps j'espère bien vous proposez encore plus d'outils avec la même philosophie :
image/svg+xml

- La première icône, c'est juste un K (pour KrISS) formé à l'aide d'un T (de Tontof). J'aime assez la forme, mais je ne vois pas trop comment je pourrais l'adapter pour différents outils.
- La deuxième est un K qui forme la moitié d'un carré et qui permet d'inclure une autre icône, comme celle du RSS. En faisant la symétrie on peut écrire les initiales KF pour KrISS feed.
- La troisième est identique à la deuxième avec une branche prolongée pour former en plus le T de Tontof. L'icône s'apparente au logo peace and love.
- La quatrième est un K formé d'un demi-cercle et d'un demi carré.

Voili voilou, j'ai fait ça vite fait pour vous donner une idée et savoir ce que vous en pensez. Je reste ouvert à toute proposition.


Les certificats SSL :
Certains d'entre vous ne peuvent pas ajouter certains flux https à cause de problème de certificats qui ne sont pas installés sur le serveur. Curl a une option pour ignorer ça, mais je ne pense pas que c'est une bonne idée de l'ajouter par défaut.
<?php curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse); ?>

Une option, un plugin, tout est possible, qu'en pensez-vous ?


Les attaques XSS :
Actuellement, il n'y a aucune modification du contenu d'un flux. Si ce dernier ajoute du code javascript, il sera exécuté. Je voulais savoir si vous aviez des idées pour limiter les risques. Je connais http://htmlpurifier.org mais je cherche quelque chose de plus simple et léger. Des idées ?


KrISS feed en français :
Je vous ai dit que la version 8 serait multilingue, mais je voulais savoir si vous pensez que c'est plus intéressant d'avoir un fichier index par langue ? Toutes les langues disponibles dans le même fichier index ou l'ajout des langues grâce aux plugins ?

Le débat est ouvert.

Comments

1 - @ - GF

Salut,

Merci de demander (et, évidemment, pour le taf fourni sur KF). Et un petit dernier pour les explications sur les problèmes de flux, j'avoue que c'était en dehors de mon radar...

Faisons ça dans l'ordre:

-Pb de flux
J'en ai jamais rencontré, même si je me posais des questions concernant certains (celui-ci, par exemple: http://journalistes-education.net/ ). Jusqu'à maintenant, j'imaginais plutôt que c'était lié à un truc mal foutu sur le site d'origine. J'ai un doute, du coup.
Pour la solution technique adéquate, je passe mon tour, c'est d'un niveau trop élevé pour mes compétences de level 2,5 en informatique ^^

-Logo
J'aime beaucoup le tout dernier, avec son faux air de canard... Les autres, ben, pas top, non, trop stylisé-épuré-zen pour moi, sans doute.

- les certificats SSL
Pas de problèmes de mon côté. Du coup, un plugin plutôt qu'une option par défaut me parait être une meilleure idée. Pas besoin de perdre le côté kiss en ajoutant en standard des bouts d'usine à gaz.

- Les attaques XSS
Euh... Joker ? Connait pas, mais je fais confiance aux levels 42 en informatique pour dealer avec ça.

- En français
Là, aussi, une gestion par plugin, a priori, ça me semble mieux. Tout mettre dans un seul fichier me parait plus loin de l'esprit KISS qu'un fonctionnement séparé...

Et sinon, si j'ai bien suivi, il y a une FAQ/un manuel/un wiki/etc... dans les tuyaux. Je serais pas contre un peu de doc (j'avoue bloquer sur les skins que d'autres ont proposé et, malgré les infos que j'ai trouvé, ça veut pas fonctionner).

Et je finis en me répétant, mais merci, vraiment pour KrISS feed, c'était exactement l'outil qu'il me fallait... Beau boulot, l'ami.

GF

PS: j'ai merdouillé sur le précédent commentaire (qui est parti vide, du coup). Mes confuses...

2 - @ - Adrix12

Salut :-)

Pour les problèmes de flux :

J'en ait rencontrés quelque-uns :

Pour le site wtffunfact.com et http://odieuxconnard.wordpress.com j'avais tout le flux qui réapparaissait non-lu a chaque update.

J'ai finalement viré ces flux de ma liste de flux mais je demande si le problème vient de kriss feed ou des sites en question.

Pour le logo :
J'ai mis mon propre favicon sur mon serveur mais je choisirai celui de la 2ème ligne à droite.

Pour les certificats
Pas de problèmes de mon côté mais je pense qu'une option serai pas mal

Pour les langues :
Le système de plugin semble le plus adapté.

Je te remercie d'avoir créé kriss feed qui à l'usage me satisfait plus que google reader, surtout avec la version 7 qui rajoute le seul truc qui me manquais : les favoris !

3 - @ - rakoo

Salut,

Déjà, merci pour kriss feed, il est vraiment génial. Voici ce que j'ai à dire pour les différentes questions :

1. Pb de flux

Pour moi, les RSS ne peuvent se concevoir sans gérer la mise en cache, vitale pour les petits serveurs, appréciables sans les gros, et ne demandant même pas de gros efforts (enfin, je dis ça alors que j'ai proposé aucun patch, vilain garçon que je suis) tant du côté du serveur que du client.

En allant plus loin, un vrai système de notification en temps réel type pubsubhubbub serait idéal, mais demande de l'adoption du côté des publishers, et surtout de faire confiance à un tiers pour la distribution...

2. Logo
noop

3. Certificats SSL
J'aimerais bien avoir un moyen d'envoyer la liste des certificats auquels mon navigateur fait confiance, plutôt que de faire confiance à tout le monde.

4. XSS
noop

5. Traduction
Ça ne m'intéresse pas personnellement, mais je pense qu'une langue par fichier est bien plus intéressante pour la gestion de versions

4 - @ - Eliot Berriot

Hello !

Alors voici mon avis sur les questions que tu soulèves :
Salut,

1. problème de flux

Je ne suis pas un grand connaisseur de flux, mais si il y-a moyen de gérer ça en respectant les standards et pour soulager les serveurs, je trouve que ce serait dommage de s'en priver. Effectivement, il y a un gâchis terrible de bande passante et de ressources serveur, à laquelle on ne pense pas forcément en tant qu'utilisateur lambda.

2. Logo
Honnêtement, je n'aime pas trop les propositions que tu as faites. Mais le fait d'avoir un logo me semble une bonne idée (ne serait-ce que pour le favicon dans les multiples onglets du navigateur ;)

3. Certificats SSL
Aucune idée

4. XSS
Ça me paraît essentiel et d'instinct, je supprimerai purement et simplement tout le javascript, quitte à déléguer la gestion des exceptions à un plugin.

5. Traduction
Pourquoi ne pas utiliser des fichiers PO/MO, comme pour WordPress ? Dans une optique multilingue, il me semble que c'est le plus facile à gérer, à traduire (même pour des novices), et le plus propre sur le plan de l'architecture : les utilisateurs pourront mettre à jour leur fichier de langue sans changer le code source, et inversement.

Et même, cela permettra d'avoir plusieurs langues en simultanée sur une seule instance Kriss. Utile si KrISS prend un jour en charge le multi-utilisateur !

Par contre, ça remet en cause le principe du "un seul fichier pour tout". Mais est-ce vraiment un mal ? Je suis pas développeur chevronné mais il me semble que si tu souhaites intégrer des plugins, tu vas de toute façon devoir concevoir ton code de façon beaucoup plus modulaire, non ?

Merci encore, je crois que c'est une bonne idée de demander l'avis du public !

5 - @ - Tontof

Juste pour préciser sur les logos, ce ne sont pas des propositions, mais des idées de logo. J'ai vraiment fait ça vite fait pour donner une idée de départ.

@GF : Pour ton site, les flux ne sont pas accessibles : Journalistes éducation is a private site. All feeds are disabled. Du coup c'est normal que ça ne marche pas :-) ils doivent avoir un truc d'authentification.

@Adrix12 : Je ne sais pas quelle version tu utilisais mais essaye avec la dernière, je n'ai plus de retours avec les problèmes du début sur la réapparition des articles.

@rakoo : La gestion du cache est importante côté client, serveur et outils, ça simplifie pas la tâche :-). C'est vrai que je m'étais posé la question sur pubsubhubbub, faut voir ce qu'il est possible de faire avec.

@Eliot Berriot : J'ai regardé du côté des fichiers .po/.mo et je pense que je vais l'intégrer mais pas l'utiliser directement dans le code final. En gros, je vais m'en servir pour générer les fichiers mais j'utiliserai une gestion avec les tableaux. Utiliser gettext nécessite pas mal de config côté serveur et risque de poser pas mal de soucis. Wordpress fait un peu la même chose car il me semble qu'il n'utilise pas les domaines au final et qu'ils ont leur propre interpréteur.

6 - @ - Boudah Talenka

1. Problème de flux
Reste KISS, identifie bien les erreurs, responsabilise l'utilisateur.

2. Logo
L’icône que je préfère est la 7ème (i.e. la 3ème de la 3ème ligne)

3. Certificat SSL
Mettre ce réglage en option (en passant à KriSS, j'ai été obligé de faire passer en http la moitié de mes flux pour cause de certificat auto-signés).

4. XSS
Si tu veux garder les scripts dans les flux :
str_ireplace('<script', '&lt;script', $str);

Si tu veux être sûr :
strip_tags($str, '<script>');

5. Traduction
Ton code est déjà modulaire, c'est le produit final index.php qui est monolithique. Le fichier unique rend l'installation vraiment simple. Par ailleurs, les fichiers PO/MO ne sont pas si simples que ça à éditer, et vu que KrISS aspire par définition à rester simple...

7 - @ - cyberic

Merci pour toutes ces précisions, je n'avais jamais vraiment calculé la bande passante nécessaire....
Ne serait-il pas possible de 'mutualiser' les flux cachés quelque part, sur google app engine, par exemple?

Pour le logo, j'aime bien la 2eme ligne, tout à droite

8 - @ - Lucien Skywalker

- Flux RSS : Je n'étais pas du tout sensible à ce problème.
- Logo : Je vote pour le dernier de la seconde ligne (en étant bien d'accord qu'il ne s'agit que d'une première ébauche)
- ssl : je n'ai pas encore d'avis tranché, mais je ne pense pas que tout accepter soit une solution. En même temps, je ne vois pas comment garder le système le plus simple possible et permettre de gérer manuellement ses certificats ssl...
- XSS : Je pense que c'est important d'utiliser une solution existante, et de ne pas tenter de réinventer la roue. Le XSS est un problème tout à fait sérieux, et ne doit pas être traité à la légère. Je ne suis pas du tout un spécialiste PHP, et je ne connais pas directement la bibliothèque que tu cites, mais je pense vraiment qu'il faut utiliser une bibliothèque spécialisée.
En restant dans le domaine de la sécurité : à la façon des outils de mail, il faudrait pouvoir désactiver l'inclusion automatique des images, par flux ou par article. L'inclusion devrait même être désactivée par défaut.
- Pour les traductions, comme l'a dit Boudah, ton code est déjà modulaire. J'ai jeté un coup d’œil rapide, je ne sais pas ce qu'il est dans le détail, mais mon avis est que tu devrais rester autant que possible sur la philosophie "un seul fichier", quitte à proposer des fichiers différents pour chaque langue. Je pense que c'est tout à fait possible d'automatiser ça.

9 - @ - X3N

Question : est-il envisagé de le rendre multiple-utilisateur ?
Vu qu'à la connexion un nom d'user est demandé et pas seulement un mot de passe.

Ça serait cool pour que ceux qui ont un serveur puissent proposer cet outils aux autres (un ami m'en a fait la demande).

Pour le reste :
Le logo 2 me parait mieux, plus simple à adapter à chaque outil.
Le multilingue dans un seul fichier me parait dommage, ça augmente le poids pour des choses qu'on peut ne pas utiliser.

10 - @ - X3N

Désolé pour les fautes, je ne me suis pas relu...

11 - @ - Dimi

Salut

Déjà merci d'avoir fait Kiss Feed et de tout le travail pour faire les nouvelles versions.

Pour les questions :

1- problème de flux :
Le seul site où j'ai des problèmes de "Problem with last update" est : http://www.planet-libre.org/feed.php?type=rss
Pourtant j'arrive bien à voir les nouvelles.

2- le logo :
Même si ce n'est qu'une ébauche, j'aime bien le 7em (2em ligne à droite).

3- certificat SSL :
Je n'utilise pas de flux en https.
Du coup un plugin pour gérer ça peut être pas mal.

4- les attaques XSS :
Là je ne sais pas comment bloquer ça.
J'utilise noscript et je n'autorise pas souvent le java script.

5- les langues :
Je ne sais pas trop quelle est la meilleure façon, je ne suis pas développeur (même si je comprends un peu le code):
Avoir un seul fichier permet de rester dans la philosophie, mais cela augmente le poids.
Alors que plusieurs fichiers c'est peut être plus simple à gérer.

12 - @ - X3N

Pour le multiple-utilisateur j'ai vu que t'as répondu sur l'autre article ^^

13 - @ - dacrovinunghi

2. Logo
Moi c'est le double SS majuscule qui me generait dans un logo
(godwin tu n'es pas loin). J'aime pas ces logos (mes gouts) ils manquent de relief.

4. XSS
sui d'accord :->>
strip_tags($str, '<script>');

5. Traduction
Je suis fan du monolithique

++

14 - @ - marc

Bonjour

Je pense que donner des messages d'erreur plus explicites est une bonne idée. Ensuite pour le reste je ne connais pas assez les flux pour répondre.

Concernant le logo J'aime bien le premier le dernier et le troisième de la deuxième ligne.

Concernant les certificats une option serrait la bienvenue. Le seul reproche/problème avec kriss feed concerne certains flux qui ne s'ajoutent pas ou ne se mettent pas à jour. Si tu as une piste pour réduire le nombre de site qui ne marche pas ... fonce.

Je n'ai pas la moindre idée de ce qu'est une attaque XSS. Je vais laisser les autres répondre.

Pour la version francaise, je pense qu'il faut simplifier la tache aux traducteur. Et je parle des non geeks. Ma femme d'origine Allemande est ok pour le traduire en teuton. En revanche s'il faut qu'elle édite une page php ... Donc je suis pour une solution qui simplifie la traduction quelle qu'elle soit. Toutes les langues dans un meme index.php ou un index.php par langue me semble bien trop compliqué.

Je suis globalement pour tout ce qui simplifie l'utilisation. Faire en sorte que ton lecteur prenne en compte les erreurs des autres est, malgré tout, une bonne chose : l'utilisateur ne se rends compte de rien.
Ne pas oublier que le lecteur de flux n'est qu'un outil. La finalité n'est pas d'utiliser le lecteur mais d'avoir accès à l'info du site qui nous intéresse.

Au passage, ton message m'a fait réfléchir je viens de passer la mise à jour de toutes les demis heure à toutes les heures ;)

15 - @ - Boudah Talenka

Au temps pour moi, j'ai cité la fonction strip_tags() de php, mais elle est loin d'être suffisante. Pour prévenir les failles XSS, il ne suffit pas d'enlever les balises <script>, car les plugins flash/java/..., ainsi que les évènements DOM sont aussi des vecteurs possibles d'attaques.

16 - @ - awikatchikaen

Pour les flux de RSS, il suffirait que les serveurs et les clients s'entendent pour ajout d'un parametre "since" que ne retournerait que les derniers articles... mais ca va pas être facile....

17 - @ - tolima

Bonjour et encore merci pour kriss feed !

pour les flux, ça semble mieux de réduire le trafic si c'est possible, c'est vrai que c'est un peu idiot de télécharger tous les flux et d'encombrer les serveurs (dans ma tête, les lecteurs de flux téléchargeaient juste la date de dernière modif et le flux complet si la date était plus récente)

pour le logo, je préfère le dernier de la deuxième ligne, en plus il me semble plus facilement déclinable. Par contre, je ne l'utiliserai que comme "squelette" pour un logo un peu plus "fun" (par ex avec des couleurs et le K un peu plus visible) dans ce goût là.

pour le multilingue, le plus simple me semble l'anglais par défaut et si on veut une autre langue on télécharge un fichier de langue dans "inc" (comme pour le css)

18 - @ - Tontof

@cyberic : C'est difficile de mutualiser et ça voudrait dire que ce n'est plus de l'auto-hébergement après.

@Lucien Skywalker : Oui c'était bien mon but d'utiliser un truc existant, mais je voulais un truc plus simple que htmlpurifier.

@Dimi : Je ne sais pas trop pour ce flux, mais si tu as les news, c'est peut-être normal, il faudra voir quand les erreurs seront plus détaillées.

@X3N : C'est vrai que le login ne sert à rien en mono-utilisateur, mais c'est une question d'habitude. Les gens n'ont pas l'habitude d'utiliser seulement un mot de passe. Pour ton ami, il suffit de lui créer un dossier. Mais c'est vrai que ce n'est pas des plus pratique pour les mises à jour après...

@dacrovinunghi@Boudah Talenka : En effet, le strip_tags n'est pas suffisant.

@awikatchikaen : Malheureusement, ce n'est pas si simple et peut-être qu'il y a plus à creuser avec pubsubhubbub, mais ce n'est pas pour tout de suite, tout de suite.

@tolima : Oui, oui, je voyais bien un logo coloré comme celui que tu proposes. Ce n'était vraiment que des idées et pas des vraies propositions :-)

19 - @ - Christophe31

problèmes de flux: en effet avec ma centaine de RSS suivi, j'ai des échecs.

logo: même si tu fais dans le minimaliste, si tu pense élargir ta suite d'outil, peut être qu'ajouter un peu de couleur... enfin, sinon je partirai plus sur l'idée derrière la deuxième ligne.

langues: pour moi c'est une option d'assemblage. Quitte à ne faire de distribution directe du fichier qu'en anglais et permettre aux francophiles de se l'assembler en Français.


Strictement aucun rapport, je me suis fait un skin.

je suis parti en pompant honteusement celui de xinfe:
screenshot xinfe

et je l'ai customisé pour avoir une interface un poil plus compacte.
screenshot christophe31

Après, c'est pour un usage personnel, je sais que tontof ont bossé dessus et xinfe pour le skin mais je préférerai une page de crédits que le rappeler sur l'ensemble de l'application.

Je me suis donc permis de retirer ça de l'interface, de réduire les tailles de pas mal de choses... après, vu que les largeurs sont en pourcentages, peut être que sur mon écran ça choque mais je trouvai la barre de gauche trop large. Bref le skin de xinfe mais qui fait la part belle au contenu...

20 - @ - Tontof

@Christophe31 : Je te rassure, le logo aura sûrement de la couleur, ce sont surtout des propositions de squelette pour un logo.

Je pense que je rajouterais les crédits dans la page d'aide, mais je ne sais pas trop encore, je vais attendre les plugins pour voir si c'est pas possible de coupler le tout.

21 - @ - Christophe31

Tiens, encore une feature request du coup là que nous évoquons le favicon: un favicon dynamique avec le numéro d'unread. Comme la fonctionnalité de gmail labs que je trouve fort simpatique).

22 - @ - max

Pour les flux, j'ai fait un import depuis leed, et gros bugg.
En import un par un, j'ai quelques flux qui buggent, mais bon, cela permet un nettoyage ;-)

Niveau logo, je verrais bien un truc dans le style du dernier de la seconde ligne.

Pour le multilingue, je suis pour, et vote pour l'approche via plugins ou genre wordpress.

Pour les autres questions, j'y connais pas grand chose, donc je fais confiance.

Bon courage, et bonne continuation.

23 - @ - Tontof

@Christophe31 : C'est déjà fait grâce à tvelter ! En fait il y a un pull request sur ça : https://github.com/tontof/kriss_feed/pull/199
J'ai pas encore eu le temps de l'ajouter mais c'est fait :-)

@max : Tu sais d'où vient le problème de l'import par rapport à Leed ? Si tu veux m'envoyer ton opml par mail à tontof sur free.fr n'hésite pas.

24 - @ - cyberic

Je viens de penser à un truc pour économiser de la BP:
J'ai pas mal de flux pointant sur des blogs qui ne sont pas souvent mis à jour.
Du coup, statistiquement, il est inutile de checker plusieurs fois par jour si le blog est updaté.
Il pourrait donc y avoir des règle disant, par exemple:
Si le blog n'a pas été updaté depuis un mois, ne checker qu'une fois par jour.

Ce n'est pas forcément simple à implémenter mais je pense que c'est faisable.

25 - @ - Tontof

@cyberic : En fait, c'est plus ou moins fait (mais plus moins que plus ^^). C'est ce que j'avais dans la version 4. Dans l'édition d'un flux le paramètre 'auto' est sensé faire ce que tu proposes. Mais quand j'ai tout changé pour passer à la version 5, j'ai pas tout repris parce que je voulais encore l'améliorer. Donc c'est une bonne idée et il faudra le faire à terme et malheureusement pour le moment le 'auto' n'est pas très utile :-)

26 - @ - Draeli

Pour le logo, le dernier (celui qui ressemble à un oiseau qui tend la bouche ouverte) est pas mal du tous est reste assez évocateur de l'habituel icône de flux rss.

Pour l'attaque XSS, étant dans le domaine, si tu veux je peux te filer un coup de main, tu trouveras ou me contacter sur mon site.
Une première piste néanmoins si tu ne souhaites pas prendre une bibliothèque dédié (ce que je peux comprendre), rfc:escaper c'est une pseudo doc sur quelque chose qui souhaite être implémenté au sein de la SPL de PHP mais bon ce n'est pas pour ca que je t'envoi le lien mais pour que tu regardes les différents liens que contient le doc et qui sont autant de piste pour créer ta propre solution.
Suite aux commentaires que j'ai lu plus haut, je met en garde contre l'usage d'une simple suppression des <script> qui sont facilement contournable.

27 - @ - shrk

pti grain de sel un peu tardif...

concernant le multilingue, l'idéal serais une méthode d'intégration de la langue "en dur" au moment de la compilation de l'index.php, comme ça aucune perte de perf...

est ce faisable et pas trop compliqué ?

28 - @ - shrk

concernant le "problème" des flux,

c'est a mon avis un pb de fond, l'architecture "publisher" <-> "subscriber" 'est pas viable sans mutualisation du process update, d'ou le besoin d'un troisème acteur le broker (role joué par G j'usqu'a maintenant...)


(petite description du model publisher - broker - subscriber (dsl en anglais))

What is PubSub?

Publish & Subscribe (PubSub) is a messaging pattern involving peers of three roles: publisher, subscriber and broker.

A publisher sends (publishes) an event by providing a topic (aka channel) as the abstract address, not a specific peer.
A subscriber receives events by first providing topics (aka channels) he is interested. Subsequently, the subscriber will receive any events publishes to that topic.
The broker sits between publishers and subscribers and mediates messages publishes to subscribers. A broker will maintain lists of subscribers per topic so it can dispatch new published events to the appropriate subscribers.

A broker may also dispatch events on it's own, for example when the broker also acts as an RPC server and a method executed on the server should trigger a PubSub event.

In summary, PubSub decouples publishers and receivers via an intermediary, the broker.

http://wamp.ws/faq#rpc



donc effectivement on peut s'attendre a un repli du coté des publisher qui vont limiter leurs flux (a mon avis par la solution la plus simple, tronqué l'article) donc en l'etat la lecture de l'article devra se faire en dehors du lecteur rss, on y perd donc...

la vrai solution mais qui n'existe pas encore ça me parait donc le broker libre , scalable, resiliant et decentralisé rien que ça...
(la mauvaise solution de fond, ça peut etre une soluce contournemant, ce serait de dire, ce flux me donne pas l'article entier, je vais le chercher...ca resoud pas le pb de fond)

en tout cas coté lecteur vive kriss feed!

29 - @ - shrk

Concernant le xss et plus largement l'application d'un filtrage a l'item,

ca me parait trés utile et etre un fonction 'core' pour un lecteur de flux:
- securisé l'output
- maitriser le poids de l'output (texte only, texte + images, etc...)
- optimisé l'output (resize et compress des images...)
(avec la possibilité de paramétrer tout ça par feed)

A mon avis

si traitement a la volé dans la boucle d'affichage alors le plus light des codes serais le mieux.

si traitement en dehors de la boucle d'affichage (en amont au moment de l'update...) alors htmlpurifier semble etre le top.

30 - @ - Anonymous

Problemes de flux :
Moi j'ai eu un souci avec celui la : http://vfxsoldier.wordpress.com/feed/
Ce qui me parait bizarre parce quil est valide selon le w3c.
Il me remettait toute la liste comme non lue et me faisait "freezer" krissfeed en survolant certains articles (j'entends par freezer que plus aucun lien n'était clicable et qu'il fallait que je ferme l'onglet pour pouvoir retrouver quelque chose)
Peut-etre que ca venait que d'un article mal formaté dans le flux mais j'ai fini par le virer parce que c'était génant.
Merci pour l'explication sur la bande passante consommée. Peut etre que tu devrais rajouter une ligne dans le panneau de config qui prévient l'utilisateur du probleme, avec un lien vers cet article par exemple (voir le message de marc)


Logo :
Difficile de juger d'apres ces squelettes trop épurés.
Il faudrait des versions un peu plus "poussées" comme celle proposée par tolima :
http://www.ventredudiplodocus.fr/logo-KF.png
Pour le moment je penche vers celui la et le 3e de la 3e ligne. Mais on perds le repere visuel classique du RSS avec celui la, c'est peut etre dommage.

Certificats :
Aucun flux en https dans ma liste

XSS :
Je comprends tres bien la menace mais je n'ai aucune compétence en la matiere.

Multilangue :
Personnelement je n'en aurais pas l'utilité donc je penche bien évidemment sur quelque chose d'externe au bloc index.
Sinon je suis (cette fois encore) assez d'accord avec marc, pleins de gens utilisent des logiciels open source et aimeraient y contribuer, mais ne le font pas car ils ne savent pas coder. Traduire est une forme de contribution qui devrait rester simple (kiss) et se cantonner autant que possible a de la traduction.

31 - @ - Tontof

@Draeli : Super intéressant ton lien. Je t'enverrai un mail quand j'aurai un peu plus le temps d'étudier ça de plus prêt.

@shrk : J'ai pensé à ce problème de performance et je n'ai pas encore trouvé de solution pour satisfaire mes besoins par rapport aux multilingues :
- il faut que tout fonctionne sans compilation à partir des sources avec kriss_feed.php ;
- je pense que l'index.php fournit devra permettre de changer la langue à l'aide d'un fichier à télécharger séparément ;
- je pense qu'il faudrait qu'on puisse compiler avec une langue spécifique (pour les performances mais qui ne soit pas le comportement par défaut).
À étudier encore un peu concernant la faisabilité.

Pour ton autre commentaire sur PubSub c'est intéressant, mais ce n'est pas encore démocratisé même si je pense qu'à terme, il faudra le considérer.

@Anonymous : Je n'ai pas eu de problèmes particuliers en ajoutant ton flux : http://tontof.net/feed/?currentHash=6OB_hw

Pour les fichiers de traduction, j'utiliserai les fichiers .po que je compilerai en tableaux pour utiliser plus facilement après. Du coup, cela ne devrait pas poser de problèmes aux traducteurs :-)

Edit :

@shrk : Je ne pense pas que ce soit une bonne idée de filtrer le contenu en amont. Un des problèmes que ça pose c'est la non possibilité d'afficher le contenu d'origine.

Je pense que l'idéal c'est d'avoir le choix un peu comme les webmails qui préviennent et qui donnent la possibilité de choisir de faire confiance ou pas.

Ensuite pour l'optimisation des images et du reste, je pense que ce sera quand KrISS feed pourra lire les articles en hors lignes pour la version 42 :-)

32 - @ - shrk

:-) j'pense que t'as raison, c'est juste htmlpurifier (qui a l'air vraiment bon par ailleurs) mais qui me faisait un peu peur en utilisation a la volée.

33 - @ - Ourson Chauve

@shrk

Il faut pas avoir peur, c'est assez simplifié !

34 - @ - shrk

no comment

35 - @ - dacrovinunghi (le haineux)

striptag nécessaire j'ai pas dit suffisant
la moindre des choses c'est de filtrer et vérifier l'intégrité de ce qui est ramené avant traitement (insertion dans le doc, valable pour tous les langages > dépassemnt de tampon, injection sql). Pour ma part le seul projet PHP, un blog, que j'ai fait à la fac, j'ai virer tout le javascript et script avant insertion.
Cependant en allant lire ici (lien apres) je me rends compte que jesujet est plus vaste (je hais flash et javascript) https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.230_-_Never_Insert_Untrusted_Data_Except_in_Allowed_Locations


36 - @ - tontof

@dacrovinunghi (le haineux) : Il y a quand même le fait que les gens choisissent leurs flux donc normalement c'est pas sensé craindre grand chose (personnellement je ne m'inquiète pas trop). Mais c'est vrai que le sujet est vaste et c'est chaud tellement il existe des possibilités de XSS. À étudier de près donc.

37 - @ - nono

Kriss Feed en français ?

Pourquoi ne pas utiliser gettext, le standard de l'internationalisation...

Du coup, c'est un fichier par langue.

38 - @ - max

Mail envoye avec le fichier opml, desole pour le delai
Bonne continuation

39 - @ - schplaf

Bonjour,

J'ai un peu de lag, mais voici mon avis d'utilisateur :

1. certains problèmes de flux
Ah, je ne m'en étais pas rendu compte. J'ai quelques flux qui échouent, mais je me disais que c'était le site qui avait un flux mal fichu. Et comme ce sont des flux qui merdoient et donc que je ne peux par lire, je ne les lis pas, ils ne me manquent pas, donc je les supprime. Hop, moins d'infos qui arrivent !
Dans la conf cron que tu proposes dans la partie configuration, tu proposes une MàJ toutes les heures. Tu pourrais proposer toutes les deux heures et ne pas mettre la ligne « toutes les 15 minutes ». Il ne faut jamais négliger la configuration ou les propositions par défaut, c'est souvent ce qui oriente le plus les utilisateurs.
Ensuite, peut-être que mettre des messages un peu plus parlant et différenciés serait intéressant.

2. le logo de KrISS feed
Bof, je ne pense pas que ce soit important : ce n'est pas ça qui me fait utiliser ou pas ton outil. Peut-être le troisième de la deuxième ligne, ou de la troisième ligne (l'espèce de tangram). Avec une petite pointe de couleur.

3. les certificats pour les flux https
Ça c'est plus embêtant. Je penche plutôt pour un plugin que pour un comportement par défaut permissif. Un plugin qui permettrait de lister les certificats en lesquels j'ai confiance peut-être ?

4. les attaques XSS
Hmm. Alors là, le mieux est de ne pas réinventer la roue. Je ne suis pas trop au fait des technos web, mais il doit bien y avoir des outils éprouvés pour gérer ce genre de souci. Des « sanitizers » ou quelque chose dans le genre.

5. le multilingue
Pourquoi pas du po4a ? C'est « standard », c'est simple, c'est pratique, et c'est connu. En plus, il n'y a pas tant de choses que ça à internationaliser, donc ça peut être fait super rapidement par la communauté une fois que tu as choisi le système que tu vas utiliser.
Mais le souci c'est qu'on perd un peu en simplicité ensuite : l'utilisateur lambda aime le fait de n'avoir qu'une copie d'un seul fichier à faire. Alors je ne sais pas si c'est possible de générer un gros index.php multilingue à partir des fichiers de langue po4a (ou autre), mais je pense qu'il faut éviter d'avoir plusieurs fichiers à manipuler pour l'utilisateur final.

Autres :
- je me dis que la possibilité d'avoir plusieurs comptes utilisateurs pourrait être intéressante (et derrière je verrais bien une mutualisation des flux, ou plutôt un cache commun),
- conserve une interface simple et épurée comme ça, sans obligation de N scripts,
- je verrais bien le bouton pour déplier un élément à gauche plutôt qu'à droite, mais bon c'est une affaire de sensibilité, et je peux le faire moi-même ça.

Dans tous les cas, merci pour ton outil.

PS : erf, je déteste les captcha, je n'arrive jamais à les lire :\

40 - @ - schplaf

Zut, j'ai oublié de mettre cette autre remarque : mon /tmp/ se remplit de sess_xxxx, et ça m'énerve un peu, même si ce sont des fichier de taille nulle. C'est lié à la conf' de mon serveur ou c'est KrISS feed ?

Désolé pour le multi-post.

41 - @ - Polo

Salut, donc ce n'est pas pour faire une réponse à chacune des questions que tu as posé (tous ceux du dessus ont quasiment tout dit ^^) mais pour une question spécifique :
Serait-il possible de faire une page générant un flux RSS unique à partir des différents flux suivis ?
Ca pourrait être utile pour, par exemple synchoniser différents lecteurs de flux (gadget du bureau + KrISS).

42 - @ - Tontof

@schplaf :
- La traduction se fera avec des fichiers po mais je ferai un script post traitement pour les intégrer dans KrISS feed.
- pour le multi-utilisateur, ce n'est pas pour le moment mais c'est vrai que ce serait intéressant de pouvoir faire un cache commun (je pense que ça resterait marginal).
- pour ton /tmp je pense que c'est en effet un problème de config serveur. Je pense qu'il doit y avoir un paramètre pour purger le dossier.

@Polo : Je ne vois pas trop comment cela pourrait permettre de synchroniser différents lecteurs de flux. Si tu as des idées plus précises tu peux m'envoyer un mail à tontof sur free.fr. Je ne vois pas comment la génération d'un flux RSS à partir des flux RSS pourrait aider.

43 - @ - XK

Hello Tontof,
tout d'abord merci encore de partager avec la communauté ton lecteur rss, et de passer du temps à continuer à l’améliorer.
Pour le moment j'utilise encore rssLounge, qui hélas n'est plus supporté, et est un peu lourd. En fait la seule qui me retient de passer a krissFeed c'est son design.
Je ne veux pas te vexer, ce n'est pas mauvais, loin de la, mais comparé a "rrsLounge", "the old reader", "google reader", ca fait beaucoup moins pro à mon gout.
C'est peut être quelque chose qui pour le moment te préoccupe peu, mais c'est dommage, parce que hormis ça, ton lecteur est déjà génial à mes yeux. Et pour être franc je préférai largement avoir d'abord un joli design au lieu d'avoir de nouvelles features (je sais que l'autohebergement attire plutot un public nerd qui se concentre plus sur le fond que la forme, mais ca fait toujours plaisir d'avoir des jolis outils).
Oui je sais, si je ne suis pas content je peux refaire mon theme css, mais je parle de faire plus que changer quelques couleurs et ce n'est pas si simple de reprendre le code de quelqu'un d'autre (même si c'est bien organisé et propre).
Je sais que c'est pas particulièrement évident non plus de faire le design d'un beau thème, ça demande des compétences artistiques et probablement pas mal de temps de recherche. C'est en pensant à ca que j'ai eut une petite idée. Tu pourrais peut être faire un petit appel a la communauté, les gens pourraient te proposer des design sous la forme d'une image ou d'un screenshot. Ca serait facile a faire pour des gens créatifs, et convertir le design en css serait relativement simple pour quelqu'un qui connait bien le code. Kriss Feed est déja populaire, un certain nombre de personnes suit les mises a jour. Je pense que tu pourrais avoir des retours intéressants, ça pourrait te fournir de l'inspiration et te laisserait te concentrer sur l'essentiel. (Quitte a passer une petite annonce sur sebsauvage pour attirer du talent).
Enfin je dis ca, c'est juste une petite idée ;)

44 - @ - Tontof

@XK : Merci pour ton commentaire.

Par défaut, je veux un thème simple qui puisse être personnalisé facilement. Je veux qu'il soit valide ( http://jigsaw.w3.org/css-validator/ ) et qu'il ne fasse pas des tests par rapport aux navigateurs (pour le moment, il ne reste que les boutons qui posent problème avec firefox mais le style reste valide).

J'ai déjà expliqué que de mon point de vue, KrISS feed c'est aussi une philosophie. Je comprends ton point de vue, mais je pense qu'il est préférable que je fasse une page de présentation (qui montrerait des captures de ce à quoi peut ressembler KrISS feed) plutôt que de changer le style par défaut. En tout cas, pour le moment, j'ai moins de temps à consacrer à KrISS feed et je le passe à l'amélioration des fonctionnalités parce que de mon point de vue, c'est plus important qu'il soit multilingue que joli (sachant que c'est un critère qui pourrait amener encore plus d'utilisateurs et pourquoi pas des graphistes qui proposeraient une amélioration du thème par défaut en conservant la même philosophie ^^).

Je ne sais pas si tu as essayé KrISS feed, mais sache qu'il existe déjà des thèmes très chouettes :
https://github.com/tontof/kriss_feed/tree/master/style
Certains sont même réalisés par des graphistes :
https://github.com/tontof/kriss_feed/tree/master/style/pierre
D'autres reprennent le style Google Reader :
https://github.com/tontof/kriss_feed/tree/master/style/greader

KrISS feed est encore jeune, je ne m'inquiète pas sur son avenir parce que je pense qu'il a un réel potentiel, même si je ne suis pas encore entièrement satisfait de tout.

45 - @ - Bazooka07

@Tontof,
D'abord merci de nous avoir écrit un superbe logiciels pour suivre nos flux RSS en toute intimité.

En étudiant le code, j'ai découvert, qu'avant d'envoyer la page php, on vérifiait la présence des fichiers style.css (17,2Ko) et script.js (56,8Ko) dans le dossier inc, dans lequel on peut rajouter user.css pour personnaliser le thème de la page index.php.
En l'absence de ces 2 fichiers, leurs contenus est renvoyé avec la page index.php. Depuis que j'ai mis les 2 fichiers à la bonne place, le rendu est nettement plus rapide à chaque requête.

Peut-être faudrait-il le mentionner dans un fichier readme.txt avec la possibilité de style personnalisé.

Bien cordialement.

46 - @ - Bazooka07

Pour info, j'ai ton logiciel sur un serveur mutu chez OVH.
New comment







 ___  __        _        
  |  |  \ |  | | \  |    
  |  |__/ |  | |  | |    
  |  |    |  | |  | |    
  |  |    \__/ |_/  |___