Les constantes en JSON

Suite à mon article précédent, Marin a mis en ligne une page très intéressante à propos des constantes en JSON, dont j’ignorais l’existence.

En résumé, les constantes en JSON permettent de raccourcir les noms de propriétés trop longs ce qui allège vos fichiers JSON de façon significative (dans le cas exposé, on a gagné plus de 250 KB !).

Je comprends à présent pourquoi les noms de propriétés en JSON doivent être écrits entre quotes.

Deux sites que j’aimerais vous présenter…

Je vous invite à naviguer sur ces deux sites et à poursuivre la lecture ensuite…

* http://www.immunotherapyforcancer.info
* http://www.ascitrials.com

J’ai pu participer, il y a peu, à l’élaboration de ces deux sites. Je vous présente ci-dessous comment l’aventure s’est déroulée…

Dans une boîte Web de grande taille, il n’est pas rare qu’on soit une vingtaine à avoir bossé, à des degrés et des moments différents, sur un même projet. C’est la réalité d’une grande entreprise et ça n’empêche pas d’accoucher de projets de grande qualité (même si c’est toujours mieux de réduire les intervenants au minimum, n’est ce pas ?).

Néanmoins, on est parfois amené à faire des sites seul ou quasiment… Ca arrive, par exemple, quand un project manager arrive un matin à votre bureau et vous tient à peu près ce langage :

(…) on va faire deux sites pour une boîte pharmaceutique. Il y aura plein de pages de contenu textuel, une carte Google Maps, un glossaire, un moteur de recherche interne, (…)

A ce moment là, j’imagine déjà le CMS PHP ou .NET qu’on va utiliser. Ce n’est pas vraiment mon business, moi je m’occupe uniquement de l’intégration. Mais le project manager n’a pas fini de parler :

(…) le problème, c’est qu’on ne peut pas utiliser de technologies côte serveur ! Leur serveur Web ne les acceptent pas. Tous les comportements devront être géré par JavaScript !

Gloups… Là, je comprends qu’aucun développeur ne travaillera après moi. Je serai, et c’est rare pour un intégrateur, le dernier maillon de la chaîne. Beau défi en perspective et bonne occasion de pouvoir tester mootools sur un vrai projet.

Première chose à vérifier : est-ce que le serveur accepte les SSI ? C’est heureusement le cas. Je n’avais vraiment pas envie de devoir dupliquer mon header, ma navigation et mon footer sur toutes les pages (vive la maintenance).

Autre problème : le moteur de recherche… Vous avez déjà essayé de mettre un moteur de recherche interne sur un site statique ? Heureusement, notre sauveur s’appelle une nouvelle fois Google. Cette entreprise renommée a créé, parmi tant d’autres choses, un truc sympa qui s’appelle Google AJAX Search API. Facile à personnaliser et à mettre en page, c’est une solution très intéressante. Le seul problème, c’est que le site doit être totalement indexé pour que la recherche soit efficace. Mais tout ça n’est qu’une question de temps…

Pour la carte Google Maps, aucun problème, tout est géré avec JavaScript. De plus, dans ce cas, stocker les données dans un fichier JSON est nettement plus efficace qu’un système traditionnel de gestion de base de données relationnelle. Parfait !

Les difficultés restantes résident dans des choses un peu plus anecdotiques : mise en surbrillance de la page courante dans la navigation, couplage du système de tooltips et du glossaire, gestion de la taille des polices, gestion de l’impression (avec stylesheet dédiée), gestion du bookmarking dans le navigateur et dans del.icio.us, etc.

La validation XHTML des deux sites est facilitée par le fait qu’aucun CMS bizarroïde ne vient polluer le code source… Un gros effort a également été réalisé au niveau du référencement et de l’accessibilité, même si j’imagine que les professionnels du domaine y verront des erreurs grosses comme des maisons.

Je vais m’arrêter là, je me rends compte que raconter comment un site a été réalisé est un exercice difficile. Je voulais en réalité vous présenter ces deux sites pour plusieurs raisons :

* Booster un peu le SEO des deux sites via ces quelques backlinks non négligeables;
* Vous montrer ce que je fais dans mon travail de tous les jours;
* Vous montrer qu’il est encore possible de faire des sites “statiques” très sympa, avec uniquement XHTML, CSS et JavaScript;
* Vous montrer qu’il est encore possible de faire des sites respectueux des standards du Web dans de grosses structures;
* Vous demander votre avis, pour faire mieux la prochaine fois 😉

