🏗️Architecture

🤔 Fiche ou suivi

Privilégier les fiches :

  • Pour la consultation de données

  • Pour les modifications simples, non liées à un processus ou à un traitement automatisé des données

  • Pour avoir une navigation libre entre plusieurs pages

Exemple :

  • Une fiche pour ajouter les notes d'un élève

  • Une fiche montrant les informations d'une entreprise avec une page sur le personnel et une page sur les statistiques

Privilégier les suivis :

  • Pour la gestion des champs obligatoires et limiter les possibilités de modifier des données quand elles n'ont pas à être modifiées

  • Pour réaliser des actions automatiquement ou au cours du parcours

  • Pour avoir une navigation structurée, étape par étape

Exemple :

  • Un formulaire pour une demande (champs obligatoires, obliger le client à remplir au fur et à mesure sans sauter d'étapes)

  • Programmer un entretien avec un envoi de mail automatique et récupérer l'intervieweur selon l'utilisateur connecté

🗑️ Suppression

Pour vos enregistrement classique

Il est recommandé de toujours anticiper le choix entre la suppression et l’archivage des données. Dans de nombreux cas, l’archivage peut s’avérer plus pertinent car il permet de préserver un historique et de faciliter la restauration des données si besoin.

Pour vos éléments LIST

Il est recommandé de ne jamais supprimer définitivement les données, mais plutôt de les archiver. Cela permet de conserver un historique sans perte de données liées, de prévenir les erreurs de suppression et de récupérer une données si nécessaire.

Pour mettre en place un mécanisme d'archivage :

  • Ajouter un champ booléen bool_archive_{table}

  • Utiliser ce champ pour masquer la donnée côté End-User tout en la conservant en base.

📋 Administration des listes déroulantes

Single/Multi select

Il est recommandé d'utiliser les champs Single et Multi select uniquement si les trois conditions suivantes sont remplies :

  • Il y a moins de 10 valeurs

  • Ces valeurs changent rarement (moins de 2 modifications par an)

  • Il n’est pas nécessaire de :

    • comparer ces valeurs à d’autres tables

    • filtrer les données par rapport à ce champ

    • effectuer des boucles sur ces valeurs

    • autoriser l'ajout par un utilisateur

Exemple :

  • Un type de priorité (Haute, Moyenne, Basse en Single select)

  • Les jours de présence (Lundi, Mardi, Mercredi, Jeudi, Vendredi en Multi select)

Liaison simple/multiple

Il est recommandé de créer une table annexe qui fera office de liste de référence. La mise en place d'une liaison simple/multiple fera alors le même travail qu'un Single/Multi select.

Cela permet alors :

  • D'administrer les valeurs proposées (ajouter, modifier, supprimer/archiver)

  • D'ajouter des précisions sur les valeurs proposées

  • De filtrer des données

  • De boucler sur la sélection

Exemple :

  • La sélection d'une nationalité avec le nom du pays associé et les langues parlées dans ce pays

  • Le niveau des élèves d'un collège pour filtrer la liste des élèves par niveau avec un filtre persistant

  • Créer une fiche d'évaluation pour chaque critères sélectionnés dans une offre d'emploi

🖇️ Éléments de liaisons

Lorsque des liaisons logiques existent entre plusieurs tables, il est recommandé de privilégier l’utilisation de formules de liaison ou de liaisons synchronisées. Cela permet de garantir la cohérence des données entre les tables, en s’appuyant sur les mécanismes d’intégrité internes à Ksaar, plutôt que sur des pratiques manuelles laissées à l’initiative du Maker.

Exemple :

  • Lorsqu’un professeur principal souhaite obtenir la liste des élèves de sa classe, il est recommandé d’utiliser une formule de liaison. Cela permet de s’assurer que seuls les élèves appartenant à la classe dont il est titulaire sont récupérés automatiquement.

  • Pour ajouter des élèves dans une classe, on utilise une liaison multiple sur la table Classe, permettant de sélectionner plusieurs élèves. Afin que chaque élève soit correctement assigné à sa classe, il est essentiel d’utiliser une liaison synchronisée.

Dernière mise à jour

Cet article vous a-t-il été utile ?