Pour ce qui est de l’architecture complete de la chose je pense que je ferais un article un de ces 4 un peu plus complet ou je decris comment la chose est implementee. Sinon sur les choix technologiques, pourquoi C#? Parceque aujourd’hui, pour faire du web il y a pas mieux que .Net et que C# est un des langages les plus adapte pour utiliser la plateforme .Net. A ce niveau la (en .net) le choix du langage est une question de gout et personellement j’aime pas trop la syntaxe du VB.
J’aurais pas pu le faire en .Net j’aurais fais du J2EE (Java/JSP/Servlets). Et j’aurais pas pu faire du J2EE non plus je l’aurais fait en PHP… J’ai une bonne experience en PHP et une tres bonne experience en J2EE. Pour donner un exemple parmi d’autres j’ai implemente un site (3dEurope a l’epoque ou c’etait encore ouvert) en PHP, puis je l’ai refait en Java en 2000, puis je l’ai refait en .Net/C# en 2002. J’ai refait la version .Net en meme pas le 5eme du temps et meme pas le quart du code de ce dont j’avais eu besoin en Java. Les perfs aussi sont pas tres comparables. L’API de .Net est un modele du genre, et est beaucoup plus homogene que celle de Java, peut etre parceque Java est en version 4 et .Net en version 1… il y a pas de legacy a respecter. Toujours est il que le resultat est la…
Que mon employeur fasse du .Net et du C# a pas grand chose a voir avec mon choix, si ce n’est que mon changement de boulot tombait au moment ou je commencais a regareder .Net et C#. Au moment ou j’ai commence a implementer cafzone j’etais assez nettement meilleur en J2EE qu’en .Net et pourtant j’ai prefere tout faire en .Net (meme si ca m’a coute une re architecture de quelque composants qui etaient programmes dans “l’esprit J2EE” et pas dans le bon “esprit .net”). Au final je regrette rien, j’ai rarement vu une plateforme aussi bien pensee pour faire ce qu’on veut. J’ai quelque reproches a faire mais a chaque choix qu’on fait il y a des concessions associees et pour une technologie de premiere generation (oficiellement) le resultat est impressionant.
Evidement ca peut sembler etre de la propagande pro .Net ou pro MS et moi meme je fais pareil et je me mefie a mort des que quelq’un braille trop fort “c’est genial!!!”. Mais je met au defi n’importe qui d’implementer un truc similaire a cafzone en perf et fonctionalites en aussi peu de code et aussi rapidement sans utiliser .Net. Franchement si vous y croyez pas ou si vous etes un fana Java ou PHP je veux pas rentrer dans une guerre de chapelle parceque pour moi y a pas photo et n’importe qui qui a vraiment essayer peut pas de bonne foi dire le contraire. A ce niveau la c’est meme plus une question de preference, parceque les gouts et les couleurs blablabla. A la limite, je reconnais volontiers qu’avec Java on peut debattre sur certaines choses, mais pas dans le contexte d’un site comme cafzone…
Pour ce qui est du HTML c’est du HTML 4, j’utilise peu XML directement (a part pour l’import export de trucs) puisque XML c’est bien mais au sein d’une meme application ca a pas franchement de sens a moins de partir dans le delire XSL/XSLT. Pour cafzone c’etait franchement pas la peine.
XML est utilise pour pas mal de choses en .Net, tout les fichiers de configs et en gros tout les echanges avec l’exterieur. C’est pour ca que les objets utilises pour tout les echanges de donnees etant des objets natifs .Net et XML etant present/accessible partout dans ces objets je peux en 1 ou 2 lignes de code serialiser et exposer la tres grande majorite de mes objets en XML.
Faut se mefier des “mot clefs” genre XML, c’est pas parcequ’on en met partout partout que c’est mieux. XML c’est genial et ca a plein d’application mais il faut savoir choisir intelligement ou on en met, pas juste pour faire classe “j’ai du XML partout”. Par exemple il vaut souvent mieux utiliser remoting en Java ou en .Net qu’un webservice en XML si on controle les deux cotes de la communication et qu’on veut pas exposer cette interface au public. Les perfs auront rien a voir. Avec l’evolution des processeur et des technologies il vaudra peut etre un jour le coup d’utiliser SOAP partout comme Don Box le predit (un des inventeur de soap et d’xml qui bosse sur .Net pour ceux qui connaissent pas). Mais meme lui, qui evidement comprend ce qu’amene XML, sait que il faut pas en mettre partout juste pour le principe. C’est un de mes dadas perso ca Des qu’une nouvelle techno geniale sort, plein de gens veulent en mettre PARTOUT et surtout aux endroits ou ca apporte aucun progres: c’est debile! Heureusement en arrivant a maturite (ce qu’XML commence a faire depuis 1 ou 2 ans) les gens se calment et realisent les apports de la techno.
Voila voila, sinon pour l’archi globale du truc, je pense que il faut d’abord se familiariser avec l’archi des application web en .Net qui peut se comprendre sans que j’ai a ecrire des pages Deja une grosse partie de ce qui fait cafzone tel qu’il est aujourd’hui reside dans ca, et si vous voulez commencer a regarder ca n’en sera que plus facile pour moi et pour vous d’expliquer/comprendre ce que j’ai construit en plus par dessus
Ce message a été édité par GloP le 26/04/2003