:-y

Plus de 100, j'ai des étoiles dans les yeux !

mercredi 03 avril 2013 - 12:46

Ce week-end, c'était Pâques et le 1er avril peut-être, mais c'était surtout le passage des 100 étoiles sur github pour KrISS feed et c'était pas un poisson ! Une bonne occasion pour vous tenir au courant de l'avancée et des évolutions.

Tout ce que je peux vous dire sur la version 7, c'est qu'elle va apporter beaucoup de changements. Avant de lancer cette nouvelle version (j'espère dans pas trop longtemps max 2 semaines), il reste la gestion des favoris à terminer (mais qui est déjà bien avancé, merci Fred) et le tri des dossiers.

Sachez tout de même que plusieurs améliorations ont déjà été apportées depuis la version 6 :
- correction de quelques petits bugs (suppression du redirector dans le via, modification de l'option de compression utilisée par curl (c'est les serveurs qui vont être contents), problème d'encodage des urls des flux comme & en & (pensez à vérifier vos flux si ces derniers affichent des erreurs de mise à jour : il faudra peut-être les supprimer et les ajouter de nouveaux)) ;
- possibilité de modifier son mot de passe dans la configuration ;
- ajout des favicons dans la liste des articles en plus de la liste des flux ;
- ajout d'un mode public (qui permet d'enregistrer les lectures des articles sans être connecté). L'ancien mode public est devenu protected (comme la démo). Ceci devrait permettre une intégration plus simple dans d'autres outils comme blogotext, mais aussi l'utilisation avec une authentification par un .htpasswd ;
- amélioration de la compatibilité avec windows pour l'encodage des dates ;
- mise à jour de la liste des flux en javascript (Merci Balkoth !) ;
- suppression du CSS bootstrap (un petit aperçu sur la démo, mais ne vous inquiétez pas il est possible de revenir comme avant, voir à la fin de l'article).
- modification du menu à l'aide d'icônes CSS : https://f.cloud.github.com/assets/1648892/309818/f2834dce-970b-11e2-8a4c-9784af71151a.png via https://github.com/tontof/kriss_feed/issues/41 (En plus de n'être pas très beaux, elles sont difficilement personnalisables, je vais donc chercher une autre démarche pour la suite car cette solution ne me satisfait pas vraiment : On m'a parlé d'icône à partir de font, mais ce n'est pas aussi simple que je le pensais. Si vous avez des idées, je suis preneur.)

Si vous voulez tester ces dernières améliorations, elle sont disponibles dans les sources :
https://github.com/tontof/kriss_feed/raw/master/src/index.php

Ce nouvel index.php ne fait plus que 254K presque 100K de moins que la version 6 qui faisait 343K ! (merci bootstrap)

Je voulais aussi vous dire que j'avais eu 2 remontées de bugs qui sont plutôt inquiétantes. La première concerne un problème lié à la sérialisation des données, l'autre à la décompression des données. Dans les 2 cas, ces problèmes semblent isolés, mais PHP n'arrive plus à ouvrir le fichier data.php et KrISS feed devient inutilisable. C'est l'occasion de vous rappeler qu'il est indispensable de sauvegarder vos données ! (Ce conseil n'est pas valable uniquement pour KrISS feed.) Ici le plus important est avant tout de garder une copie de votre fichier OPML. La jeunesse d'un code n'a pas que des avantages... désolé... Merci encore pour vos retours qui permettent d'améliorer KrISS feed ! L'ajout de la comparaison de la date semble avoir résolu les problèmes de réapparition des doublons des flux problématiques et ça c'est chouette :-)

Concernant le CSS, pour votre prochaine mise à jour, il y a aura de gros changements. Comme je l'avais dit j'ai utilisé bootstrap pour me simplifier le développement de KrISS feed mais je ne voulais en aucun cas garder à terme leur CSS.

Juste à titre de comparaison :
- CSS du bootstrap original : 146K
- CSS du bootstrap simplifié pour KrISS feed : 36K
- CSS sans bootstrap : 17K (dont 8 concernant les icônes en CSS) et il est valide !

Si vous souhaitez conserver bootstrap, vous pouvez utiliser bootstrap.css ou simplified.css que vous devez renommer en user.css dans un dossier inc.
Je m'excuse auprès de ceux qui ont proposé des styles personnalisés, mais leurs captures d'écrans ne sont plus à jour et ils vont devoir peut-être apporter quelques modifications. À l'avenir, je ne devrais plus trop modifier le CSS de base (sauf pour les icônes).

En plus le CSS est maintenant plus fluide et agréable sur mobile, avec de plus gros boutons pour vos gros doigts !

À très vite pour la version 7.

Quelques liens inutiles pour passer le temps #37

mardi 26 mars 2013 - 18:05

1 - Je trouve ça très beau : un laser qui allume des bouteilles remplies d'alcool :
https://i.chzbgr.com/maxW500/7157510144/hF529844F/
via : http://cheezburger.com/7157510144

2 - L'équivalent des bentos en mode frenchy :
http://www.fubiz.net/2013/03/12/creativity-with-food/
via : http://blog.m0le.net/2013/03/25/nonos-vrac-90/

3 - Une astuce pour ouvrir des bocaux récalcitrants avec du chatterton de la toile américaine (merci deneth) :
http://www.youtube.com/embed/MIeUjtWppas
via : http://cheezburger.com/48685825

4 - Une chorégraphie millimétrée :
https://i.chzbgr.com/maxW500/7146279168/hA4B76760/
via : http://cheezburger.com/7146279168

Une autre que j'aime beaucoup aussi :
https://i.chzbgr.com/maxW500/7141015040/hA6BB7EAC/
via : http://cheezburger.com/7141015040

5 - Je rigole à chaque fois que je vois tourner cette vision des DRM en boucle :
http://www.actualitte.com/images/actualites/drm_1.gif
via : http://sebsauvage.net/links/?E_gIdA

6 - Ça donne mal à la tête mais ça marche :-p
http://www.spi0n.com/illusion-doptique-secouer-la-tete/

7 - Une sculpture dans une pitaya :
https://i.chzbgr.com/maxW500/7139148288/h8955F3D1/
via : http://cheezburger.com/7139148288

8 - Je trouve dommage qu'en France on ne voit pas plus d'initiatives avec les codes barres :
http://www.vivelapub.fr/le-code-barres-dans-la-publicite/
C'est pas les idées qui manquent :
http://gdpackaging.files.wordpress.com/2010/03/japanese-barcodes-big.jpg

9 - Une vision des geeks :
https://s3-eu-west-1.amazonaws.com/chooseyourboss/infographie-ChooseYourBoss.jpg
via : https://bajazet.fr/shaarli/?kAwM2w

Les langages préférés des geeks :
#1 : java
#2 : jQuery
#3 : PHP
#4 : javascript
...
Je ne sais pas pourquoi mais moi je vois au moins 2 erreurs à ce début de classement :-p

10 : Une raison de plus pour apprécier GiedRé :
« Tu penses que tu aurais eu autant de succès sans internet ?

Je pense qu'internet a joué un rôle très important. J'ai commencé par le live, je faisais des concerts alors que je n'avais jamais sorti d'album, et du coup, internet était le seul lieu où on pouvait se retrouver avec les gens, ailleurs que dans les salles de spectacle. Internet a pour moi cette valeur que les gens peuvent y choisir ce qu'ils y font. Et le choix, il n'y a rien de plus important. Toujours se donner la possibilité d'avoir le choix. À la télévision, on décide pour toi à l'avance de ce que tu vas regarder ou écouter. Il n'y a pas de démarche personnelle. Avec internet, sans démarche individuelle, il ne se passe rien, il y a juste la page d'accueil de Google et c'est tout, personne ne va te pré-mâcher le boulot. Alors oui, je pense qu'internet à cette valeur que n'ont pas les autres médias: celle de te donner le choix. Le choix de regarder des bêtisiers de gros qui font des plats dans des piscines, ou alors de découvrir des artistes indépendants, d'apprendre des choses, des découvrir que la pensée n'est pas unique. (Monsieur Lagardère, ne prenez pas ça pour vous, je pense à tous vos copains aussi.) »

via : http://www.confliktarts.com/fr/blog/262/interview-giedre

C'est triste maintenant qu'elle commence à avoir du succès, les vidéos Youtube posent des problèmes de droits d'auteur...

MISE À JOUR : KrISS feed passe déjà en version 6

vendredi 22 mars 2013 - 10:13

Une nouvelle version, et quelques précisions pour l'avenir.

Par défaut le flux RSS de mon site est présent dans KrISS feed et ceux qui l'ont déjà supprimé ne seront pas au courant qu'il y a une mise à jour importante à faire. Ce n'est pas bien d'ajouter son flux par défaut, je vous l'accorde, mais tant que KrISS feed ne peux pas vous indiquer qu'il y a une mise à jour tout seul, c'est plutôt une bonne solution alternative et je ne peux que vous conseiller de conserver mon flux encore un moment. Mais ne vous inquiétez pas, je ne poste pas 10 articles par jour et je vous laisse la possibilité de supprimer le flux (coucou Google et Android).

Pourquoi c'est une mise à jour importante ?
Tout simplement parce que j'estime qu'il y a eu suffisamment de changements suite aux issues, aux commentaires ou encore aux mails et qu'en plus certains concernent la sécurité.

J'ai déjà fait la liste de certaines modifications dans l'article précédent, mais depuis, il y a eu :
- l'ajout d'un système pour bannir les utilisateurs qui essayent de se connecter à votre place (merci Shaarli et Sebsauvage) ;
- l'ajout d'une option pour ceux qui subissaient des déconnexions intempestives liées à la protection sur le vol des sessions ;
- la suppression de plusieurs failles de sécurité : il en reste certaines à étudier pour mettre en place la meilleure solution ;
- l'ajout de l'option 'noreferrer' dans le redirector pour utiliser l'attribut HTML5 ;
- l'ajout d'un bouton 'Mark as read' dans la partie paging (à vous de choisir où vous préférez le placer) ;
- l'ajout d'un bouton pour forcer la mise à jour ;
- l'ajout de plein d'autres petites choses qui rendent KrISS feed toujours plus agréable à utiliser.

Je n'ai pas rempli tous les objectifs que je m'étais fixé pour la version 6, mais j'aime bien vous surprendre aussi :-)
Vivement la prochaine version...

Vous pouvez également découvrir quelques captures d'écrans du thème d'ali0une :
https://github.com/tontof/kriss_feed/blob/master/style/ali0une/screen1.jpg?raw=true
https://github.com/tontof/kriss_feed/blob/master/style/ali0une/screen2.jpg?raw=true
https://github.com/tontof/kriss_feed/blob/master/style/ali0une/screen3.jpg?raw=true

Comment mettre à jour ?
Pour mettre à jour c'est aussi simple que pour installer, vous enregistrez le fichier index.php et vous le remplacez sur votre serveur.

Pour ceux qui était à la version 5, vous ne devriez pas avoir trop de problèmes avec cette mise à jour.

Pour ceux qui ont contribué à détecter les bogues, il se peut que vous ayez quelques comportements surprenant en fonction de votre dernière version comme la réapparition de tous vos flux suite à un premier changement que j'ai effectué en fonction de certains retours. Cependant j'ai décidé de revenir comme c'était à la version 5 parce que ces changements sont arrivés à cause de flux problématiques. Maintenant que les choses sont plus claires de mon côté, j'ai pris les décisions que je jugeais justes et dans la philosophie KISS.

(Edit : il vous faudra peut-être supprimer le cache, mais je ne crois pas que c'est nécessaire.)

Derrière KrISS feed, c'est Tontof, mais c'est aussi une philosophie
Avant que vous ne continuiez à vous servir de KrISS feed, il faut qu'on se mette tout de suite d'accord sur certains points ! Vous vous en êtes aperçu tout seul, mais KrISS est très rapide, et beaucoup plus que certains de ces concurrents. Mais si cela est possible, c'est parce que KrISS feed est pensé pour être rapide dans un monde utopique où tout le monde connaît http://validator.w3.org/ et http://validator.w3.org/feed/.

Explication simple :

Vous avez un flux RSS qui contient 10 articles (a1, a2, ...., a10) que vous avez lu. Ce flux poste un nouvel article a11, le nouveau flux RSS contient alors a2, a3, ..., a11. Que fait KrISS feed ? Il vous notifie, comme il sait que vous avez lu de a1 jusqu'à a10, qu'il y a un nouvel article a11. Merci KrISS feed ! Mais ce qu'il fait aussi c'est qu'il supprime a1 de sa base car cet article est vieux et il n'a pas raison de réapparaître.

Jusque là tout va bien.

Sauf que si ce flux a un problème, il pourra entre 2 mises à jour vous renvoyer de temps en temps a1. Que dois faire KrISS feed dans ce cas là ?

Je suis d'accord avec vous, c'est chiant et votre premier réflexe est de vous plaindre à la gentille personne derrière KrISS feed. Mais dans ce cas précis, c'est à la personne qui s'occupe du flux de gérer ce problème. Et malheureusement pour vous, ce ne sera peut-être pas une personne aussi gentille que celle qui est derrière KrISS feed.

Mes concurrents conservent plus de liens et vous ne voyez pas les mêmes problèmes que moi, très bien pour eux et pour vous. Je vous laisse contribuer aux mauvaises pratiques qui font que les choses sont ce qu'elles sont. Mais désolé ce n'est pas KrISS feed, ce n'est pas Tontof. Je suis là pour comprendre vos problèmes et trouver des solutions avec et pour nous tous. J'essaye de vous expliquer mes choix et de vous expliquer pourquoi je fais ce que je fais. Mon but n'est pas de résoudre tous vos problèmes, mais de résoudre tous les problèmes d'incompréhension afin de ne pas rester dans le flou. Pour moi, un problème est résolu quand on a compris pourquoi il y avait un problème. Ensuite on essaye de faire au mieux pour que tout le monde soit content :-)

« Oui t'es bien gentil Tontof, mais concrètement pour nous, il se passe quoi ? »
Alors je vous l'ai dit, je suis quelqu'un de sympa et j'essaye de trouver des solutions pour satisfaire tout le monde quand même. Mais une chose est sûre je ne ferai AUCUNE modification pénalisante pour KrISS feed si ce n'est pas KrISS feed l'origine du problème !

En ce qui concerne le problème de réapparition de liens, j'ai pensé à 3 solutions :
- ajouter une option dans la configuration permettant de conserver un certains nombre N d'articles déjà lus mais qui ne sont plus dans le flux (ce qui pénalisera uniquement ceux qui utiliseront cette option. Plus N sera grand, moins KrISS feed sera efficace) ;
- n'ajouter les articles d'un flux que s'ils ne sont plus récents que le dernier article déjà présent dans la base pour ce flux ;
- 3e solution, un mixte des 2 précédentes. « S'il n'y a pas de solution, c'est qu'il n'y a pas de problème. ».

Je pense qu'une de ces 3 solutions permettra une correction de la plupart de vos problèmes mais je n'ai pas encore choisi celle que je mettrai en place, mais je le ferai car, je suis quelqu'un de gentil.

Comment vous pouvez m'aider ?
Je fonctionne très simplement. Je me sers des issues de Github pour prendre des notes sur tous vos retours (merci à vous tous pour vos propositions/retours/remarques). Oui je ne suis pas encore passé à Google Keep, j'hésite encore un peu avant de franchir le cap.

En attendant, j'ai mis en place 2 issues sur Github qui me serviront de référence :
- https://github.com/tontof/kriss_feed/issues/97 : me servira à conserver toutes vos idées quand je n'ai pas le temps de les mettre en place rapidement ;
- https://github.com/tontof/kriss_feed/issues/117 : me servira à identifier les problèmes liés aux flux pour voir quand KrISS feed est responsable ou pas.

Je vous remercie d'avance de prendre le temps de les parcourir avant d'ajouter une nouvelle issue.

50 ? Oui, oui 50 !

mardi 19 mars 2013 - 21:09

C'est très agréable de voir augmenter le nombre d'étoiles tout le long de la journée :-)

