vendredi, juin 17, 2005

TODO: FAQ de f.c.a.emacs

Tiens, mettre sur pieds une FAQ pour f.c.a.emacs. (installation, différentes distro, obtenir un backtrace, demander de l'aide, etc.)

jeudi, juin 16, 2005

TODO: nXML et liens

Développer le support pour nXML des "liens". Par exemple des a/@href pour XHTML, etc. Il faut bien sûr tenir compte de XLink. Lennart Borgman a proposé un truc ce soir sur la liste nXML. Mais je pense que cela est trop orienté XHTML et même juste a/@href (à première vue).

Ce qu'il faut, c'est un moyen générique d'identifier les liens en fonction du type de document utilisé. En fait, pour ce qui est du folding également. Il serait intéressant pour nXML de disposer d'infos parallèles aux schémas RNG pour ce genre de choses (p.e. pour XHTML : a/@href représente un lien, extractible par ..., etc.).

Au moins, permettre de spécifier un chemin XPath (au moins une succession d'éléments et attributs) qui contiennent des URIs.

samedi, juin 11, 2005

PIM

TODO: Cette entrée n'est pas finie. Rédiger. Et reprendre mes notes manuscrites.

Une page intéressante est la homepage de Bill Clementson. Elle regroupe un ensemble d'outil, comme des moteurs de recherche, des annuaires, des dictionnaires, des recherches de livres ou de films, etc.

Des pages comme « Mon Yahoo! » ou « My SF.net » peuvent également être intéressantes.

Je pourrais également inclure des bibliographies. Avec liens vers Amazon (comme sur la page d'accueil de Plone. Ou comme les « z'idées cado » d'Amazon.

Content Management System

En fait, je m'oriente de plus en plus vers quelque chose comme un CMS (Content Management System) -- ou ECM (Enterprise Content Management). Les exemples les plus connus sont Plone et CPS Project (Collaborative Portal Server). EmacsFR utilise d'ailleurs CPS.

Serveur de pages web statiques vs/ serveur applicatif

Il s'agirait donc bien d'une application réelle, utilisant UCW. Mais le serveur Web pourrait servir lui-même certaines pages, plus statiques (en fait, la plupart des requêtes devraient être de telles pages).

UCW servirait alors pour modifier les pages. Lors d'une modification, il modifie les pages statiques. Ou lors de requêtes de recherche plus spécifique, en lecture seule alors.

Personal Information Manager

En fait, c'est même vers un PIM complet que je m'oriente. Agenda, bookmarks, carnet d'adresses, blog, etc. Le tout interconnecté. Et sous forme web, donc disponible de partout. En un unique endroit.

Bibliothèques Common Lisp

Le but est alors de fournir une série de bibliothèques Common Lisp de gestion de tels éléments (un peu la partie modèle d'une architecture MVC). Ces bibliothèques seraient utilisables indépendamment, dans des applications standalone.

Il y aurait alors au-dessus le site proprement dit (la partie vue/controleur), faisant le pont vers UCW.

...

Un exemple de DotClear se trouve ici.

DotClear
screenshots
themes
Moon over Moscow
Newspaper 1.0
Triptik, colonnes fluides

Exponent (Exponent Content Management System) semble avoir une architecture modulaire intéressante. Voir la liste des modules disponibles : article manager, bulletin board, faq, image gallery, listing manager, page displayer et slideshow.

Même chose pour XOOPS, qui lui propose plus d'une centaine de modules, et semble bien plus complet.

Tiré d'une introduction à XOOPS :

XOOPS is a powerful, flexible and easy to use Content Management System (CMS) based on the scripting language PHP. When installed on a web server with MySQL, it allows administrators to manage dynamic websites, build online communities, handle users, modify at will a site's layout, and feed content through a simple interface. XOOPS handles 'the hard stuff' leaving you free to focus on the content of your website.

XOOPS stands for: eXtensible Object Oriented Portal System.

[...]

Chapter 3. Summary of Features

3.1. Easy Installation
3.2. Database-driven
3.3. Modular, Object-Oriented Design
3.4. Layout and Theme Management System
3.5. Smarty Template Engine
3.6. Group-based Permission and Access
3.7. Great Search Function
3.8. User Management
3.9. Multi-byte Language Support
3.10. Built in Image Manager
3.11. Friendly, Supportive Community
3.12. Organized Development Process

Chapter 4. Official Modules

4.1. News
4.2. NewBB
4.3. Polls
4.4. Web Links
4.5. Downloads
4.6. Headlines
4.7. FAQ
4.8. Partners
4.9. Members
4.10. Contact Us


How do I decide what is the best CMS for me? - My Dream CMS! - OSCOM - The international association for Open Source Content Management

Conclusion (et où tout commence)

Bon, tout ce monde m'est encore plutôt inconnu. Voici les deux premières choses par où commencer, en parallèle :

* dresser un inventaire des solutions existantes et intéressantes (CMS et PIMs), et en dégager les concepts majeurs, et fonctionalités intéressantes (ce qui aboutira en la rédaction, enfin, de cette entrée ; en fait de deux entrées : CMS & PIM, et conception de mon PIM Web ) ;

* programmer un système simple de gestion de bookmarks avec UCW (commcer éventuellement par le Wiki qu'ils donnent en exemple) pour ma familiariser avec la bête (et voir les possibilités réelles).

Je pense que je vais m'orienter pour une architecture style MVC, de modules (+/-) indépendants (admin, bookmarks, agenda, blog, ...). Une idée intéressante est celle de My Yahoo!, où l'on se crée une page en assemblant des modules (ce qui est assemblé sont des VUES spéciales, résumées, des services).

Pour le côté Web, la couche VUE se sépare en deux. La génération XHTML, qui est plus une structuration logique de la vue, et CSS, qui spécialise effectivement l'apparence.

vendredi, juin 03, 2005

Common Lisp Web Programming

Je me suis un peu intéressé à la programmation d'un site web en Common Lisp. Voici les infos que j'ai pu trouver. Il y a d'un côté les sytèmes de publication et autres serveurs web supportant Common Lisp, et de l'autre côté les hébergeurs supportant Common Lisp.

TODO: Cfr. CL Web Server Options, et intégrer ces infos ici.

Outils

Il y a d'abord eu récemment un fil intéressant sur comp.lang.lisp, « open source e-commerce ». C'est à cette occasion que j'ai découvert UnCommon Web (a.k.a. UCW), grâce à Pascal Bourguignon. Dans un autre fil intéressant, « Lisp and Web Programming », il en dit : « If you're serrious about web programming, consider UCW. UnCommon Web is a Common Lisp web application development framework. »

C'est également à l'occasion de ce premier fil que j'ai entendu parler de bknr. Je ne suis pas certain de bien coprendre la place de ce dernier. Sa description sur cliki en dit : « bknr is an object datastore, a template system, a web framework and support for images, blogs, billboards, etc. »

Côté serveurs, j'ai entendu parler de Araneida, un serveur en Common Lisp, et mod_lisp, une extension Apache pour le support de Common Lisp. Mais je n'ai pas regardé plus loin.

À noter également la page de cliki dédiée aux « web clients, servers, application servers, browsers, etc. », où l'on retrouve entre autres toutes ces références : c'est ici.

Hébergement

Pour ce qui est de l'hébergement, il y a eu également un fil à ce sujet : « Lisp hosting?. Voici les infos que j'en ai retirées. Mais ne t'y précipites pas, j'ai gardé le meilleur pour la fin.

J'y ai d'abord découvert tech.coop. Le prix de base d'un hébergement est de 7.50 CAD (dollar canadien), mais cela monte très vite dès que l'on ajoute des options ou de l'espace disque. Pour le support Lisp, on ne s'en sort pas en dessous de 20 ou 25 CAD (une quainzaine d'Euros, au 2005-06-03).

À ce prix là, un hôte virtuel peut sembler une solution bien plus souple. On dispose d'un serveur dédié (ou plutôt d'un Linux tournant en UML, simmulant un hôte dédiée, avec accès root, en fait partagé entre plsuieurs). On peut trouver, par exemple sur Bytemark, un tel serveur pour 15 GBP (livre sterling, 22,27 Euros au 2005-06-03).

Et c'est enfin dans ce fil que j'ai découvert la page Lisp-friendly Web Hosting, listant de tels hébergeurs. Le parcours de la liste n'est pas des plus palpitants, et puis, le dernier élément : RootRoute. Ils offrent à la fois de l'hébergement et des serveurs dédiés. Ces derniers sont hors de prix, mais l'hébergement est tout à fait abordable, et comporte quasiment toutes les fonctionalités d'un serveur dédié (y compris la permission d'installer ses propres softs).

Ces offres d'hébergement s'étallent de 10 à 30 USD (dollar US), par tranches de 5 USD, donc de 8 à 25 Euros au 2005-06-03. Bien sûr, l'offre à 10 USD n'offre par exemple que 200 Mo. d'espace disque, et quelques fonctionalités en moins. Mais celle à 15 USD offre déjà 1 Go. Et il y a déjà une liste réellement impressionante de fonctionalités communes. En plus de l'évolutivité liée aux différents services de base, il existe en plus une série d'options activables indépendemment.

En conslusion, concernant les hébergeurs, je pense que RootRoute fournit une solution extrêmement abordable, tout en ayant une série impressionnante de fonctionalités et étant évolutive.

C'est donc à cette occasion que j'ai découvert *hyper-cliki*, un wiki Lisp hébergé par tech.coop. Il contient à ce sujet deux entrées très intéresantes : Web Programming et Web/Continuation.