Omacronides 5.0 : HTML 5 et Json

Après des mois passés à tripatouiller le code (et donc, comme d'habitude, sans écrire grand chose), voilà enfin une nouvelle évolution du site. Outre les habituelles corrections de bugs et évolutions mineures, deux changements majeurs : le pasage au HTML 5 et la gestion de données au format JSON.

Tout ou partie des informations ci-dessous peuvent être obsolètes. Lire Omacronides 6.

Gestion de données au format JSON

Mis à part les documents eux-mêmes (articles, notes, projets), stockés dans des fichiers texte, toutes les autres données du site (tags, catégories, liens, termes de glossaire, etc.) étaient jusqu'à présent décrites dans des fichiers xml et gérées par mon outil de collection ; Celui-ci accepte dorénavant des données au format JSON. Rien de révolutionnaire là-dedans même s'il m'a fallu repenser certaines api pour les rendre indépendantes du format de données que l'on souhaite récupérer. J'en ai aussi profité pour modifier certains objets de configuration du site de la même manière.

Plusieurs raisons à ces changements :

  • Ne pas être indéfinement lié à un seul format de stockage : en fonction de la complexité des données, je choisi un format ou l'autre.
  • N'ayant pas créer d'interface d'administration, la gestion « à la main » des fichiers est un peu plus aisée en JSON qu'en xml.
  • Permettre aux services mis en place sur le site de renvoyer des données au format JSON : c'est souvent bien plus facile à manipuler en javascript que le xml.

Syntaxe wiki : les références

Je gère depuis le début tout une série de raccourcis syntaxiques qui permettent de créer des références aux documents du site à partir de leur identifiant ; j'avais étendu cela à une série de liens utilisés fréquemment. L'objet est devenu une extension à part entière du gestionnaire de syntaxe wiki : RefManager permet d'utiliser une série de collections identifiées par un préfixe afin de construire, selon la demande, un simple lien ou une référence plus complète avec auteur, lieu publication, date, etc.

[prefix.id]()
[texte](prefix.id)
Créer un lien vers le document de l'espace de nom prefix et portant l'identifiant id.
°°ref°° prefix.id
Créer une référence détaillée (sous forme de paragraphe ou de liste de description) du document de l'espace de nom prefix portant l'identifiant id.

Quand on a besoin de créer une référence détaillé sans que celle-ci soit prédéfinie, il suffit de déclarer les champs que l'on souhaite afficher :

°°ref°°
field1  : field1_value
field2  : field2_value
Création d'une référence détaillée sans préfixe.

Passage au HTML 5 / CSS 3

Le second changement majeur concerne le code HTML. J'ai décidé de réécrire les page au format HTML5, (1) parce qu'il est temps de le faire et que tous les navigateurs modernes le permettent et (2) parce que c'est un bon exercice d'initiation, et ce site à toujours été pensé comme un laboratoire. Le code est encore loin d'être finalisé (tout comme les spécifications d'ailleurs) et je n'ai corrigé des bugs que pour laisser la place à ceux engendrés par la conversion :-).

L'utilisation du HTML5 a amené l'évolution du gestionnaire de syntaxe wiki : là où j'utilisais une liste de description pour présenter une image et sa légende, le gestionnaire produit maintenant un élement figure et figcaption.

Références

Titre
Dive into HTML5
Auteurs
  • Mark Pilgrim
Éditeur
diveintohtml5.org
Date
Titre
Notation Objet JavaScript
Éditeur
PHP.net