Utilisateur   Mot de passe  
Informaticien.be - Derniers blogs actifs - Liste des blogs
zion
Ma vie, mon royaume, mon oeuvre :o
Catégories
16/10/2013 @ 10:39:44: [Freedelity]: Episode 6 - Kelare
Kelare? Un gros mot dans le titre? Mais qu'est-ce donc que ce truc? Après les quelques premiers articles à vision plus entrepreneuriale, j'avais envie de parler une première fois de technique avec vous. Rassurez-vous, il me reste encore plein de sujets à aborder par la suite qui seront de nouveau basés sur nos petites expériences mais pas celui-ci. Après tout, mon profil est historiquement technique... D'ailleurs, c'est certainement une des particularités de la société d'avoir une direction composée de techniciens et non de commerciaux purs. Bref, allons-y, je vais essayer d'être pédagogue.

Lorsque je terminais mon cursus, je suis passé dans les mains d'une petite boîte de ventes aux enchères sur la toile alors que nous étions dans la fin des folles années du web. Quelques mois au sein de l'équipe pour mon stage de fin d'études, et ma conclusion personnelle était sans appel: Il y a plein de choses à faire dans ce domaine, et toutes ces entreprises ont une des besoins similaires, au moins en partie : gestion de pages, d'utilisateurs et quelques outils permettant les interactions avec les visiteurs. Cette base commune, bien que très similaire d'un projet à l'autre, est souvent réécrite, ce qui dans mon esprit torturé... euh, dans mon esprit orienté objet pardon... est une énorme perte de temps et de moyens.

Fin 2001 donc, avec ma petite expérience, je commence à dessiner mon schéma de base de données (les données de base). Je le réalise en PHP pour une première version, toujours sans réel projet derrière. Première itération, deuxième itération, les problèmes se font ressentir dans certaines abstractions, des limites que l'inexpérience nous fait découvrir quand on est déjà loin dans la base du projet. On réécrit, on recommence, encore et encore, pour finalement, quelques années plus tard, arriver à une première base en PHP qui commence à ressembler à quelque chose. Et pour le mettre en musique je réalise une première interaction sur cette base: un forum de discussion. A ce stade, le projet reste encore anonyme, très confidentiel, ni stable ni très résistant à la charge, mais cela je ne le découvrirai que plus tard.

Vous vous demandez peut-être comment j'ai survécu économiquement durant ces années? Excellente question! J'étais jeune, célibataire endurci, sans voiture ni sans réelle envie de sortir de mon espace de travail: ma chambre chez mes parents. Indépendant depuis des années, je réalisais de temps à autre quelques petits sites pour des clients sur lesquels je pouvais faire mes expérimentations de scripts. Mon salaire de l'époque ne dépassait que rarement les 300 à 500 euros par mois ... quand je me l'octroyais !. C'est donc mes parents, que je dois encore remercier, qui m'ont permis de réaliser mes rêves de l'époque sans devoir dépendre d'un employeur le temps de faire mes armes.

Je me souviendrai d'ailleurs à l'époque encore de quelques discussions avec mon entourage, compréhensif mais parfois dubitatif de ce que je faisais dans cette chambre, enfermé jour et nuit (surtout la nuit en fait). A tel point qu'un jour ma chère soeur m'avait d'ailleurs demandé, on ne peut plus sérieusement: "Mais quand est-ce que tu trouveras un vrai travail ?" Il était difficile pour elle, comme pour d'autres, de comprendre ce que je cherchais à réaliser tout comme mon refus systématique d'accepter tout emploi ou projet qui me prendrait plus que quelques jours par semaine.

Kelare donc?