Bon ça l'est un peu moins quand c'est les issues :-p

Mais en gros voici un peu petit résumé pour vous dire où en est KrISS feed :
- La date est ajoutée (en view list et expanded) ;
- Les favicons sont disponibles grâce à http://getfavicon.appspot.com/ (mais en plus grâce à i M@N ils sont mis en cache sur votre serveur et vous gardez votre indépendance et ça c'est chouette ^^ : pour le moment il n'y a pas de gestion du temps pour faire des mises à jour, mais c'est déjà génial, non ?) ;
- Les liens s'ouvrent par défaut dans un nouvel onglet, beaucoup de demandes étaient dans ce sens, mais si des gens y voient un inconvénient, je pourrais en faire une option (Je me demande s'il faut que je fasse comme http://miniflux.net/ (via) et ajouter un rel="noreferrer" ?) ;
- Il y a encore plus de raccourcis claviers et comme le focus se fait automatiquement sur la liste des articles, vous pouvez balancer votre souris par la fenêtre, elle ne sert plus à rien. La liste des raccourcis est sur la page d'aide. Je m'excuse auprès de ceux qui utilisaient rssLounge (coucou Nono ^^) mais la touche 'v' permet maintenant de changer de vue (view, list/expanded) ;
- J'ai ajouté curl par défaut si la librairie existe pour régler certains problèmes de téléchargements avec libxml (en plus il semblerait que ce soit encore plus rapide, alors pourquoi se priver).