En vrak – 73

* Selon Dean Edwards, il y a six niveaux de connaissance JavaScript. Auquel êtes-vous ? (c’est vieux mais c’est toujours intéressant)
* Comment parler efficacement au client ?
* Vous vous êtes toujours demandé pourquoi les Palestiniens étaient autant en colère ? Cette carte explique beaucoup de choses…
* Mp3gle : moteur de recherche de fichiers audio.
* Instacalc : la calculatrice 2.0
* Plein de packs d’icônes gratuites !
* Ne plus employer de float pour vos mises en page en CSS, c’est possible !
* Jeu super chiant !
* Toutes les ressources du framework CSS Blueprint sont reprises sur cette page (au cas où vous l’utiliseriez ce qui n’est pas mon cas).
* Tutoriaux jQuery pour les designers. Enfin une bonne façon de voir la chose dans un monde réel plein de contraintes !
* Vous êtes développeur et on vous reproche votre lenteur ? Améliorez votre productivité !
* Après la référence CSS, voici la référence HTML de Sitepoint.
* Les vidéos de Paris Web sont en ligne !
* Faites le test !
* 100 ressources pour les développeurs Web (avec une petite surprise) !

on AIR Tour à Bruxelles le 7 avril

Comme Serge, Nico et Marin, j’encourage tous les belges intéressés par le Web à se rendre au on AIR Tour à Bruxelles le 7 avril 2008. Cette conférence organisée par Adobe aura lieu au Claridge et c’est totalement gratuit !

on AIR Tour logo

Comme son nom l’indique, toutes les présentations tourneront autour du même sujet : AIR, le lecteur universel RIA d’Adobe. Il y aura du très beau monde : Serge Jespers, Mike Chambers, Kevin Hoyt, Daniel Dura, Peter Elst, Andrew Shorten, Oliver Goldman, Nicolas Lierman, André Charland et Lee Brimelow essayeront de nous transmettre un peu de leur savoir.

Autre chose : si vous parlez de cette conférence sur votre blog, vous recevrez une carte postale et des stickers offerts par Mike Chambers !

Je ne peux pas vous obliger à venir, mais si vous êtes libres, venez ! Si cet on AIR Tour à Bruxelles est un flop, les grands gourous du Web hésiteront à se déplacer en Belgique à l’avenir (déjà qu’ils ne viennent pas très souvent…).

Bien entendu, je serai présent, accompagné de quelques collègues 😉

Flashite et ajaxite : deux (nouvelles ?) maladies des sites Web !

Vous connaissez sans doute la divite et la classite, des maladies de nos documents HTML apparues avec l’apogée de la mise en page sans tableaux.

Je vais vous parler aujourd’hui de la flashite et de l’ajaxite.

La flashite, c’est quand on veut absolument faire du Flash alors que ce serait possible (et bien plus efficace à de nombreux points de vue) de tout remplacer par des effets visuels en JavaScript. Dans certains cas, il est évident Flash est LA meilleure solution. Je pense aux sites en 3D (avec Papervision) ou aux sites avec des effets visuels ultra compliqués comme des rotations et des trucs du style. Malheureusement, on pense trop souvent que dès que ça bouge, il faut le faire en Flash, alors que JavaScript permet de grandes choses, rendues encore plus simples à aborder grâce aux frameworks JavaScript (jQuery et mooTools en tête). Un exemple de site ayant la flashite : Coast Design.

L’ajaxite, c’est quand on veut foutre de l’Ajax partout ! Ca arrive aux sites développés par les gens qui viennent de découvrir Ajax et qui veulent donc l’utiliser n’importe où et à toutes les sauces, alors que dans de nombreux cas, ce n’est absolument pas pertinent de travailler de cette manière. On se retrouve donc avec des sites complètement bancals au niveau référencement, accessibilité, navigation, etc. De plus, ils n’apportent généralement pas grand chose en plus au niveau ergonomie que s’ils avaient été construits de façon “classique”. Matthew Miller en parlait déjà en 2006. Je ne suis malheureusement pas satisfait par son exemple Writely (devenu Google Docs depuis). Je trouve l’utilisation d’Ajax à outrance parfaitement justifiée dans une application d’une telle complexité.