Après plusieurs petits projets personnels (des logiciels Windows) avec lesquels j'ai eu plus ou moins de succès, l'envie de me remettre à ce premier amour du web et de réaliser un squelette stable et performant me taquinait l'esprit. Aux environs de 2005, après quelques années, je me suis rendu à l'évidence que le choix technologique des scripts (PHP) pour réaliser un site performant, orienté objet et sécurisé, ce n'était pas du tout la bonne option. Impossible de pouvoir profiter à l'époque d'outils complexes comme des interfaces, une gestion précise de la mémoire ou encore des données persistantes et surtout vivantes entre deux pages. Je me suis donc tourné vers ce que tout le monde trouvait hasbeen à l'époque pour réaliser un site : du code compilé (pour les non-initiés, c'est donc un texte qui est, une fois pour toutes, traduit en code machine et qui ne permet que "peu" de souplesse).

Il ne me manquait plus qu'un nom pour ce projet. Habitué à reprendre des noms en latin pour faire passer un message, j'ai utilisé un mot signifiant « toile » ou quelque chose comme cela et l'ai transformé en Kelare. J'avoue avoir un peu oublié les détails depuis mais s'il y a un latiniste dans la salle, qu'il n'hésite pas à nous apporter ses lumières.



Kelare pour que faire?

Créer une plateforme web, c'est une chose, mais sans but cela ne sert pas à grand-chose. J'ai profité alors d'une communauté web pour tester mes premières itérations et créer un forum de discussion qui se baserait sur cette architecture: Informaticien.be était né ! Le fait de disposer de très peu de moyens pour réaliser ce site, et surtout pour l'héberger, m'a obligé à redoubler d'ingéniosité pour réussir à faire tenir ce forum qui prenait de l'ampleur sur un serveur pourtant ultra peu performant. Quelques plantages, dont la fameuse erreur 500, et de nombreuses demandes de fonctionnalités, mais Kelare est finalement né, et j'ai commencé à y rajouter une série de modules, chacun compilé séparément, en me basant sur les fonctionnalités de base offertes par le noyau de Kelare.

Par modules, je fais référence à un forum de discussion, un moteur dynamique de mise en page, la gestion d'utilisateurs, des notifications email/sms, la génération d'images, un module d'eCommerce, etc. De nombreux modules ont fait leur apparition et chacun d'entre eux a finalement été une occasion pour faire naître une expérimentation de site avec plus ou moins de succès suivant les essais. Une série d'entre eux existe toujours, ceux qui ont survécu pour un but précis comme Informaticien.be qui dispose d'une communauté dynamique (et de bons copains avec le temps) ou comme des outils d'eCommerce variés.

Kelare, Freedelity, mais encore?

Quand, il y a 4 ans j'ai commencé à écrire les premières lignes de Freedelity, je ne pouvais pas le réaliser sans me dire qu'ici aussi, j'avais besoin d'une majorité de fonctions similaires à tout autre site, et d'un module spécifique pour gérer toutes les fonctionnalités liées à cette activité. Grâce aux années d'expérimentations et d'affinements de la base, Freedelity dispose d'une large avance en termes de performances et de souplesse par rapport à ce que l'on aurait pu écrire "from scratch" sur la même durée.

Si vous vous rendez sur le site, sachez donc que quasi tout ce à quoi vous accédez repose sur un code compilé, une grosse partie de données en mémoire et de multiples processus qui réalisent des opérations en temps réel sur ces données grâce à une persistance de la plateforme.

Un conseil pour une autre startup?

Si c'était à refaire, je repartirais sans aucun doute sur un code complètement géré en interne. Certains apprécient de se baser sur des outils libres qui ont leurs avantages (ne pas avoir à investir ce temps pour la création de la première page) mais qui apportent aussi leur lot d'inconvénients, de par leur propre fonctionnement. En dehors de la question de la sécurité qui mériterait presque un débat à elle toute seule, le manque de performance lors d'une montée en charge de visiteurs sur un site m'ont toujours démontré jusqu'ici que l'investissement pour un code de qualité au démarrage se récupère toujours par la suite dans la maintenance et dans le matériel qu'il vous faudra pour pouvoir supporter les visiteurs en cas de succès.

Mais ne foncez peut-être pas tout de suite dans du code propriétaire pour autant. Pour un prototype ou une première version, un outil libre peut être une bonne idée pour limiter les investissements.

Sébastien
Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?