Vous pouvez voir l'évolution sur la démo.

Je ne vous dis pas tout parce qu'en fait, la plupart des issues en bug ne sont que de l'histoire ancienne parce qu'ils ont pratiquement tous été corrigés. Les issues seront fermées quand j'aurai pushé les modifications ou quand les gens auront répondu (coucou Sebsauvage ^^)

Pour finir, il y a parfois des problèmes d'ajout de flux :
- Essayer 2, 3 fois avant de poster une issue ;
- Vérifier la validité sur http://validator.w3.org/feed/ (pour le moment je ne gère aucun problème d'import, si ce n'est pas valide ça ne marchera pas, chaque chose en son temps) ;
- Si c'est valide, vérifier la version de libxml, en version 2.7.6 ça semble beaucoup plus boguer qu'avec la 2.7.8 (c'est fort, la dernière version c'est 2.9.0, c'est bizarre que ce ne soit pas plus à jour http://xmlsoft.org/news.html ). Je teste avec la version 2.7.8 et quand c'est valide, je ne sais pas encore d'où ça vient, mais c'est souvent la faute de libxml... en fait pour le moment, je pense que c'est tout le temps de sa faute :-p.

Si vous voulez essayer de nouveaux styles, il y en a 3 :
https://github.com/tontof/kriss_feed/tree/master/style

Quand les choses se calmeront, je mettrai en place une galerie et un peu plus d'explications sur l'utilisation de KrISS feed (n'hésitez pas à regarder dans la configuration pour ne pas proposer des choses qui existent déjà :-p).

Bon en gros ça avance et je m'excuse, mais à la fin de la rédaction de cet article, le titre n'est plus à jour, c'est 51 :-)

Edit :
Pour repréciser les choses il y a maintenant 2 versions de index.php :
Le premier, c'est toujours la version stable : https://github.com/tontof/kriss_feed/raw/master/index.php
Le deuxième, c'est la dernière version à jour : https://github.com/tontof/kriss_feed/raw/master/src/index.php

Retours sur KrISS feed

lundi 18 mars 2013 - 13:11

La version 5 de KrISS feed n'est sortie que depuis 3 jours et ça n'arrête pas depuis ! Alors tout d'abord un grand merci à tous pour vos nombreux retours qui permettent de rendre KrISS feed encore plus mieux bien qu'il ne l'est déjà :-p

Vous avez sûrement entendu parler de la vidéo d'Hitler qui parle de la fin de Google Reader, sinon, la voici :
http://www.youtube.com/embed/A25VgNZDQ08
via : http://cheezburger.com/48545537

Dans cet article, je vais faire un résumé de ces 3 jours et vous parlez de la suite de KrISS feed, car oui, ce n'est pas fini :-)

Succès inattendu et réactions inattendues:
Je vais commencer par 2 liens :
http://sebsauvage.net/links/?Q7ccfw
http://sebsauvage.net/rhaa/index.php?2013/03/17/15/28/17-puisqu-il-faut-un-exemple-
Je ne vais pas trop vous parler de ces liens parce que je pourrais vous en écrire pendant des heures sur les effets que cela produit. On dépasse de loin le 'simple' effet Sebsauvage. Parce que bon avoir un lien partagé dans son shaarli, c'est une chose, mais avoir un article dans son rhaa c'est autre chose :-) (surtout quand cet article n'est pas assimilé aux trucs qui l'énervent).

Tout ça pour dire que cette version 5 a bouleversé ma façon de travailler et depuis vendredi, ce n'est pas moins de 21 versions différentes de KrISS feed qui ont été proposées. C'est très chouette parce que depuis KrISS feed a fortement évolué, mais, ce n'est pas sans conséquence parce que quand les gens me parlaient de leur problème, je n'avais souvent aucune idée de la version qu'ils utilisaient. Il n'y a pas de version avec la nomenclature classique major.minor.patch parce qu'avant cette version, il n'y avait quasi pas de petites modifications et j'augmentais donc les versions un peu aléatoirement, même si cela correspondait souvent à des changements importants.

En même temps dès les premiers retours, il me semblait indispensable de corriger le plus rapidement possible les problèmes liés à la compatibilité et c'est ce que j'ai fait. Maintenant les choses se sont calmées, et les modifications concernent principalement des améliorations.

Je vous annonce donc que la version 5 finale correspond à cet index.php (commit 7c19373b5b) et je m'en servirai de référence quand un bug sera remonté. En même temps, je souhaite proposer une version à jour de ce fichier index.php pour les impatients (comme moi). Ce sera une sorte de nightly build :-)

Les modifications intempestives devraient donc s'arrêter sur l'index.php principal, mais je continuerai à fournir un index.php à jour et les gens qui remonteront un problème avec ce fichier devront préciser le commit correspondant :-)

