CrEv's blog

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - spdy

Fil des billets

2012 mai 20

Du retard dans les liens

Bon, ça fait un moment (un mois quoi...) que j'ai pas posté. Histoire de rattraper un peu, voici une liste de liens un peu en vrac, pas vraiment triés, mais il peut y avoir des choses intéressantes. Pour le moment j'ai un shaarli qui traine dans lequel je met pas mal de mes liens, et mon compte google synchronisé entre mes ordis et mon tél pour les liens que j'ai pas encore mis. Peut-être un jour j'ouvrirai l'url du shaarli, auquel cas ça remplacera ces posts.

Quoi qu'il en soit, voici un mois de liens divers et variés !

En voici un site Google Maps qui est 'achement bien ! Vraiment sympa, j'en dis pas plus, allez le voir, cliquez un peu partout dedans, c'est vraiment bien fait.

Voici les anales du concours Geipi Polytech. Et be, j'ai passé ce concours il y a plus de 10 ans, si je devais le repasser aujourd'hui ce ne serait pas si simple... mais c'est intéressant pour se rendre compte de ce qu'on demande, et de là où on en est plus de 10 ans après.

A l'heure où on utilise de plus en plus de js, où on mélange de plus en plus des codes divers, de provenance plus ou moins connues, il peut se poser régulièrement des questions de sécurités.

Voici un petit bout de programme, qui propose rien de moins que d'exécuter du js ... en js. Ou comment faire du sandboxing pour les scripts js. Intéressant, sauf que la question des performances est vraiment importante aujourd'hui.

Petite mise à jour des Terms of Service des API Google Maps

En voilà un code PHP intéressant ! Comment reprendre le téléchargement d'un fichier en PHP. C'est souvent quelque chose qui est décrié lorsqu'on parle de téléchargement en web. Mais peut-être est-ce juste qu'on ne fait pas bien / totalement les choses.

Petit article "guest" chez Atlassian sur Gliffy.

Gliffy, pour faire simple, est une sort de visio en ligne. Pour le moment il est réalisé en flash, mais ils sont en train de le passer en html5. Dans les phrases intéressantes, j'ai retenu la suivante : Flash helped make Gliffy successful, but has no future

Voici un bouquin qui me semble plutôt intéressant. La typographie a mine de rien un rôle très important dans le web. On s'en rend bien compte d'ailleurs si on regarde un peu l'évolution du design des sites web, après une période très "graphique", on en revient de plus en plus au texte car c'est au final le plus important. Bon, j'en parle pas plus, j'ai pas lu. Mais je pense que je vais l'acheter un de ces jours car ça m'intéresse vraiment beaucoup !

Photon est un framework PHP plutôt performant (même si je ne l'ai pas essayé, c'est ce qui en ressort) et il me semble assez bien foutu. Un jour je le testerai... En attendant voici un petit guide d'installation sous Mac.

Petite série d'icones vectorielles, orientées "réseaux sociaux"

Une présentation plutôt intéressante sur le développement dans chromium (la partie open source de chrome).

Comment dire... ce gars est un grand malade !! A partir de roues, suspension, moteur et bras oscillant (en gros) il a décidé de construire sa moto. Le boulot est réellement impressionnant. Si vous aimez la mécanique, allez lire ce sujet, ou regardez au moins les images !

Petit compte rendu de la remise en état d'un embrayage sur une R6. Je garde ça sous le coude au cas où je devrais un jour refaire celui de ma thundercat, ça doit être relativement proche.

Rien que pour cette présentation j'aurais bien aimé être au mix-it cette année. J'adhère vraiment au message. Vous êtes développeur ? Allez regarder / écouter cette présentation !

Manifeste pour de l'utf-8 partout !

Un article sur les performance en usage mobile de SPDY par rapport à HTTP.

Quelques petits trucs d'utilisation des tableaux en ruby

DevOps. En voici également une bonne voie dans le développement !

