Project

General

Profile

Modèles

On utilise Active Record de CodeIgniter pour simplifier l'écriture des requêtes SQL.

J'ai temporairement envisagé de stocker les requêtes (selects) dans des vues MySQL. Cependant il y a plusieurs inconvénients. Elles sont sauvegardés par défaut avec le nom de l'utilisateur qui les crée (qui peut changer d'un déploiement à l'autre). La gestion des pages ne fonctionne pas bien avec PHPmyadmin. Donc pour l'instant la méthode n'est plus utilisée. Cela veut dire également que si l'on veut utiliser des vues MySQL, il faudra créer manuellement les scripts de création à exécuter lors de l'installation.

Le modèle de données

Quand le modèle sera stabilisé il faudra en faire une extraction graphique pour la documentation. A faire également, expliquer les relations les plus importantes.

Pour l'instant il faudra vous contenter d'utiliser phpmyadmin pour étudier le modèle.:(

Les objets complexes

La plupart des tables (planeurs, membres, avion, comptes) contiennent des objets simples. Ces tables supportent la création, la lecture,
la modification et la suppression des enregistrement (modèle CRUD en anglais pour Create, Read, Update and Delete).

Certaines tables en référencent d'autres; par exemple les tables des vols référencent les planeurs et les machines.

Il existe aussi des relations complexes ou la création de certains objets entraine la création d'autres objets. Par exemple la création d'un vol val entrainer la création d'un décompte de remorqué et de deux lignes de facturation. La problématique dans ce cas est d'assurer la cohérence des données.

Certains objets sont généré par un objet parent. Une ligne d'écriture par exemple, ou une ligne de décompte de remorqué peut-être généré par un vol. Pour simplifier, et de pas avoir à prendre en compte les évolutions subtiles que peut entrainer une modification dans un vol, l'édition détruit d'abord tout les objet dépendants pour les recréer ensuite. Un fois le formulaire de modification validé, on détruit les lignes comptables, et les lignes de remorqué associé et l'on re-facture le tout, ce qui régénère les objets dépendants. Sinon, c'est très compliqué de calculer les effets exacts d'une modification.

Notons que cette approche n'est peut-être pas absolument rigoureuse sur le plan comptable ou l'on devrait plutôt générer des lignes d'annulation. On pourra changer par la suite, mais pour l'instant le modèle n'est pas suffisamment stable pour cela.