On va essayer comme ça et on verra ce que ça donne.

Changements depuis vendredi :
Il s'en est passé des choses depuis vendredi alors voici un petit résumé des nouveautés/modifications :
- correction de quelques bugs (dont un correspondant à un comportement surprenant de PHP avec getElementsByTagName qui retourne les éléments avec le tag 'media:content' en cherchant le tag 'content') ;
- amélioration de la compatibilité (pour le moment KrISS feed fonctionne au moins avec PHP 5.2.9 mais je vais essayer de pousser le test pour savoir ce qu'il en est vraiment) ;
- correction des problèmes de cookies (merci Shaarli et Sebsauvage) ;
- ajout d'un flux simplifié (avec ajout des dossiers et utilisation d'un bookmarklet) ;
- amélioration de l'ergonomie (ajout d'un menu d'aide pour les raccourcis clavier ainsi que de nouveaux raccourcis entre autre pour les nostalgiques de rssLounge ^^, ouverture de l'élément en cliquant sur la description en mode view list, affichage des flux par ordre alphabétique, modification du CSS pour rendre l'utilisation possible de KrISS feed sur mobile (encore quelques améliorations à apporter notamment sur la taille des boutons pour vos gros doigts :-p), ajout d'une option pour supprimer le focus automatique sur le nouvel élément courant).

À savoir sur KrISS feed :
J'en avais parlé dans les premiers articles de KrISS feed, mais il y a un comportement par défaut qui n'est pas neutre et qu'il me semble important de rappeler. J'y ai pensé suite au partage de Bajazet (qui utilise Leed)
- https://bajazet.fr/shaarli/?KuM-4w
le lien partagé correspond à :
- http://feedproxy.google.com/~r/Arfyz/~3/ZBUyHnPGgVY/index.php
qui redirige sur :
http://www.arfy.fr/dotclear/index.php?post%2F2013%2F03%2F16%2FUn-capteur-tres-sensible-a-la-lumiere-par-Canon&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Arfyz+%28Arfy%27z%29
ça c'est le comportement « normal » d'un lecteur de flux RSS.

