Documentation
La documentation ci-dessous fait partie de la distribution de BeeBase. Elle est également disponible sous forme de PDF.
[ << ] | [ >> ] | [Sommaire] | [Table des matières] | [Index] | [ ? ] |
6. Gestion des projets
Dans ce chapitre vous trouverez :
6.1 Format de fichier | BeeBase utilise SQLite3 | |
6.2 Informations | Informations sur le projet en cours | |
6.3 Nouveau projet | Démarrer un nouveau projet | |
6.4 Nettoyer un projet | Réinitialiser un projet | |
6.5 Ouvrir un projet | Charger un projet à partir d'un disque | |
6.6 Enregistrer un projet | Enregistrer un projet sur disque | |
6.7 Modes Administrateur & Utilisateur | Restreindre l'accès à la structure du projet | |
6.8 Décharger les enregistrements | Gestion de la mémoire des enregistrements | |
6.9 Fermer le projet | Libérer les ressources d'un projet |
6.1 Format de fichier
Un projet BeeBase est stocké dans une base SQLite3. Si vous êtes curieux, vous pouvez utiliser une visionneuse ou un éditeur de fichier SQLite3, comme `DB Browser for SQLite', pour explorer la structure interne d'un projet BeeBase. Le contenu de la base SQLite3 est compréhensible car il est dans un format lisible. Pour autant certaines choses ne sont pas évidentes.
- Les tables et champs SQLite commençant par un caractère `_'
sont utilisées par BeeBase pour son fonctionnement interne : journalisation, définition de la structure et de la mise en page du projet ;
- Les autres tables sont celles définies par l'utilisateur du projet BeeBase ;
- Les dates sont des entiers représentant le nombre de jours écoulés depuis le jour `01/01/0000' du `calendrier grégorien' ;
- Les heures sont des entiers représentant le nombre de secondes écoulées depuis `00:00:00' ;
- Les références d'enregistrement sont représentés par un entier qui correspond à la valeur du champ `_ID' de l'enregistrement référencé ;
- Tous les IDs d'enregistrement (stockés dans `_ID') sont recalculés lorsque qu'un projet est réorganisé.
Il est préférable de ne pas modifier à la main un fichier de projet, mais pour ceux qui veulent expérimenter voici quelques règles à suivre.
- Toute modification devrait être effectuée dans une unique transaction.
Par exemple, `DB Browser for SQLite' permet de modifier un fichier SQLite et d'écrire toutes les modifications en une transaction ;
- Vous pouvez ajouter, modifier, ou supprimer des enregistrements des tables utilisateur.
Lors de l'ajout d'un enregistrement, le champ `_ID' doit recevoir une valeur inutilisée,
de préférence plus grande que les valeurs de `_ID' existantes dans la table.
Lors d'une modification d'enregistrement, modifiez aussi le champ `_Version' de cet enregistrement (p. ex. incrémenter de 1).
Pour que BeeBase remarque les changements du projet, le champ `Version'
de la table `_Project' doit être incrémenté.
BeeBase rechargera le projet et ce mettra à jour en tenant compte des enregistrements modifiés ;
- Le champ `SavedWith' de la table `_Project' devrait être mis à jour avec une explication (p. ex. le nom du programme auteur de la dernière modification du projet) ;
- Modifier les autres tables de BeeBase (celles commençant par `_') n'est probablement pas une bonne idée. Mais si vous le faîtes, vous devez aussi incrémenter `StructureVersion' en plus de `Version' dans la table `_Project'.
SQLite permet d'accéder à un projet avec plusieurs instances de BeeBase mais une seule peut modifier le projet. Notez qu'un bon fonctionnement du mécanisme de verrouillage nécessite que le système de fichier offre certaines garanties. Il est recommandé de tester d'abord le partage d'un projet avec plusieurs instances de BeeBase sur un système de fichier particulier avant d'utiliser cette fonctionnalité.
6.2 Informations
BeeBase conserve quelques informations sur chaque projet. Sélectionnez le menu `Projet - Information...' pour obtenir des informations sur le projet en cours. L'information retournée comprend le nom du projet, le nombre de tables, le nombre d'enregistrements dans toutes les tables, et une valeur montrant le nombre d'octets que vous pourriez gagner si vous réorganisiez ce projet. Le gain n'est cependant qu'une estimation grossière et ne doit pas être considéré comme une valeur exacte. Cette valeur est loin d'être précise, particulièrement si vous avez fait beaucoup de changements sur la structure du projet (en ajoutant ou en enlevant des champs).
6.3 Nouveau projet
BeeBase peut manipuler plusieurs projets en même temps. Vous êtes seulement limités par la mémoire disponible. Pour démarrer un autre projet, choisir le menu `Projet - Nouveau'. Une nouvelle fenêtre s'ouvre avec un projet vide. Vous pouvez maintenant définir la structure de ce projet (voir Projet - Éditeur de structure) ou charger un projet existant à partir du disque dur (voir Ouvrir - Projet).
6.4 Nettoyer un projet
Pour réinitialiser un projet, sélectionnez le menu `Projet - Nettoyer - Projet'. Le projet en cours sera alors fermé et remplacé par un projet vide. Lorsque vous démarrez BeeBase sans projets vous arrivez automatiquement dans cet état.
Par la sélection du menu `Projet - Nettoyer - Enregistrements' vous démarrez un nouveau projet en utilisant la structure courante. Ce qui signifie que tout (excepté les données enregistrées du projet en cours) est employé pour le nouveau projet.
Si un projet en cours n'a pas été sauvé sur le disque dur et que vous avez sélectionné le menu ci-dessus, une fenêtre vous demandera alors la confirmation de l'opération.
6.5 Ouvrir un projet
Pour charger un projet sélectionnez le menu `Projet - Ouvrir - Projet' qui ouvrira une fenêtre vous permettant de choisir un projet. Il y a plusieurs projets de démonstration pour illustrer les fonctionnalités de BeeBase. Pour les charger, sélectionnez le menu `Projet - Ouvrir - Démo'.
Si le projet chargé a son programme source placé à l'extérieur, le fichier source externe sera créé après ouverture du projet (voir Code source externe).
Si vous chargez un projet ou la structure d'un projet alors que le projet courant n'a pas été sauvé, une fenêtre s'ouvrira vous demandant de confirmer l'opération.
6.6 Enregistrer le projet
Tous les changements effectués sur un projet se font uniquement en mémoire ou sont temporairement stockés lors de déchargements d'enregistrements (voir Décharger les enregistrements). Aussi, si vous voulez les stocker de façon permanente, vous devez enregistrer le projet sur votre disque dur, en choisissant le menu `Enregistrer'. Si votre projet n'a pas encore de nom, il vous sera demandé auparavant.
La raison pour laquelle BeeBase ne sauve pas automatiquement un projet qui a changé, est que, de cette façon, c'est vous qui décidez lorsque vous voulez sauver un projet ! Vous pouvez toujours retourner sur la dernière version sauvée de votre projet en choisissant le menu `Projet - Rétablir la sauvegarde'. Ce mécanisme est semblable aux commandes `COMMIT' et `ROLLBACK' des systèmes de bases de données SQL.
Si vous enregistrez un projet, tous les enregistrements modifiés sont écrits sur le disque dur et le fichier `Structure.bbs' est recréé. Avant de créer le nouveau fichier `Structure.bbs', BeeBase renomme d'abord le fichier existant `Structure.bbs' en `Structure.old' pour avoir une copie de sécurité au cas où l'opération échouerait.
Ce mécanisme garantit le chargement et la sauvegarde rapide des opérations, mais il n'est pas exempté de réorganisation. Si vous avez modifié beaucoup d'enregistrements alors l'emplacement physique où les enregistrements se trouvent et la fragmentation qui en résulte peut devenir désavantageuse. C'est pourquoi un menu `Projet - Enregistrer & réorganiser' existe, pour réaliser l'opération d'enregistrement & de réorganisation. Cette opération peut prendre un certain temps selon le nombre et la taille de vos enregistrements. L'opération Enregistrer & Réorganiser crée un nouveau répertoire et réécrit tous les fichiers reliés à un projet. Une fois cette opération réalisée, l'ancien répertoire est supprimé.
Un autre bon moment pour prévoir une réorganisation est lorsque vous avez fait des changements sur la structure de données d'un projet, par exemple après avoir ajouté un nouveau champ dans une table. Ces changements ne sont pas appliqués immédiatement à tous les enregistrements parce que cela prendrait trop de temps de charger chaque enregistrement, pour le modifier, et le sauver de nouveau sur le disque. Par conséquent ces changements sont mis sur une liste interne `À faire' qui est appliquée après le chargement d'un enregistrement. L'application de cette liste à un enregistrement prend peu de temps. Cependant plus la liste devient longue, plus cela prend de temps. Réorganiser un projet oblige à appliquer cette liste `à faire' à tous les enregistrements, donc si vous avez fait des modifications à la structure du projet alors sa réorganisation réduira le temps de chargement des enregistrements.
Vous pouvez également enregistrer et réorganiser un projet sous un nouveau nom, ce qui conserve l'ancien projet intact. Pour faire cela il suffit d'utiliser le menu `Projet - Enregistrer & réorganiser sous' qui vous demande de saisir un nouveau nom de projet.
6.7 Modes Administrateur et Utilisateur
BeeBase travaille soit en mode Administrateur (mode par défaut), soit en mode utilisateur. Vous pouvez basculer d'un mode à l'autre en sélectionnant le menu `Projet - Passer en mode Administrateur' et `Projet - Passer en mode Utilisateur'. En mode Utilisateur, plusieurs éléments de menu sont désactivés et les éditeurs de structure, de programme et de requêtes ne sont pas disponibles. Ainsi seule l'édition basique d'enregistrement est possible. En mode Administrateur toutes les opérations sont autorisées.Un mot de passe Administrateur peut être configuré pour un projet en sélectionnant le menu `Projet - Modifier le mot de passe Administrateur'. Une fois configuré, le mot de passe doit être saisi pour passer en mode Administrateur sinon le basculement sera refusé laissant le projet en mode Utilisateur.
Lors de l'ouverture d'un projet ayant un mot de passe Administrateur configuré, le projet est démarré en mode Utilisateur, dans le cas contraire (aucun mot de passe Administrateur n'est configuré), il est démarré en mode Administrateur.
6.8 Décharger les enregistrements
BeeBase n'a pas besoin de conserver tous les enregistrements d'un projet en mémoire. Ainsi le chargement et la sauvegarde des projets sont beaucoup plus rapides. En chargeant un projet, un entête d'enregistrement est alloué pour chaque enregistrement. Les données elles-mêmes sont chargées seulement lorsque c'est nécessaire, par exemple quand elles sont affichées sur l'écran. Le nombre d'enregistrements est encore limité par la mémoire disponible puisque chaque entête d'enregistrement utilise quelques octets de mémoire.
Vous pouvez spécifier la taille de la mémoire que devrait utiliser BeeBase pour les enregistrements d'un projet. Choisir une des valeurs prédéfinies se trouvant dans le menu `Préférences - Cache d'enregistrements' (voir Cache d'enregistrements). BeeBase ne préalloue pas un bloc mémoire de la taille indiquée, il vérifie seulement de temps en temps si la quantité courante de mémoire allouée est plus grande que la valeur indiquée.
Si BeeBase manque de mémoire ou si la limite supérieure de la capacité mémoire a été atteinte alors BeeBase essaye de libérer autant d'enregistrements de la mémoire que possible. Dans ce cas-là, BeeBase peut écrire les enregistrements modifiés sur le disque dur pour obtenir le maximum de mémoire disponible. Vous pouvez également forcer BeeBase à le faire en choisissant le menu `Projet - Décharger les enregistrements'.
BeeBase maintient une liste d'espace libre pour chaque fichier d'enregistrements. Si vous supprimez un enregistrement, l'emplacement dans le fichier d'enregistrements est ajouté à la liste d'espace libre. En outre, si vous changez un enregistrement et que celui-ci a besoin d'être écrit sur le disque dur, l'ancien emplacement dans le fichier est ajouté à la liste d'espace libre. Cependant BeeBase s'assure qu'un rechargement vous permettra toujours de retourner au point de la dernière opération de sauvegarde. BeeBase n'écrira pas sur les secteurs qui sont libérés mais où un enregistrement existe toujours et qui pourra être accédé en ouvrant à nouveau le projet.
6.9 Fermer le Projet
Quand vous avez terminé votre travail sur un projet vous pouvez le fermer en sélectionnant le menu `Projet - Fermer'. Ce qui libère la mémoire et toutes les ressources appartenant au projet. Si le projet contient des changements qui n'ont pas encore été sauvés, une fenêtre s'ouvrira vous demandant de sauver, de continuer ou d'annuler l'opération.
Pour la fermeture d'un projet vous pouvez également choisir le menu `Projet - Sauver & Fermer' qui sauve d'abord le projet s'il y a eu des changements avant de le fermer.
[ << ] | [ >> ] | [Sommaire] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré le 30 Septembre 2024 par texi2html