Version alpha d'Automne 4.1 disponible


Nous en parlons de puis quelques semaines maintenant à travers des articles sur ce Blog : la version 4.1 d'Automne est proche.
Aujourd'hui, nous mettons à disposition une version alpha pour vous permettre de tester les nouvelles fonctionnalités que cette version apporte. 

Petit retour en arrière : Automne 4.0 est sorti fin 2009. L'objectif était de refondre l'interface pour offrir une ergonomie agréable et adaptée à la gestion de grands sites. Cette version a aussi été l'occasion de réécrire le noyau pour s'adapter à PHP5 et pour préparer l'arrivée de grandes fonctionnalités nécessaires à l'évolution du CMS.

Pour résumer, avec Automne 4.0, nous avons revus la carrosserie et nous avons adapté le moteur pour qu'il puisse ensuite pouvoir évoluer avec son temps.

Automne 4.1 marque le début de l'évolution du moteur : nous allons commencer à offrir des fonctionnalités qui rendrons encore plus simple et efficace votre travail de création de sites.

Nous vous avons déjà parlé sur ce blog de certaines fonctionnalités à venir, notamment le codename des pages . Vous pourrez ainsi réutiliser plus facilement vos modèles de pages et de rangées à travers vos sites (par exemple dans le cas de sites multi-langues). Cela nous permettra aussi à terme de pouvoir proposer des thèmes en téléchargement. Nous avons aussi abordé le dimensionnement dynamique des images .

Aujourd'hui, je vais vous parler de deux autres fonctionnalités qui sont disponibles dans cette version Alpha :

  1. L'harmonisation des parseurs d'Automne.
  2. La généralisation des variables de travail à l'ensemble des modules.

Dit comme cela, cela n’est pas forcément très parlant. Je vais expliquer tout ça plus en détail.

Le parsing

Automne possède deux parseurs XML. Ces parseurs permettent de lire les modèles XML de pages et de rangées et d'isoler les tags XML s’y trouvant. Ils peuvent ainsi permettre le traitement de ces tags pour les remplacer par les valeurs ou fonctionnalités adéquates.
Par exemple, les tags atm-title des modèles seront remplacés par le nom de la page en cours de traitement.

Pourquoi deux parseurs ? Tout simplement parce que chacun d'eux produit un contenu d'une nature différente. L'un permet de produire du XHTML (le parseur employé pour les modèles de pages ainsi que les rangées non-Polymod) alors que l'autre permet de produire du PHP (le parseur employé pour les rangées Polymod). Je ne vais pas rentrer dans les détails techniques qui nécessitent ce fonctionnement, mais plutôt sur les conséquences : un tag prévu pour être traité par un parseur ne pouvait pas être traité par l'autre. Par exemple : vous ne pouviez pas mettre un tag atm-if prévu pour les rangées Polymod dans le modèle d'une page : il ne serait pas compris par le parseur.

C'est sur ce point que nous avons travaillé : permettre aux deux parseurs de pouvoir communiquer entre eux. Ils peuvent ainsi "s'échanger" les tags qu'ils ne comprennent pas pour que l'autre parseur puisse les traiter.

Cela ouvre d’immenses possibilités notamment au niveau des modèles de pages dans lesquels vous pouvez maintenant mettre des tags atm-if et ainsi réaliser des affichages conditionnels alors que vous ne pouviez le faire que dans les rangées Polymod auparavant.

Pour pouvoir fonctionner de cette manière, les classes responsables du traitement des tags doivent être légèrement modifiées, c'est pourquoi, pour commencer nous nous sommes concentré sur les tags qui nous semblaient les plus utiles quelque soit le contexte. Dans cette version, vous pouvez donc employer sans distinction, dans les modèles de pages ou dans n’importe quelle rangée les tags suivants : atm-if, atm-else, atm-start-tag, atm-end-tag, atm-setvar, atm-title, atm-page, atm-website, atm-edit, atm-noedit, atm-admin, atm-noadmin.

Dans les futures versions, d'autres tags viendront s'ajouter à cette liste.

Les variables de travail

Avec la mise à disposition des tags atm-if dans les modèles survient un problème : les variables de type {var:type:nom} qui permettent notamment de créer les conditions dans les tags atm-if ne fonctionnaient pas non plus en dehors des rangées polymod.

Aujourd'hui cette différence - liée elle aussi au fonctionnement des deux parseurs - n'existe plus : vous pouvez maintenant employer ces variables quelque soit l'endroit ou vous vous trouvez : dans les modèles de pages et de rangées.
Nous en avons aussi profité pour ajouter deux fonctions :

  • Permettre d'imbriquer des variables dans des variables pour obtenir par exemple des syntaxes de cette forme : {page:{request:int:page}:url}
  • Permettre aux modules de définir leurs propres variables spécifiques.

Nous avons choisi d'illustrer cette dernière fonctionnalité en créant un module de gestion de traduction qui sera particulièrement utile à tout ceux qui ont besoin de pouvoir gérer facilement des sites multi-langues. Pour cela, il fourni une variable de la forme {i18n:langue:libellé} permettant dans les modèles de pages et dans les modèles de rangée de disposer d'une syntaxe souple pour gérer les chaînes de caractères à traduire. Ce module fera l'objet d'un billet de blog à part entière.

Et les modules d'ailleurs ? Ceux qui ont suivi la boîte à idée le savent : il sera désormais possible d’importer et d'exporter les modules Polymod que vous créez !
Là aussi cela ouvrir des possibilités très importantes. Par exemple pour ceux qui développent en local et veulent ensuite exporter leurs modules vers leur serveur de production. Cela va aussi nous permettre de vous fournir de nombreux modules en téléchargement sur le site.

Par ailleurs, dans cette version, vous trouverez aussi les nouvelles fonctions suivantes :

  • L'optimisation des recherches Polymod (pour éviter les problèmes de mémoire lors de recherches comportant un grand nombre de résultats).
  • La simplification de la structure des répertoires d'Automne.
  • La mise à jour d'ExtJS en version 3.3.1.
  • L'ajout d’un champ Coordonnées Google au Polymod.
  • La gestion des langues directement depuis l'interface d'Automne.
  • La possibilité d’installer Automne dans un sous répertoire de votre serveur.

On le voit donc, cette version 4.1 amène de nombreuses fonctions dont l'usage va révolutionner les possibilités offertes par Automne. Et ce n'est qu'un début !

Ces fonctionnalités demandent de nombreux tests pour être qualifiées de stable et c'est pour cela qu'aujourd'hui nous mettons à votre disposition cette version alpha : pour avoir vos retours, pour connaître vos impressions et idées à ce sujet mais aussi pour recueillir les problèmes que vous rencontrez.

N'hésitez donc pas à télécharger cette version 4.1 alpha 3 et à la tester sous toutes les coutures.

Comme d'habitude, nous restons à votre écoute, dans la boîte à idée, dans le bugtracker et bien sur, sur le forum.

Bons tests !