Avec KrISS feed, vous n'avez plus accès au lien proxy de google. Je fais ça depuis longtemps et il me semblait important de le rappeler. Moi je pense que c'est bien mais je suis conscient que certains pensent le contraire. Si vous souhaitez un comportement classique il suffit de supprimer 'feedburner:origLink' du fichier index.php.

Pour ceux qui se demandent de quoi on parle, c'est juste Google qui se sert de ce lien pour avoir encore et toujours plus de statistiques nous concernant et que je ne souhaite pas contribuer à ça (surtout que de toute façon ils ont déjà accès à ces infos avec leur pixel espion qu'il faudrait aussi virer ?). Si ce comportement ne vous plaît pas vous avez accès au code source et je vous laisse faire ce que vous voulez.


Et la transition est toute faite parce que je voulais aussi vous parler de la licence associée à KrISS feed. On m'en a parlé et l'absence de licence est entièrement volontaire de ma part. Je ne suis pas un puriste, et le seul clin d'œil que je fais au libre c'est l'utilisation du terme copyleft que j'utilise uniquement par opposition au copyright. Je ne propose pas ce code dans un cadre professionnel et je le partage avec plaisir car je suis un grand utopiste qui crois que l'union fait la force et que vous êtes tous des gens bien. Déjà comprendre une licence, c'est compliqué (via) mais en plus à mon/notre échelle, je ne trouve pas ça vraiment utile parce que de toute façon les gens font ce qu'ils veulent, licence ou pas licence. Quelques exemples :
- http://sebsauvage.net/hall.html
- http://www.blender.org/blenderorg/blender-foundation/press/re-branding-blender
via : http://sebsauvage.net/links/?Fm9pBw
- https://bajazet.fr/shaarli/?9Fkstw

Alors oui, je pourrais mettre une licence du style WTFL, dire que c'est dans le domaine public, mais en fait, je vous laisse faire ce que vous voulez parce que vous êtes des gens bien et que si vous utilisez mon code, vous ferez ce qu'il faut pour rester des gens bien :-)
Pas comme M6 : http://korben.info/m6-et-son-mepris.html

La suite de KrISS feed
Pour la suite, c'est très simple, il devrait y avoir une version 6 après la 5 :-)
Avant de passer à cette nouvelle version j'aimerais corriger/améliorer les choses suivantes :
- l'ajout de la date (comme sur Google en mode view=list : avec l'heure quand c'est aujourd'hui, sinon la date du jour et quand l'article est ouvert ou view=expanded la date complète) (issue) ;
- la mise à jour de la liste des flux sur la gauche en javascript (issue);
- l'ajout des favoris pour conserver des articles (issue);
- l'implémentation du autonext page (issue).

Ce ne sont que des objectifs et en fonction de l'avancement, ils seront plus ou moins atteints pour la version 6 et d'autres seront très probablement pris en compte, ce n'est pas le choix qui manque : liste des issues sur github.

En attendant je vous propose une grande première, le premier thème de KrISS feed par M. Sebsauvage :
Il vous suffit de télécharger le fichier user.css.

Thème par Sebsauvage

Pour inclure le thème c'est tout bête, c'est comme avec Shaarli. Vous placez le fichier user.css dans un dossier /inc et c'est tout :-)

Merci merci merci merci merci !!!!!
À tous pour tout au moins je suis sûr de ne rien oublier :-)

Quelques liens inutiles pour passer le temps #36

samedi 16 mars 2013 - 07:49

Après la journée mouvementée d'hier, je vous propose quelques liens inutiles pour ce week-end :

1 - Non mais j'te jure, une vraie blonde :-p
http://i.imgur.com/DG3iw.gif
via : Sensini

2 - Un skateboard, ah bah non en fait :
https://i.chzbgr.com/maxW500/7114161152/h037F6317/
via : http://cheezburger.com/7114161152

3 - Une bulle qui gèle :
https://i.chzbgr.com/maxW500/7111022848/h4A816FCC/
via : http://cheezburger.com/7111022848

4 - Je sais pas si c'est une nouvelle mode, mais je vois passer de plus en plus de choses sur le maquillage :
https://i.chzbgr.com/maxW500/7101775616/h226243D8/
via : http://cheezburger.com/7101775616

Moins flippant que lui quand même :
http://www.gizmodo.fr/wp-content/uploads/2013/03/zombie.jpg
via : http://sebsauvage.net/links/?GTQoYQ

5 - Héhé, quand on s'en rend compte, c'est trop tard, c'est dit :-)
https://www.youtube.com/embed/qduCeolwOMo
via : http://lehollandaisvolant.net/index.php?mode=links&id=20130305021757

6 - Une lampe sympathique :
http://design-milk.com/babele-lamp-is-like-a-giant-puzzle/

7 - Une petite animation gif sur la mafia ou pas :
https://i.chzbgr.com/maxW500/7136577024/h9424ABE5/
via : http://cheezburger.com/7136577024

8 - Connaissez-vous les chats dans les dessins animés ?
https://i.chzbgr.com/maxW500/7140704512/h742742CF/
via : http://cheezburger.com/7140704512

9 - Comment les utilisateurs mobiles se voient entre eux :
https://i.chzbgr.com/maxW500/7129899008/h1F4361A5/
via : http://cheezburger.com/7129899008

10 - De simples photos, ou pas :
http://d24w6bsrhbeh9d.cloudfront.net/photo/6793174_460s.jpg
via : http://9gag.com/gag/6793174

Presque nouveau lecteur RSS, KrISS feed est vraiment tout terrain

jeudi 14 mars 2013 - 18:12

Bon, je vous le dis tout de suite, cet article est long, mais prenez au moins le temps de lire le début, je vous propose une nouvelle version de mon lecteur de flux perso KrISS feed qui je vous le promets n'a rien d'un lecteur de flux RSS classique. Pourquoi vous croyez que Google ferme son Google Reader ? M'enfin je dis ça, je dis rien...

