Technologies pour l'édition et la publication

Oppidoc développe des technologies open source dont certaines sont issues de travaux de recherche menés à l'École Polytechnique Fédérale de Lausanne (EPFL).

Nous proposons une méthode de développement rapide d'applications web basée sur une architecture REST et sur un rendu des page par un pipeline à 3 étages (modèle, vue, épilogue), ainsi que sur l'utilisation extensive de mini-languages dédiés (en XML) pour décrire les facettes d'une application (décodage des requêtes, contrôle d'accès, interface utilisateur, règles de workflow, formulaires, alertes, etc). Les applications sont donc écrites avec un mélange équilibré de données (la configuration) et de code. Elles sont par conséquent faciles à paramétrer et à personnaliser (programme = données + logique).

Cette approche de développement est instrumentée par l'un des tout premiers framework d'application dans le language XQuery baptisé Oppidum, et par une librairie Javascript d'édition de documents et de données appelée AXEL (Adaptative XML Editing Library). Le language XQuery est une recommandation du W3C et sert de language de développement dans les base de données natives XML. Il combine la puissance d'un langage de requête de données, avec la richesse d'un langage de programmation classique.

AXEL

La librairie JavaScript AXEL (lien) ou “Adaptable XML Editing Library” sert à intégrer des fonctionnalités d'édition de documents dans les pages Web.

Elle fonctionne sur la base de gabarits de documents XHTML enrichis par des éléments XTiger XML.

AXEL-FORMS

La librairie JavaScript AXEL-FORMS (lien) sert à intégrer des fonctionnalités d'édition de formulaires dans les pages Web, et des contraintes dynamiques pendant la saisie.

Elle fonctionne sur la base de microformats ajoutés sur les gabarits de documents pour spécifier les contraintes.

Oppidum

Le framework Oppidum (lien) rationalise le développement d'applications serveur utilisant les technologies XML.

Il repose sur une architecture MVC et s'inspire de concepts (routes, pipelines, conventions) mis en vogue par des frameworks populaires tels que Ruby On Rails ou plus confidentiels tels que Orbeon Forms.

eXist-db

Oppidum requiert un interpréteur XQuery, un moteur de transformation XSLT et une couche de persistence des données. Nous utilisons la base de données native XML eXist-db qui est un projet open source mature ayant fait ses preuves.

Supergrid

Notre générateur de formulaire Supergrid est un outil de productivité qui simplifie la réalisation de formulaires. Les formulaires sont décrits dans un langage dédié dont le vocabulaire reprend des éléments de mise en page sur une grille, de définition de types de données, et de contraintes sur la saisie.