YACS Présentation de Yacs

Un modèle de données robuste

Le but est de séparer autant que possible les données de leur traitement, et Yacs utilise plusieurs concepts pour cela.

Les liaisons entre tables sont typées avec Yacs, ce qui veut dire qu'il est assez facile de changer les combinaisons d'objets.

À ce jour, les articles sont toujours dans des sections. Dans la table des articles, chaque enregistrement contient l'identifiant de la section, ainsi que son type, comme par exemple dans 'section:123'.

Si demain nous avons besoin de raccrocher des articles à autre chose, par exemple des serveurs ou des fichiers, il suffira de changer l'ancrage en 'server:456' ou 'file:879'. Le code qui gère les articles n'aura presque pas besoin d'être modifié.
Dans un CMS classique, le lien entre objets de la base de données se fait seulement par les identifiants.

En intégrant les types, Yacs permet une souplesse d'évolution extraordinaire, que n'ont pas les autres plate-formes.

Pour les développeurs, lorsqu'on a compris le mécanisme, on peut l'utiliser à son profit sans remettre en cause le fonctionnement de la base de données. Par exemple, on peut rattacher "par code", dans un overlay, un emplacement à une section, et yacs est capable d'afficher les sections dans une carte google...

C'est l'intégration de cette ouverture en standard qui fait que la base est robuste et stable, et rend Yacs réellement ouvert.

Yacs ajoute à ceci des fonctions d'optimisation de la base, comme par exemple la récupération automatique de l'espace inutilisé par MySQL.

Le principe, c'est qu'il n'est pas besoin de connaître MySQL pour gérer sa base de données. À chaque mise à jour, le schéma de la base est modifié automatiquement. Les index sont reconstruits, et les données optimisées. En tâche de fond, l'espace libéré par le moteur est récupéré.

Vous disposez de plus d'un script de sauvegarde/restauration pour des bases d'une taille raisonnable: jusqu'à 12 Mo. Au delà, il vous faudra malgré tout passer à un outil dédié genre mysqldump ou PhpMyAdmin.

En combinant la base robuste et les overlays, Yacs est de fait un outil de développement complètement ouvert et fiable : on peut donc se servir de Yacs comme d'un framework. En s'appuyant sur la richesse des classes de bases, la souplesse du modèle et les possibilités d'extensions (overlays, layouts...) on en vient à ne plus dire "je fais du php" mais "je fais du yacs"...

Bien sûr, cela requière de la programmation PHP, mais la puissance qu'il y a derrière cela pour les intégrateurs, c'est la possibilité de combiner la gestion des données structurées et non-structurées dans la même page web.
Pour les clients, cela signifie qu'ils vont pouvoir intégrer leurs processus (gestion des commandes, facturation) dans un environnement social et moderne (commentaires, étiquettes, etc), ce qui est unique dans le monde des logiciels de gestion de contenu.