Si vous ne voulez pas tout lire, voici ce que vous devez faire. C'est tellement rapide à faire que ce serait dommage que vous n'essayez pas... seulement 6 étapes, même si 4 c'était suffisant.
(Il faut faire la même procédure pour ceux qui passe de la version 4 à la version 5 : une réinstallation complète, faîtes une sauvegarde de tout votre dossier avant au cas où) :
1 - Ne réfléchissez pas, faîtes moi confiance :-p
2 - Allez dans votre lecteur de flux favori et exportez la liste de vos flux (fichier opml)
3 - Téléchargez le fichier index.php et copiez le sur votre serveur
(oui, il n'y a qu'un seul fichier et non vous ne rêvez pas il fait environ 300ko (décompressé) avec plus de 100ko de css de bootstrap twitter (qui devrait dégager dans les prochaines versions pour réduire encore cette taille déjà ridiculement petite : oui à titre de comparaison Tiny Tiny RSS fait 2Mo compressé...))
4 - Allez sur ce fichier dans votre navigateur préféré et installez KrISS feed : un login, un mot de passe et si les droits d'écritures sont bons, ça ne devrait pas poser de problèmes (je ne fais aucun test de compatibilité pour le moment (TODO), mais si vous avez un problème, n'hésitez pas à demander, je pense que ça vaut le coup et ça permettra d'améliorer la compatibilité)
5 - Importez votre fichier opml et faites une update
(si votre serveur utilise gzip, vous ne devriez pas avoir l'actualisation en direct (les flushs ne sont pas pris en compte), alors il faudra patientez, sinon vous pouvez aller dans la config et activez l'autoupdate qui utilise javascript et qui vous permet d'utiliser le lecteur directement sans attendre)
6 - Faîtes de KrISS feed votre nouveau lecteur de flux favori :-)

Si vous voulez voir ce que ça donne avant, la démo est accessible (sans le login et le mot de passe, le paramétrage est un peu plus limité et l'utilisation diffère car vous ne pouvez pas marquer les articles comme lus), mais j'espère que c'est trop tard et que vous avez déjà testé sur votre serveur :-p

Pourquoi changer pour KrISS feed ?
À chaque fois que j'ai essayé un lecteur de flux en ligne, j'ai été frustré à un moment de ne pas avoir telle ou telle chose et en partant de cette idée, je me suis dit qu'il fallait que j'adapte mon lecteur pour qu'il convienne au plus grand nombre. En fait, dans la version précédente j'avais 2 modes ('show' et 'reader') et si j'étais un grand fan du mode 'show', les retours que j'ai eu concernait le mode 'reader' mais comme je ne l'utilisais pas, j'avais plus de mal à faire les suggestions demandées, car le code était dur à maintenir. J'ai donc tout retransformé pour faire un seul mode entièrement paramétrable. Le code est beaucoup plus concis et sera beaucoup facile à maintenir. Pour vous donner un aperçu de quelques possibilités :
- http://tontof.net/feed/?listFeeds=show&byPage=50&view=list&filter=all (plus ou moins équivalent à mon ancien mode 'reader')
- http://tontof.net/feed/?listFeeds=hide&byPage=1&view=expanded&filter=unread (équivalent à mon mode show, je n'utilise que ça et j'adore)
Entre les deux, c'est vous qui choisissez en fonction de vos besoins, mais il s'agit du même code et c'est donc un réel plaisir de modifier le code php ou js, contrairement à la version 4.

En étant connecté, il est également possible de paramétrer entièrement l'apparition et l'ordre des éléments du menu et de la pagination. Sur la démo, j'ai laissé tous les liens, mais dans mon KrISS feed perso, je les ai tous virés. (pas besoin de liens pour naviguer, les raccourcis clavier sont suffisants et les options, je ne les change jamais et si je veux le faire temporairement, je peux rentrer les paramètres directement dans l'URL)

