Dans mon projet “100choses”, je travaille actuellement à rendre le site aussi accessible que possible. Grâce à l’API Google AJAX Language, je le traduis dans pas mal de langues. Je passe par cURL pour le faire côté serveur plutôt que côté client. La raison de cela est que — c’est de notoriété — les traductions automatiques sont parfois hasardeuses. Les traductions réalisées par Google sont ainsi ajoutées dans une base de données qui sera par la suite validée et le cas échéant corrigée par des traducteurs volontaires.
Mais là, je suis face à un petit problème qui peut sembler simple à résoudre, mais qui me pose un petit cas de conscience. En effet, rares sont les gens qui règlent correctement les préférences linguistiques de leur navigateur… De ce fait, je suis dans l’obligation théorique d’ajouter, bien en vue, un petit module permettant aux gens de choisir dans quelle langue ils veulent voir le site. Mais la question est de savoir comment représenter ce module. Beaucoup de sites utilisent une petite icône du pays généralement associé à la langue en question. Le drapeau français pour le français, le drapeau britanique ou américain pour l’anglais, etc. Ce qui m’ennuie, c’est que par exemple, la Belgique parle français, néérlandais et allemand.
Pour moi, utiliser un drapeau n’est pas une bonne idée.
Reste alors la solution simpliste: un combo-box (en langage HTML, un <select>) indiquant toutes les langues disponibles. Pas très élégant, mais à défaut de mieux…
Parfois, Linux, c’est trop facile… Dans mes pérégrinations concernant la conception d’un site web, j’ai découvert les UUID. Disons que comme tout le monde, j’en avais déjà vu, sans savoir que ça avait un nom… Grossièrement, UUID signifie Universally Unique IDentity, donc la génération de chaînes de caractères qui sont virtuellement uniques, car pour créer toutes les possibilités qu’il existe avec les critères de ces chaînes, il faudrait des dizaines d’années aux serveurs de Google pour les générer toutes… Et vous n’avez qu’une très très TRÈS faible idée de la puissance de calcul des serveurs de Google1.
Bref, pour créer des répertoires uniques dans mon arborescence de site web, je lance la commande suivante:
Un simple petit exemple. YouTube, qui appartient à Google, possède une fonction permettant de télécharger n’importe quel vidéo au format PSP/IPod. Et bien la conversion des vidéos se fait en live sur le serveur lorsque vous le demandez. Leurs serveurs sont capables de convertir n’importe quelle vidéo de YouTube en MP4 en quelques secondes, ce qui prendrait plusieurs minutes sur n’importe quel PC normal [↩]
Comme je l’ai dit il y a quelques jours, je repèche une de mes vieilles idées de site pour la concrétiser en un site social, vu que c’est la mode.
En commençant ce projet, j’avais pas mal d’idées en tête. Des prérequis, aussi. Et quelques contraintes. Le concept de base utilisera pas mal d’Ajax. Mais en donnant une alternative non-ajax pour ne pas rejeter les gens qui bloquent JavaScript, ou les moteurs de recherche. Car les moteurs de recherche sont aussi l’un des objectifs de ce projet.
Bref. Il me faut des outils de base. Simplement parce qu’il ne sert à rien de réinventer la roue. Parce que le web évolue beaucoup plus vite que ce que ne peut suivre un seul programmeur. Et parce que je suis seul à élaborer ce projet. J’ai demandé son soutien à un premier ami, qui m’a répondu “à quoi ça sert?” et qui n’adhère pas à ce concept. J’ai demandé son soutien à un collègue de travail qui clamait avoir les mêmes connaissances que moi, mais je me suis apperçu que ses connaissances ne sont pas vraiment dans les mêmes domaines que les miens. J’ai ensuite demandé son aide à un bloggueur avec qui je m’entend pas mal, issu d’une université informatique, et qui partage mon goût du deux-point-zéro, mais il entre dans la vie active avec un élan si fort qu’il lui sera impossible d’accorder le temps que ce projet requiert. Lire la suite »