Par où commencer?

11 06 2008

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.

Me voilà donc perdu, au milieu de nulle part, avec des idées plein la tête, de la motivation à revendre, mais tout de même perdu. Mon premier choix fût assez simple. Windows ou Linux, IIS ou Apache, .NET ou PHP? La réponse était simple. La puissance de .NET serait la bienvenue dans un tel projet. Mais deux inconvénients majeurs m’empêchent de le choisir. Le premier est que toutes mes expériences en .NET avaient pour objectif de créer des applications desktop, du software client, bref, hors du web. Le second est l’argent. Ce projet est à fonds perdus. Je sais pertinemment que les chances que ce projet me rapporte de l’argent sont aussi minces que celles de gagner à la loterie.
Or, travailler sous Windows voudrait dire l’achat d’un OS Windows serveur, l’achat de matériel bien plus puissant que celui dont je dispose actuellement au niveau hardware, et aussi, la plupart de ce que l’on peut trouver comme composants .NET est commerciale. Sous Linux/PHP, en comptant pas mal sur la communauté Open Source, je pense pouvoir trouver mon bonheur, gratuitement.

Et voici le deuxième choix qui se pose à moi, sous diverses formes. Si je dois bosser en Ajax, autant prendre un Framework. Mais lequel? Dojo? jQuery? prototype + script.aculo.us? Voilà déjà un point plutôt difficile à déterminer. Et puis… JSON ou XML? Ensuite viennent les systèmes de login. Dois-je travailler avec un système à ma sauce? Ou à partir d’OpenID? Ou un mélange des deux?

En chemin, j’ai fait quelques recherches. Une des fonctionnalités classique d’un site social est l’importation du carnet d’adresses d’un nouveau membre afin qu’il puisse inviter ses amis à rejoindre le site. J’ai donc cherché des scripts qui permettent cela de façon automatique… Puis je suis tombé sur un article de Jeff Atwood qui traite de la façon de faire de ce style de scripts. En l’essence, ils demandent le nom d’utilisateur et le mot de passe donnant accès au compte e-mail de la victime du visiteur afin de se connecter à sa place, et pécher le carnet d’adresses. Je n’approuve pas la méthode, tout comme Jeff. Et j’ai trouvé dans les commentaires de cet article des liens vers différentes API permettant d’obtenir le même résultat sans avoir besoin du mot de passe. J’ai donc commencé à tester la chose avec mon propre compte GMail. Sans succès. Après avoir suivi les instructions, créé une clé de cryptage, trouvé un script permettant d’accéder à ce carnet d’adresses, modifié celui-ci, je me retrouve face à une page blanche. En ajoutant du code permettant de voir un peu plus d’infos sur ce qui se passe, je vois que l’erreur provient d’une clé d’authentification “non valide”. Mais rien de plus. J’ai recommencé encore et encore, mais rien n’y fait. Ca bugge là où ça ne devrait pas bugger. Et même si j’arrivais à faire fonctionner ce script, cela ne fonctionnerait que pour les personnes ayant un compte Google. Pas de Hotmail, pas de Yahoo! Mail.

Tout cela pour dire que le web a des tonnes d’éléments unifiants, standardisés. Mais il y a encore pas mal de choses qui ont besoin d’être simplifiées.

Tags: , ,

Actions

Informations

Laisser un commentaire

Vous pouvez utiliser ces balises html : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

retaggr