Pourquoi KrISS feed est tout terrain ?
- Il utilise PHP (c'est presque universel non ?)
- Il n'utilise aucune base de données SQL (tout terrain, je vous dis :-p)
- Il est entièrement fonctionnel sans javascript (oui vous pouvez l'utiliser avec w3m ou links)
- Il est entièrement fonctionnel avec javascript (parce que c'est quand même bien quand AJAX évite de recharger la page à chaque fois et les raccourcis clavier font gagner un temps non négligeable à la veille)
- Il ne dépend d'aucune librairie tierce (pas de SimplePie, pas de jQuery) : c'est toujours un argument discutable, mais c'est le prix de la légèreté. J'utilise KrISS feed depuis presque un an et je n'ai eu aucun soucis dans la lecture de mes flux RSS (j'en ai plus de 100 différents) et puis jQuery, ben voilà c'est jQuery (via)
- Il se base sur le CSS de bootstrap oui il reste encore du css associé à bootstrap, mais malheureusement les gens jugent encore trop vite sur l'aspect et pas sur les fonctionnalités (ce CSS est temporaire, je l'ai utilisé pour ne pas me prendre la tête avec la façade, c'est principalement pour la nomenclature et comme ça les gens pourront adapter facilement le thème ou laisser bootstrap : vous pouvez aussi définir votre style en créant un fichier inc/user.css (comme avec shaarli))
- Il est responsive et s'adapte aux écrans de toute taille (responsive quoi : j'ai dû changer un peu le CSS de bootstrap car même avec le CSS responsive, les boutons ne s'adaptaient pas à l'écran, tu parles...)
- En un mot il est vraiment KISS

Est-ce que KrISS feed est fait pour vous ?
Si vous cherchez un lecteur de flux RSS en ligne, la réponse simple est Oui.
Sinon, il existe des logiciels, mais ce n'est plus vraiment en ligne et ce n'est pas le but de KrISS feed.

Il faut savoir que KrISS feed ne stocke pas les flux sur le long terme (contrairement à Google Reader par exemple). J'ai changé toute la structure et si les gens demandent l'ajout de favoris, je pourrais le faire plus facilement (mais pour moi, je trouve plus intéressant d'utiliser un shaarli pour ça...). De mon point de vue complètement biaisé, mais tout de même honnête, c'est la seule remarque 'négative' (je ne trouve pas vraiment ça négatif) que l'ont peut faire à KrISS feed. J'imagine que vous en aurez sûrement d'autres :-)

Enfin j'ai testé KrISS feed sous firefox, opera et chromium sans problème (même si le CSS est mieux sous firefox... par exemple en mode list, les éléments sont condensés alors que ce n'est pas le cas sous chromium et opera. Je gèrerai ce petit détail quand je modifierai le CSS). J'ai fait le javascript en pensant 'un peu' à IE mais comme je ne peux pas tester, je ne sais pas si ça fonctionne. Ce n'est pas gênant, KrISS feed marche très bien sans JS :-p

Qu'est-ce qu'il faut savoir pour utiliser au mieux KrISS feed ?
Dans l'utilisation quotidienne, il faut savoir que je n'ai pas fait de demande de confirmation, par exemple quand on souhaite tout marquer comme lus ou non lus. Il reste seulement quelques anciennes confirmation javascript dans l'édition des flux. Mais globalement, quand vous cliquez, ça exécute. Je pense à terme faire une option pour ça parce que je pense que des gens préfèrent l'étape intermédiaire...

Dans les paramètres, il y a la possibilité de gérer entièrement les menus, mais il y a aussi quelques quelques options pour vous simplifier la vie :
- Autoread next item : qui permet de marquer comme lu un article quand vous accéder à l'article suivant
- Autoread next page : (pas encore implémenté) qui permettra de marquer comme lu les articles de la page courante quand on accède à la page suivante
- Autohide : qui permet de masquer dans la liste, les flux qui ont 0 non lu.
- Autoupdate : qui permet de ne pas faire d'update manuelle bloquante et ainsi utiliser directement KrISS feed sans attendre (vous pouvez aussi utiliser un cron, allez dans le menu configuration)

Après avoir paramétré votre lecteur à votre goût, je vous conseille pour une meilleure expérience l'utilisation des raccourcis suivant :
- espace ou 't' : en mode view list pour ouvrir/fermer l'article courant (espace buggue sous opera)
- 'm' : pour marquer comme lu ou non lu un article
- 'n' ou flèche de droite : pour aller à l'article suivant
- 'p' ou flèche de gauche : pour aller à l'article précédent
- shift + 'n' : pour aller à la page suivante
- shift + 'p' : pour aller à la page précédente
- 'j' : pour aller à l'article suivant et en mode view list l'ouvrir
- 'k' : pour aller à l'article précédent et en mode view list l'ouvrir
- 'o' : pour ouvrir le lien courant dans un onglet
- 's' : pour partager l'article courant (à paramétrer dans la config, ne se limite pas à shaarli car il utilise les variables ${url}, ${title}, ${sel}, ${via}. ${sel} permet en javascript de récupérer la sélection courante du texte surligné et la place entre guillemets. ${via} est une variable qui contient 'via <guid>' quand les domaines sont différents entre <link> et <guid>. Bientôt très utile avec shaarli quand il sera possible de modifier la description de shaarli avec le bookmarklet. Je vais bientôt prendre le temps de faire un pull request parce que je l'ai déjà implémenté et je trouve ça vraiment pratique.

Qu'est-ce qui se cache derrière KrISS feed ?
À l'image de shaarli, tout est stocké avec des fichiers (et comme le dit très bien Sebsauvage ce n'est pas forcément un problème). Dans la version 4, je n'utilisais qu'un seul fichier data.php qui stockait toutes les infos et les articles. La taille variait facilement de 2 à 4 Mo pour plus de 100 flux. Sur mon hébergeur OVH, je n'avais pas vraiment de soucis, mais sur des ordis persos un peu moins puissants, le chargement des pages pouvait être un peu pertubé. Contrairement à un shaarli qui est utilisé principalement en lecture, ici, le fait de marquer un élément comme lu fait de l'écriture. Et lire/écrire un même fichier tout le temps en accès parallèle avec par exemple la mise à jour en javascript, c'était pas l'idéal. Maintenant le fichier data.php ne contient plus que les informations relatives aux flux et aux articles (lus/non lus et la date). Pour le même nombre de flux, le fichier data.php ne fait alors plus que quelques ko. Les autres informations relatives aux articles sont stockées dans un dossier cache. Même sur de vieux ordis, il est maintenant possible d'utiliser KrISS feed.

Et la suite ?
Tout d'abord, j'ai moins de recul que sur la version 4 et comme il s'agit d'une grosse mise à jour, je ne serai pas surpris qu'il y ait encore quelques petits bugs même si je m'en sers sans problème depuis quelques jours. J'attends donc vos retours. Il reste encore des choses à implémenter, comme le autonext page, la mise à jour des articles non lus que je n'ai pas fait en javascript dans la liste des flux à gauche, mais elle est active dans le titre et le menu. Il faudrait aussi que je sépare de ma classe Feed, la partie lecture/parsage de flux RSS pour en faire une classe à part. Bref encore plein de petits détails pour encore améliorer KrISS feed.

Dans les prochaines versions, j'envisage le multilingue. Avec ma contrainte du fichier unique, je m'oriente vers l'utilisation de simples tableaux. Mais pour une meilleure maintenance, je pense le faire à partir de fichiers .po/.mo. Je n'ai pas encore eu le temps d'étudier en profondeur le problème mais j'ai quelques pistes. D'ailleurs je vous rappelle que si vous souhaitez utiliser le cache de votre navigateur pour le style et le javascript, il vous suffit de copier le dossier inc des sources à côté de votre index.php. Le CSS peut aussi se personnaliser avec un fichier user.css dans ce même dossier inc. Ensuite, je verrai à l'usage, mais pour le moment je précharge l'article suivant qui permet d'avoir une interaction beaucoup plus rapide quand on clique sur suivant. Je pense qu'un seul est suffisant, mais pourquoi ne pas aussi rendre ça paramétrable. Dans la version 4, j'utilisais un historique en javascript qui me permettait de revenir sur des articles que je venais de marquer comme lu. Actuellement, si vous êtes en mode filter unread, il n'est pas possible de retourner sur un article marqué comme lu.

