Eh oui, la tribune est encore cassée : plus de refresh automatique
Là, ça a l'air de remarcher, je ferme donc l'entrée.
Est-ce la cause à la tribune installée pout solutions linux ?
Ah, et ce matin c'était erreur 500 en pagaille pendant toute la matinée. Est-ce lié ?
Possible, je n'en sais rien, je n'ai pas eu le temps de m'occuper ni de l'un ni de l'autre.
Sinon, tester c'est pas toujours une mauvaise idée.
Les AMR m'ont demandé cette tribune lundi soir, j'ai codé ça vite fait puis je leur ai demandé de tester sur alpha. Quand ils m'ont dit que c'était bon, j'ai déployé sur la prod. J'ai essayé de faire au plus vite vu que je manque franchement de temps en ce moment. Désolé pour les inconvénients.
Ça peut se débrayer en coupant le javascript, en appuyant sur ESC ou en utilisant konqueror (j'ai des rapports de bug qui indiquent qu'il ne récupère pas les nouveaux messages de la tribune).
Pour ceux qui en font (je sais qu'il y en a ici) écrire du coffeescript permet-il d'améliorer les perfs, ou est-ce plus lent, ou on en sait rien ?
En gros, ça ne change rien. Le CoffeeScript est quasiment du JavaScript avec juste une syntaxe alternative (et la syntaxe ne change rien aux perfs).
Il paraît que, dans la pratique, CoffeeScript peut aider un peu pour les perfs en évitant certaines mauvaises pratiques du JavaScript comme oublier de déclarer des variables locales. Pour ma part, je n'ai pas constaté de différences, mais c'est peut-être parce que mon JS était déjà propre :p
Pour youtube, il est possible d'aller sur http://www.youtube.com/html5 pour devenir "volontaire" pour tester le player HTML5 (ça veut juste dire que c'est ce player qui va devenir le par défaut). Je ne serais pas surpris s'il y avait aussi un réglage de ce genre chez DailyMotion. Mais bon, ça reste une solution spécifique à chaque site.
Les bases de données NoSQL prennent en compte le théorème CAP dans le sens où toutes ces solutions n'ont pas fait les mêmes choix (certaines privilégient la disponibilité à la cohérence) et certaines solutions permettent même de faire ce choix par base de données. Cf http://wiki.basho.com/Tunable-CAP-Controls-in-Riak.html par exemple.
Aujourd'hui je génère mon site et mes manuels à partir d'une moulinette perso qui prend des sources type Markdown (jette un œil sur l'implémentation initiale de cette syntaxe, tu verras que ce n'est pas très sorcier de bricoler quelque chose autour, y compris vers groff_man, qui est finalement assez simple).
Pour générer des pages de man à partir de markdown, je me permets de citer ronn et md2man.
Je ne dis pas que la latence n'a pas baissé ces dernières années, juste qu'elle ne baissera plus beaucoup dans le futur. En informatique, il n'est pas rare de doubler les performances tous les 2 ans. Pour la latence, on est déjà en-dessous de 2x la latence minimale théorique (la distance x la vitesse de la lumière), au moins pour les connexions ADSL en France. Du coup, même sur les 10 prochaines années, on ne pourra pas diviser par 2 la latence.
Défois, je me demande où je suis. Le problème n'est pas que TCP est trop lent.
Si, TCP est trop lent. Quelque soit le protocole au-dessus, tu ne vas pouvoir utiliser qu'un très faible partie de ta bande passante lors de la première seconde d'une connexion en TCP. Les latences sur Internet ne vont plus pouvoir baisser beaucoup (on est déjà proche de la vitesse de la lumière), or c'est principalement ça qui impacte les connexions TCP sur les premières secondes (à cause du 3ways-handshake et du TCP slow start).
Donc, oui, dans un monde où l'on veut de l’instantané, TCP est trop lent.
Donc, ce qu'on fait (en gros, je simplifie), on demande en http toutes les secondes « est-ce qu'il y a un nouveau message ? », « est-ce qu'il y a un nouveau message ? ».
On faisait ça il y a quelques années et on le fait encore pour les vieux navigateurs (cough IE cough). Mais, on peut aussi faire ça proprement en HTTP avec une seule connexion TCP : ça s'appelle EventSource. Tu peux par exemple aller sur la tribune de LinuxFr.org et ouvrir Firebug, tu verras qu'il n'y a pas de polling.
Mais la solution existe depuis longtemps, ça s'appelle XMPP.
La solution à quel problème ? Si tu veux remplacer HTTP par XMPP comme protocole à tout faire, désolé, mais je préfère encore HTTP. XMPP est un très bon protocole pour de la messagerie instantanée, mais ça s'arrête là. Et il n'est pas présent dans les navigateurs, donc ce n'est pas possible de l'utiliser dans un contexte web.
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Mettre bien plus en valeur le lien "proposer un contenu". Évalué à 4 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/2d7527fd1219f886af9e5ed3affc56da08374952
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Remise à 0 des votes en cours sur une dépêche en modération. Évalué à 3 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/d6e62ddb1bef79f08372be3407208bf1f9f3a060
# Corrigé
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Abstraire les URLs. Évalué à 4 (+0/-0).
Bon, ça fait plusieurs fois que l'on me remonte le problème et que je pense l'avoir corrigé. J'espère que cette fois-ci, c'est la bonne.
Cf https://github.com/nono/linuxfr.org/commit/c7c018e8683c5e2810d7bafc35f150efa009fb93
# OK
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Plus de refresh automatique de la tribune. Évalué à 3 (+0/-0).
Là, ça a l'air de remarcher, je ferme donc l'entrée.
Possible, je n'en sais rien, je n'ai pas eu le temps de m'occuper ni de l'un ni de l'autre.
Les AMR m'ont demandé cette tribune lundi soir, j'ai codé ça vite fait puis je leur ai demandé de tester sur alpha. Quand ils m'ont dit que c'était bon, j'ai déployé sur la prod. J'ai essayé de faire au plus vite vu que je manque franchement de temps en ce moment. Désolé pour les inconvénients.
[^] # Re: débrayage
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Plus de refresh automatique de la tribune. Évalué à 3 (+0/-0).
Ça peut se débrayer en coupant le javascript, en appuyant sur ESC ou en utilisant konqueror (j'ai des rapports de bug qui indiquent qu'il ne récupère pas les nouveaux messages de la tribune).
# Perfs de CoffeeScript
Posté par Bruno Michel (site web personnel) . En réponse au journal Encore de tout, de rien, des liens, du dev. Évalué à 4.
En gros, ça ne change rien. Le CoffeeScript est quasiment du JavaScript avec juste une syntaxe alternative (et la syntaxe ne change rien aux perfs).
Il paraît que, dans la pratique, CoffeeScript peut aider un peu pour les perfs en évitant certaines mauvaises pratiques du JavaScript comme oublier de déclarer des variables locales. Pour ma part, je n'ai pas constaté de différences, mais c'est peut-être parce que mon JS était déjà propre :p
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Possibilité de plusser un commentaire déjà à +10. Évalué à 4 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/cf944b848b5a1b4a1d7e0be0aae70a9c1c469d9f
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Remettre les votes à 0 lors du passage en rédaction. Évalué à 3 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/ba0fc41d97c35274b1945ee28ff76f916a0fe4ce
# Corrigé
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Il y a 2 xml pour la tribune. Évalué à 3 (+0/-0).
J'ai mis en place une redirection de /board.xml vers /board/index.xml.
[^] # Re: Bof
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Donner du karma à ceux qui écrivent sur la tribune. Évalué à 3 (+0/-0).
À part l'auteur de l'entrée, personne ne semble être y favorable => je ferme l'entrée.
[^] # Re: un truc de super avec konqueror
Posté par Bruno Michel (site web personnel) . En réponse au journal avenir de konqueror et khtml dans KDE ?. Évalué à 3.
Et surtout, har est déjà pris pour HTTP Archive : http://www.softwareishard.com/blog/har-12-spec/
[^] # Re: patch
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Contenus lu ? Manque le 's'. Évalué à 3 (+0/-0).
Fait. Cf https://github.com/nono/linuxfr.org/commit/06fe052212345500c9803de1c5f58b13965d7864
# Corrigé
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Flux atom des utilisateurs et sections inaccessibles. Évalué à 3 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/0cd0bf689c9273a93b973be1b7b99b94873160c4
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Édition des journaux : mauvais avatar en prévisualisation. Évalué à 3 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/1811184f6c4bbb509053b050726a12e5cc022f64 et https://github.com/nono/linuxfr.org/commit/988391beb2b7563cff7f37d3684b494a48d267b6
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Signaler les forums archivés/fermés. Évalué à 3 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/293bed5cf44f00953a46d147dd0891b5359ed73b
# Fait
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi passage de modération à rédaction. Évalué à 4 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/3ec8455660d5bfac62df234c3282d21cfcb03de0 et https://github.com/nono/linuxfr.org/commit/29d36d0a972833b9ca9645759cfb83d73171884d
# Corrigé
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi traduction « toolbar ». Évalué à 4 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/c97a2f13749943f8f54136aa465339fb1e486a55
Sinon, pour info, la barre d'outils est expliquée dans l'aide : http://linuxfr.org/aide#aide-toolbar
[^] # Re: Ctrl → Alt
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Raccourcis-clavier écrasés. Évalué à 3 (+0/-0).
Fait. Cf https://github.com/nono/linuxfr.org/commit/3a10b6b171d1c63f6a534c74a6941c9570f3382a
# Corrigé
Posté par Bruno Michel (site web personnel) . En réponse à l’entrée du suivi Erreur 500 s'il n'y a pas de lien dans la paire de parenthèses. Évalué à 5 (+0/-0).
Cf https://github.com/nono/linuxfr.org/commit/621c761c36b73b8ac7268e8dfa603d9a8a5616cb
# Youtube
Posté par Bruno Michel (site web personnel) . En réponse au message Utiliser prioritairement HTML5 sur les sites de vidéos qui le proposent. Évalué à 3.
Pour youtube, il est possible d'aller sur http://www.youtube.com/html5 pour devenir "volontaire" pour tester le player HTML5 (ça veut juste dire que c'est ce player qui va devenir le par défaut). Je ne serais pas surpris s'il y avait aussi un réglage de ce genre chez DailyMotion. Mais bon, ça reste une solution spécifique à chaque site.
[^] # Re: Théorème CAP
Posté par Bruno Michel (site web personnel) . En réponse à la dépêche Petit état des lieux du NoSQL. Évalué à 10.
Ce théorème s'applique aussi aux bases de données relationnelles. Par exemple, MySQL Cluster garantit la cohérence et la résistance aux pannes réseau, au détriment de la disponibilité. Cf http://messagepassing.blogspot.fr/2012/03/cap-theorem-and-mysql-cluster.html
Les bases de données NoSQL prennent en compte le théorème CAP dans le sens où toutes ces solutions n'ont pas fait les mêmes choix (certaines privilégient la disponibilité à la cohérence) et certaines solutions permettent même de faire ce choix par base de données. Cf http://wiki.basho.com/Tunable-CAP-Controls-in-Riak.html par exemple.
# TCP Sucks
Posté par Bruno Michel (site web personnel) . En réponse au journal Réduire la latence des connections TCP, enfin. Évalué à 3.
Un autre lien à propos de TCP : TCP sucks, par Bram Cohen.
[^] # Re: Keep it...
Posté par Bruno Michel (site web personnel) . En réponse au journal Publication de petits projets. Évalué à 3.
Pour générer des pages de man à partir de markdown, je me permets de citer ronn et md2man.
[^] # Re: Où suis-je ?
Posté par Bruno Michel (site web personnel) . En réponse au journal Réduire la latence des connections TCP, enfin. Évalué à 6.
Je ne dis pas que la latence n'a pas baissé ces dernières années, juste qu'elle ne baissera plus beaucoup dans le futur. En informatique, il n'est pas rare de doubler les performances tous les 2 ans. Pour la latence, on est déjà en-dessous de 2x la latence minimale théorique (la distance x la vitesse de la lumière), au moins pour les connexions ADSL en France. Du coup, même sur les 10 prochaines années, on ne pourra pas diviser par 2 la latence.
[^] # Re: Où suis-je ?
Posté par Bruno Michel (site web personnel) . En réponse au journal Réduire la latence des connections TCP, enfin. Évalué à 4.
Si, TCP est trop lent. Quelque soit le protocole au-dessus, tu ne vas pouvoir utiliser qu'un très faible partie de ta bande passante lors de la première seconde d'une connexion en TCP. Les latences sur Internet ne vont plus pouvoir baisser beaucoup (on est déjà proche de la vitesse de la lumière), or c'est principalement ça qui impacte les connexions TCP sur les premières secondes (à cause du 3ways-handshake et du TCP slow start).
Donc, oui, dans un monde où l'on veut de l’instantané, TCP est trop lent.
On faisait ça il y a quelques années et on le fait encore pour les vieux navigateurs (cough IE cough). Mais, on peut aussi faire ça proprement en HTTP avec une seule connexion TCP : ça s'appelle EventSource. Tu peux par exemple aller sur la tribune de LinuxFr.org et ouvrir Firebug, tu verras qu'il n'y a pas de polling.
La solution à quel problème ? Si tu veux remplacer HTTP par XMPP comme protocole à tout faire, désolé, mais je préfère encore HTTP. XMPP est un très bon protocole pour de la messagerie instantanée, mais ça s'arrête là. Et il n'est pas présent dans les navigateurs, donc ce n'est pas possible de l'utiliser dans un contexte web.