Jul/090
Pure IHM
Le système final est prévu comme étant une « application web ».
Je fais la distinction entre « application web » et « site web » : ce dernier étant soumis aux contraintes habituelles des sites internet, à savoir principalement les questions d’accessibilité et d’indexation (référencement, SEO).
Ces questions ne seront pas prises en compte ici, une application web étant une application riche dont le déploiement se déroule à travers Internet. A cette fin, plusieurs technos sont disponibles dont celles d’Adobe avec Flex, Microsoft avec .NET ou Silverlight.
Le challenge est de rester en technologies W3C le plus possible.
Le but est donc de mettre en place les composants qui seront dédiés à l’interface utilisateur.
Jul/090
Build des applications Erlang
Mochiweb crée un squelette applicatif en copiant les sources vers le répertoire destination. Ces sources doivent être compilés pour obtenir un byte code exécuté par le shell Erlang.
Dans le cas d’un fichier simple, la commande erlc
peut être appelée directement. Dans le cadre d’une application plus évoluée (et comme pour tous les autres langages compilés), il est nécessaire d’avoir des processus de build un peu plus complexes.
Pour Mochiweb, et comme vu précédemment, un makefile est fourni. Cependant, l’outil make
est assez peu intuitif à utiliser, et étant un grand utilisateur de Ruby je me dirige naturellement vers rake.
La première étape sera de recréer les commandes de makefile en Rake.
Jul/090
Mochiweb & CouchApp
Les auteurs de CouchDB définissent un ensemble de fonctionnalités afin de contenir l’ensemble des données et processus (logique métier / réponse aux événements utilisateurs) au sein d’un serveur CouchDB.
Cela permet de créer des applications complètes. Le passé de Damien Katz au sein de L’équipe de développement de Lotus n’est pas étranger à cet état de fait.
Le fait de stocker l’ensemble des éléments dans CouchDB permet une réplication automatique à la fois des données et des traitements, ce qui peut être extrêmement utile.
Malgré tout, je reste sur l’utilisation de Mochiweb pour l’ensemble des briques métier :
- CouchApp n’est pas encore une technologie éprouvée,
- Force l’utilisation des API couchDB (hum, problème du « vendor lock in »),
- Ne correspond pas à ce que je désire faire avec ce projet
Jul/092
Installation et démarrage de Mochiweb
Afin de réaliser une application web, il est nécessaire d’obtenir et utiliser un serveur applicatif qui sera capable de fournir les services dynamiques.
Au niveau Erlang, le choix est vite cerné, et ce rôle sera dévolu à l’application Mochiweb.
Jul/090
Programmation défensive
Vu sur les règles de bonnes pratiques de programmation d’Erlang, chapitre 3.13 :
Most of the code in the system should be written with the assumption that the input data to the function in question is correct.
Rhââââ lovely !!!!!
Jul/090
OTP, késako ?
L’application développée devra être écrite le plus possible dans les règles de l’art de la plateforme OTP.
Le problème est de comprendre exactement ce qu’est OTP, la documentation du site officiel étant à ce sujet très peu facile à lire… Les descriptions suivantes correspondent donc uniquement à ma compréhension du sujet.