Une manière de "noter" des candidats lors d'une embauche. Pas a utiliser comme critère exclusif mais ça permet de donner une idée.

Présentation de kanban

Une manière sympa pour comprendre les différents codes HTTP (très important pour faire de REST correctement)

Voici une très bonne présentation des "green coordinates". Vraiment intéressant, instructif ! (c'est des histoires de transformation graphique, de formes, de dessin, etc)

Règles de style HTML / CSS par Google

Description de la recherche plain text avec Postgresql 8.3

Vous voulez faire vos propres "tuc" ? Voici la recette !

Comment faire des boites avec flèche (comme une info window sur une carte par exemple) en CSS

Un article très intéressant sur l'utilisation des divers caches HTTP. Très très important pour bien maitriser ses données et utiliser au mieux tous ces caches plutôt que de tenter de les supprimer par méconnaissance.

Responsive design cette fois dans un article de Google.

Nouvelle version du compilateur dart vers js

Petite explication des différents types de clustering sur le cartes, par Google Maps

Comment parser facilement une URL en javascript ? En utilisant la balise 'a' bien sur !

2012 avr. 19

Liens, veille, toussa

Après un peu d'absence, revoici une petite liste de liens, de veille, etc. C'est pas vraiment classé, je pense que je ferai ça bientôt.

Sublime Text 2 est un (très) bon éditeur de texte. Entre autre il fonctionne sous windows, linux et mac. Enfin un vrai remplaçant à TextMate ? J'en ai bien l'impression, d'autant que nombre de bundle, thèmes sont compatibles.

A tester plus en avant, le "mauvais" point étant qu'il est payant et surtout non libre, mais ça me semble être réellement un produit de qualité.

Ha, j'oubliais presque : le lien présenté est une page regroupant pas mal d'astuces à propos de ce logiciel.

Savez-vous comment fonctionne (quelles technologies) YouTube ?

YouTube utilise MySQL au coeur de son infrastructure ! Et oui mon bon monsieur. Je suis sur que vous vous attendiez à du NoSQL ou je ne sais quelle technologie hype, mais non, un bon vieux MySQL des familles.

Enfin, façon de parler, car ce serait oublier vitess ! Pour faire simple, vitess est un outil permettant d'aider à avoir une bonne scalabilité de MySQL. C'est entre autre une interface RPC qui accepte et transmets des commandes SQL (tout en les améliorants, corrigeant) vers des MySQL. Il fait office de multiplexeur (10 000 connexions en entrée, beaucoup moins en sortie vers les MySQL) et relativement rapide, de l'ordre de 10 000 requêtes par seconde.

Je vous laisse lire la suite si cela vous intéresse, je trouve ça plutôt pertinent et montre que, finalement, il est assez dur de se situer entre NoSQL et SQL aujourd'hui.

Ha oui, c'est donc un programme, open source, développé par Google ... en Go ! Car Go est sorti en version 1. Mais il s'agit d'une autre histoire.

Et si PHP devenait un langage executable au dessus d'une JVM (au même titre que Java, Scala ou Groovy) ?

Beaucoup ont cru à un poisson d'avril, en mode "trop gros, passera pas". Finalement non, il s'agit d'un réel travail de Clever Cloud qui entend remplacer Zend (le moteur de PHP) par la JVM.

Honnêtement, c'est une piste intéressante. Même si je ne suis pas convaincu de l'intérêt réel, la JVM a tout de même d'assez bonnes possibilités d'optimisations et performances, à la volée. C'est pas toujours significatif (je note en général une amélioration significatives de perfs sur mes tests à partir de, à la louche, 50 000 exécutions de la même requête) mais ça vaut le coût d'essayer. En outre ça permettrait peut-être d'augmenter l'eco système PHP avec des bibliothèques provenant de Java. A voir ce que ça donnera, dans tous les cas un projet à suivre.

(vous noterez que j'arrive même à parler de PHP sans en dire du mal...)

Voici un mémo bien sympa sur divers langages interprétés : php, perl, python et ruby. Vous y trouverez un tableau présentant les points communs et différence entre ces 4 langages, de manière plutôt complète. Intéressant si vous devez en utiliser un tout en connaissant un autre.

Ou comment se sortir d'un test de développement, lors d'un entretien, haut la main... Bon, je ne suis pas certain que ce soit réellement une bonne idée, mais pourquoi pas ;-)

Avec les lois type DADVSI, il devient très compliqué de savoir ce qui est légal ou non dans le les logiciels (notamment lorsqu'il est question de DRM).

VLC, qui voudrait bien avoir l'assurance du droit de lire les Blu-ray vient de saisir Hadopi afin de savoir ce qu'ils peuvent ou non faire de manière légale. Hadopi servirait-elle enfin à quelque chose d'autre que la mise en place du pare-feu openoffice ?

Une présentation de SpringSource (vmware) sur les choix d'architecture pour des applications cloud scalables. La prez dure environ 1h, par contre les slides sont plutôt légères. Néanmoins, l'une des informations importantes est celle-ci : "App-level Modularity"

Comment débuter le développement d'une grosse application ?

Voici en substance à quoi cet article tente de répondre. Entre autres choses, se concentrer sur la capacité à livrer rapidement un produit (même totalement incomplet) mais ayant une certaine valeur, un intérêt.

Voici une très très intéressante présentation sur l'utilisation FindBugs pour améliorer la qualité des logiciels. FindBugs est un outil d'analyse statique de code Java, dans le but avoué de détecter les erreurs potentielles (ou pas d'ailleurs).

Comment débugger un système en production ? Voici une très vaste question, à laquelle nous devons chaque jour trouver un minium de réponses. Mais il s'agit d'un problème réellement compliqué, problème auquel on sera toujours confronté, même en améliorant encore nos procédures de test.

Voici donc une présentation axée sur ce problème, et certaines pistes de réflexion.

Un très très bon article sur l'encodage des caractères, sur Unicode.

D'après l'auteur, tout programmeur digne de se nom doit savoir comment fonctionne unicode, au moins ce qui est dans cet article. Ha oui, je vous ai pas dit, l'article date de 2003...

Je vous recommande vraiment de lire cet article. Lorsqu'on voit à quel point les problèmes d'encodage, encore aujourd'hui, viennent nous pourrir la vie, il serait temps de réellement comprendre ce qu'il en est de, enfin, prendre les choses correctement. Bonne lecture !

Vous le savez certainement, Google Maps propose une couche météo. Désormais cette couche est disponible dans l'API Google Maps v3. Pour le moment je n'ai pas trouvé la bonne doc, le "problème" de la doc en lien est quelle est interne à google (login.corp.google.com)... Mais la lecture des sources suffit à pouvoir savoir comment l'intégrer.

Edit : la doc a été corrigée, vous pouvez désormais aller voir comment l'utiliser.

Tiens, j'envoie plus beaucoup d'infographies en ce moment. En voici une, représentant l'état de l'industrie du numérique en France. A voir, entre autre, que les jeux vidéo, les vidéos à la demande et le téléchargement de musique représente une part presque négligeable de l'industrie...

En ces temps, ou le moindre jeux correct à un style vraiment poussé, un petit retour aux bases s'impose ! Je sais pas vous, mais moi lorsque j'ai commencé à jouer sur ordi le son venait du buzzer du pc (vous savez encore ce que c'est ?) et il y avait ... 4 couleurs (ou 8, faudrait que je vérifie).

Quoi qu'il en soit, j'aime beaucoup ce style, un peu oublié, mais tellement agréable.

Saviez-vous que le plus vieux tunnel de métro au monde est à Paris, et date de Louis XIV ? Non ? Dans ce cas, que diriez-vous d'une petite visite du métro parisien ? Pour tout dire, le côté abandon m'a toujours fasciné...

Histoire de continuer avec les histoires de lieux abandonnés, voici le fabuleux travail de Lucie et Simon, qui ont vidés les plus grandes villes du monde afin de les photographier. Très sympa !

Et, mais je crois que je l'avais déjà fait passé, un petit lien sur des villes réellement abandonnés : http://www.topito.com/top-10-des-vi...

Un article présentant l'intérêt d'utiliser la bonne techno au bon moment. Oui je sais, dit comme ça c'est une évidence, en réalité c'est rarement fait.

Pour l'occasion, il s'agit d'utiliser au maximum les streams (dans ce cas c'est du node.js mais le principe est valable pour tous) pour créer des zips à la volée, et non créer le zip puis l'envoyer.

La conclusion c'est surtout que la manière de coder nos applis peut influencer de manière importante l'expérience utilisateur. Et ça fait aussi la différence entre une bonne et une mauvaise application, à fonctionnalités équivalentes.

Un petit exemple d'intégration des nouveaux layers de Google Maps API, à savoir la couche météo mais surtout, assez sympa, la couche "nuage".

Si vous voulez savoir à quel point c'est simple à faire, allez simplement regarder la source html, c'est vraiment tout bidon...

Une map plutôt sympa, encore une fois basée sur Google Maps API.

Je vous laisse naviguer dessus, c'est assez bien foutu, même s'il n'y a pas grand chose. Mais comme quoi, rien qu'un peut de style sur une map fait déjà beaucoup.

Je ne sais pas si le terme "sticky navigation" (navigation collée) vous dit quelque chose, mais je suis certain que vous l'avez tous déjà rencontré. Il s'agit de la tendance actuelle a faire apparaitre une partie du bandeau, liée à la navigation, tout en haut de la page, constamment visible, lorsque vous scroller dans cette dite page.

C'est assez sympa, visuellement c'est souvent plutôt bien fait, et en terme d'ergonomie c'est un vrai plus. En effet, sans pour autant prendre une place trop importante, la navigation devient tout le temps disponible, ce qui est très agréable. Voici donc quelques exemples de sticky navigation assez sympa.

Histoire de continuer sur les bases SQL utilisée sur de (très) gros services, voici que Twitter livre certains de leurs travaux autour de MySQL.

Il est très intéressant de voir les efforts mis en oeuvre par ces sociétés pour continuer à utiliser du SQL "standard" alors qu'on aurait tendance à croire que tout le monde passe sur du NoSQL.

Un petit tuto permettant de créer un formulaire type "écriture à la main". Plutôt sympa, ça permet d'avoir des mises en pages un peu plus originales et contextualisées. Surtout depuis qu'on peut (pour les navigateurs récent) embarquer facilement des polices de caractères. Bon, par contre le résultat n'est pas totalement au point, je pense qu'il reste quelques ajustements à faire dès qu'on dépasse quelques lignes de texte.

Un petit article sur l'utilisation de l'API HTML5 FileSystem. L'objectif étant d'avoir des pages entières hors connexion. Il faut bien voir que ce type d'usage tend à se généraliser de plus en plus. Bien qu'on ait du matériel de plus en plus connecté, il reste important de comprendre que ce n'est pas toujours le cas (ne serait-ce que dans le métro, alors que c'est un lieu ou beaucoup de monde utilise ses appareils mobiles).

L'article est plutôt succins, mais si vous suivez les liens contenus vous pourrez accéder à de nombreuses informations sur cette API.

Voici un article assez complet sur les nouvelles possibilités de drag and drop et d'upload en HTML5. L'article est plutôt simple et clair, mais il fait son taff. N'hésitez pas à aller le lire, ne serait-ce que pour savoir ce qui est possible.

J'ai déjà parlé, de nombreuses fois, de Go, le langage de Google. Initialement un langage dédié au système, désormais un langage généraliste.

Voici un petit article montrant comment écrire un web service en Go. Pour un langage qui se rapproche du C/C++, vous verrez qu'on peut faire des choses simples, élégantes, mais puissantes.

C'est un exemple assez sympa pour prendre en main Go et voir quels sont les intérêts de ce langage.

Suite à l'écriture d'un service web en Go, voici la même chose en C.

Bon, vous l'imaginerez sans mal, c'est déjà un peu plus coton. Mais ça se fait. Intéressant à lire pour bien mettre en évidence la différence entre ces deux langages.

Si vous manquez d'inspiration, voici une sélection assez sympa de street art. Certains sont tout simplement magnifiques, et on dépasse, de loin, le cadre de tags ou graffitis classiques.

En tant que mot de passe, qu'est ce qui est le plus sécurisé et plus difficile à casser : 'Tr0ub4dor&3' ou 'correcthorsebatterystaple' ? En gros, pour le premier il faut 3 jours de brute force, pour le second de l'ordre de 550 ans...

zxcvbn (wxcvbn en azerty...) est une lib js qui permet de calculer de manière plus correcte la complexité d'un mot de passe, non seulement en regardant la présence de tel ou tel caractère. Plutôt intéressant comme code, et surtout, intéressant dans la réflexion de ce qui rend un mot de passe réellement complexe à être cassé.

Je savais bien que j'avais dit un peu trop de bien de PHP ces derniers temps... Un "petit" bug bien sympa, PHP n'arrivant pas à réaliser certaines égalités correctement...

Et en plus ça affecte le switch (qui effectue donc une égalité simple == et non une égalité stricte ===) : https://gist.github.com/2397507

Un jour peut-être arrêtera-t-on de voir des bugs de ce type dans les programmes informatiques

Ha ha !

D'ailleurs, voici quelques commentaires de Douglas Crockford : "That is insanely stupid code", " Learn to use semicolons properly." Un peu de bla bla sur le sujet : http://brendaneich.com/2012/04/the-...

Ha oui, et pour ceux qui ne connaissent pas Dougle Crockford (http://fr.wikipedia.org/wiki/Dougla...) il a juste un peu créé le json, participé depuis longtemps dans le JS, créé JSLint.

Bon, il apparaît aussi que JsMin était lui aussi en cause...

Voici un petit site avec beaucoup de démos et expérimentations basées sur CSS3 (et les portions 3D). Pas forcément vraiment utiles, mais plutôt intéressantes pour savoir un peu ce qui est possible, ce qui sera possible demain sur le web. Dans le genre très flashy, les effets de scroll sont pour certains assez sympa.

Et voilà ! Google a enfin sorti mod_spdy. SPDY est un nouveau protocole initié par Google, dans le but d'améliorer significativement HTTP (en gros). Les performances s'en trouvent grandement améliorées.

D'ailleurs, si vous surfez sur les sites de Google avec Chrome, vous utilisez sans le savoir SPDY (ok, peut-être pas tout le temps). Mozilla a commencé à ajouter le support de SPDY dans les dernières versions de Firefox. Voici donc un mod pour Apache, permettant de faire dialoguer votre serveur préféré en SPDY.

Comment passer sous silence cette news ?! Voici les sources de Prince of Persia ! Heu oui, je parle du vrai jeu, pas des versions moisies pseudo 3D jenesaisquoi. Le vrai, le seul. Bon ok, je n'y jouait pas sur un Apple II mais sur un 286. Et c'était vraiment un jeu fabuleux pour l'époque (on parle d'avant 1990 donc les petits jeunes nés après auront quand même du mal à comprendre...)

Comment ne pas avoir en tête le bruit des "guillotines" un peu partout !

(le pire c'est que j'ai remis il y a peu en route un 386, la première chose que j'ai fait a été de lancer Prince of Persia...)

Histoire de continuer l'histoire de Prince of Persia, voici le début du Making of réalisé par Jordan Mechner. Plutôt intéressant, notamment concernant les mouvements du joueur, point participant grandement à l'intérêt du jeu. Voir également ici : http://fr.wikipedia.org/wiki/Rotosc... pour connaître la technique.