J'espère qu'il vous plaira autant qu'à moi, mais je suis le premier fan de KrISS feed :-)

Quelques liens inutiles pour passer le temps #35

mardi 12 mars 2013 - 07:46

1 - C'est nul, mais ça m'a fait sourire :
https://i.chzbgr.com/maxW500/7087689216/h323F737D/
via : http://cheezburger.com/7087689216

2 - Quelques idées pour faire des conneries à ses proches :
http://d24w6bsrhbeh9d.cloudfront.net/photo/6745258_460s.jpg
via : http://9gag.com/gag/6745258

3 - Une publicité en Allemagne, j'adore :
http://d24w6bsrhbeh9d.cloudfront.net/photo/6742529_460s_v2.jpg
via : http://9gag.com/gag/6742529

4 - Petit clin d’œil :
http://www.spi0n.com/le-plus-grand-mur-de-rubiks-cube-au-monde/

5 - Une souris qui lévite, un must-have ? je suis pas sûr que ce soit vraiment pratique :
http://design-milk.com/levitating-wireless-mouse-could-help-prevent-carpal-tunnel/

6 - Boites de pétris artistiques :
http://thedailydish2013.blogspot.de/
via : http://www.2m3.net/in.php?id=9348

7 - Chouette, il y a de nouveau de la neige !
http://i.imgur.com/LINoJZU.jpg
via : Sensini

8 - Une idée merveilleuse :
http://www.nikopik.com/2013/03/une-chaise-avec-des-drm.html
via : http://lehollandaisvolant.net/index.php?mode=links&id=20130304125138

9 - Ah ouais quand même, je saurai comment lacer mes chaussures maintenant :
http://www.isheep.fr/2013/02/17-manieres-de-faire-ses-lacets/
via : http://blog.m0le.net/2013/02/27/nonos-vrac-87-via-shaarli-suite/

10 - Je trouve que ça fait limite fake, tellement c'est impressionnant :
https://i.chzbgr.com/maxW500/7078701568/h6D851464/
via : http://cheezburger.com/7078701568

Quelques liens inutiles pour passer le temps #34

lundi 04 mars 2013 - 06:53

1 - L'illusion du choix, toute ressemblance avec la politique est totalement fortuite...
http://d24w6bsrhbeh9d.cloudfront.net/photo/6681168_700b_v4.jpg
via : http://9gag.com/gag/6681168

2 - J'espère que ça marchera aussi avec un stylo bic :-)
http://i.imgur.com/CKyZP.jpg
via : https://bajazet.fr/shaarli/index.php?IkovTQ

3 - Des placements de pubs pas toujours très appropriés :
http://d24w6bsrhbeh9d.cloudfront.net/photo/6709141_460s.jpg
via : http://9gag.com/gag/6709141

4 - La fin des nœuds de cravates :
http://design-milk.com/a-necktie-that-zips-zip-tie-from-actual/

5 - Je ne suis responsable que de ce que je dis, pas de ce que vous comprenez ^^
http://d24w6bsrhbeh9d.cloudfront.net/photo/6658767_700b_v1.jpg
via : http://lehollandaisvolant.net/index.php?mode=links&id=20130228193530

6 - Le courant électrique vulgarisé en image :
https://pbs.twimg.com/media/BDtQqsjCUAAtRpw.jpg:large
via : http://lehollandaisvolant.net/index.php?mode=links&id=20130228194128

7 - Une image sympathique d'un lapin et d'un rouleau de papier toilette :
https://i.chzbgr.com/maxW500/7093082880/h6776DE05/
via : http://cheezburger.com/7093082880

Elle m'a fait pensé à cette pub :
http://www.culturepub.fr/videos/kleenex-le-lapin

8 - Une bouche en oeil, plutôt réussi :
https://i.chzbgr.com/maxW500/7086378240/hF52EE48B/
via : http://cheezburger.com/7086378240

9 - Vous connaissez les objets inutiles, voici les doubles objets inutiles :
http://www.youtube.com/embed/D4m0flnlbXM
via : http://www.2m3.net/in.php?id=9346

10 - Quelques gadgets pour les 'vrais' geeks :
http://d24w6bsrhbeh9d.cloudfront.net/photo/6687639_460s.jpg
via : http://9gag.com/gag/6687639

Mise à jour de KrISS pin

samedi 02 mars 2013 - 10:16

KrISS pin, mon petit bookmarklet pour bidouiller les pages html vient d'être doté d'une toute nouvelle fonctionnalité plutôt originale grâce à Fred. Après avoir compris comment ça marchait, je vous conseille la démo pour le voir en action.

Sinon une autre démo simple, inutile et donc complètement indispensable :
- Allez sur la page de KrISS pin et cliquez sur le bookmarklet (le menu apparaît à droite) ;
- Descendez jusqu'aux commentaires en dessous du bookmarklet ;
- Sélectionnez le commentaire de Tontof en cliquant sur le petit 2 puis celui de Nico admin en cliquant sur le petit 1 ;
- Appuyez sur 'p' et les commentaires sont triés dans l'ordre inverse (les derniers en premier).
- Pour les retrier dans l'ordre, sélectionner 1 puis 2 ou 2 puis 3 ou 1 puis 3 et 'p' !

Sinon, après avoir mis à jour votre KrISS pin (petit rappel pour installer un bookmarklet), vous pouvez essayer de trier des choses sur ces pages :

- Essayez de trier les recettes par note
- Essayez de trier les recettes par Yum
- Tableau Wikipedia : vous pouvez essayer de trier les joueurs par ordre alphabétique, avec leur nombre d'années jouées, ou encore par ordre chronologique en sélectionnant les années entre paranthèses. Si avec cet exemple vous ne voyez pas l'utilité de cette nouvelle fonctionnalité de KrISS pin, je ne peux plus rien pour vous :-p

Le code de KrISS pin est bien sûr disponible sur Github, merci Fred pour ce pull request !