Vous avez d’autres exemples à me donner ? (j’en ferai un billet dans les prochains jours)

Les intégrateurs vont-ils se retrouver au chômage ?

La question peut sembler violente mais je me la pose… Avec IE8 qui passe le test Acid2, est-ce que le métier d’intégrateur ne risque t-il pas de disparaître dans quelques années ? En effet, ça risque de devenir si facile de faire une découpe XHTML/CSS que même les designers ou les développeurs pourront le faire, comme à l’ancien temps…

En tout cas, on risque de gagner du temps lors de l’intégration, ce qui signifie qu’on aura des heures pour faire d’autres choses… ou ne rien faire, si on décide de profiter de ce gain de temps pour réduire les effectifs…

Heureusement, il restera JavaScript à l’intégrateur pour s’amuser un peu… même s’il va être super bien supporté par IE8.

IE6, c’était clairement l’ennemi de l’intégrateur Web. Mais que se passe t-il quand l’ennemi disparaît ? Enlever IE6 à l’intégrateur Web, c’est comme si on enlevait Goliath à David, Le Joker à Batman ou encore le FC Barcelone au Real Madrid… Le bon est soulagé que le méchant ne soit plus là mais il est nostalgique du temps où il pouvait se battre, car sa vie avait un sens !

Du coup, je continue mon apprentissage de Flex et ActionScript, car il faut bien se recycler, au cas où…

Le rêve de l’intégrateur…

Je ne sais pas vous, mais moi, quand je vois la conception de certains sites, je ne peux m’empêcher de jalouser les mecs (ou les filles) qui ont eu la chance d’y participer. Ce fut le cas des sites de Gucci, d’Apple ou encore de CNN… Des modèles du genre. Des sites dont chaque intégrateur Web de ce monde rêve la nuit !

Dernièrement, j’ai eu ce sentiment pour deux sites : la nouvelle homepage de la BBC et dans une moindre mesure, le redesign de LinkedIn.

La BBC s’est certainement fortement inspirée du site de CNN, dont on retrouve les mêmes lignes directrices. Cependant, elle est allée plus loin, en proposant une homepage “à la Netvibes“, c’est-à-dire complètement personnalisable ! J’adore ce genre de designs. C’est beau, c’est propre, c’est clair, en un mot, c’est parfait !

A propos de LinkedIn, j’ai toujours trouvé ce site très efficace. Le léger redesign dont il a fait l’objet très récemment l’a encore rendu meilleur !

Je pourrais encore vous en citer quelques uns mais ce serait inutile, vous avez cerné le genre de sites que j’apprécie et que j’aimerais pouvoir réaliser.

Et vous, c’est quoi vos sites de rêve ?

En vrak – 72

* JavaScript MVC, encore un autre framework JavaScript. La particularité de celui-ci est de mettre l’accent sur la séparation des aspects via le design pattern Model-View-Controller (d’où le nom).
* del.ishli.st, un concurrent pour Wantz.it !
* Sitepoint a mis en ligne une référence CSS. HTML et JavaScript vont suivre…
* Clever Age sort CleverSvg, une libraire SVG pour PHP5.
* Comment construire un business respectueux de l’environnement ?
* Yahoo! se lance dans le buzz !
* Outil de génération d’onglets pour vos sites.
* Simplifiez-vous l’utilisation de SWFObject avec ce générateur en ligne.
* Un bon remplaçant pour Additious : mooSocialize !
* Un bouquin intéressant : Rails pour les développeurs PHP.
* A quoi ressemblerait les logos des entreprises connues s’ils s’étaient toutes mises à la mode 2.0 ?
* Les plus belles villes du monde dans des vues à 360°.
* Mike n’est pas le premier à le faire mais sa comparaison entre XHTML 2 et HTML 5 mérite d’être lue.
* Une énième alternative à Lightbox !
* personnalités tournant autour de XML (qui fête ses dix ans cette année).
* Petit truc pour ressusciter ses pixels morts !
* Créer des styles CSS pour le texte via une interface graphique !
* J’ai la plus grande
* Quelques lois immuables en rapport avec le design et le développement Web !
* Recueil de cheat sheets pour PHP.