Architecture générale

L'architecture s'appuie classiquement sur le modèle client/serveur. L'implémentation choisie du modèle client/serveur s'inspire directement de la philosophie Unix : le moteur ("Back-end") est très clairement séparé de l'interface graphique ("Front-end"). La communication entre les deux entités s'effectue grâce à une connexion par un canal d'échange ("Socket").

Cette architecture est très souple. Elle permet, le cas échéant, au client et au serveur de se trouver sur le même poste, ou sur deux postes connectés en réseau de manière transparente.

Sur le serveur, le programme fonctionne sous la forme d'un "daemon", c'est-à-dire que le programme principal de Borsalino est lancé au démarrage de la machine et se place en attente de connexion d'applications clientes.

Avantages

L'avantage de cette architecture séparant le client du serveur et les faisant échanger les informations via un protocoles formaliser est de faire reposer l'ensemble du développement du système sur une couche intermédiaire relativement stable.

Cette approche

Voici le schéma général de l'application :

">Schéma général de Borsalino

Cahiers des charges technique

Le système doit posséder sa propre méthode de gestion des données. Il peut ainsi s'affranchir de la nécessiter de s'appuyer sur une personne responsable de la gestion de la base de données. Cette contrainte permet au système d'être relativement autonome en lui permettant d'avoir un contrôle sur tous ses éléments (y compris installation, sauvegarde, etc.).

La gestion des utilisateurs et des groupes du projet doit pouvoir au moins partiellement s'appuyer sur la gestion des utilisateurs et des groupes du systèmes. Il est intéressant de pouvoir importer le contenur du fichier passwd et du fichier group, afin de reprendre, par exemple, tous les utilisteurs du groupe "Borsalino".