TableOfContents

(Page en cour de rédaction) Projet de Système Gestion des abonnés d'une implantations AUF (CNF/CAI)

Historique du projet

Calendrier Prévisionnel

Phase 1

Phase 2 : Développement

Phase 3 : Test, déboguage et documentation

Phase 4 : Déploiement

Mise à jour (et FAQ)

Après un retour assez difficile à Montréal j'ai finalement configurer mon environnement de travail et monté un test largement basé sur la configuration du CNF de Port Vila. Le test en question est fonctionnel et permettrait, s'il était déployer aujourd'hui, de gérer les usagers du CNF de PV.

Il intègre certaines idées retenus lors de mon passages dans différent CNF. Notamment la gestions des groupes et la création de pièces comptable comme présenté à Tunis. Une collecte des informations d'usagers plus pousser que celui de Port Vila mais moindre que celle de l'IFAG à Sofia. De plus le test basé sur python et Django intègre automatiquement le suivit de transactions comme évoquer par Svetan à Sofia et Jérome à Dakar.

Bien qu'un certains retard existe en raison du changement de technologie (le développement en PHP était prévu à l'origine). Le calendrier reste bon. Nous pouvons d'ailleur prendre un peu d'avance sur le déploiment de serveur de tests. Puisque le développement sera fait avec Django nous pouvons déjà déployer le premier test sur quelques serveurs. La procédure est disponible sur la page ["Django"]. De plus il est possible* de télécharger le serveur de tests préconfigurer pour VMware.

Python, Django, MySQL

On le virtualise. Dans le bût de recréer les installations présentent dans nos CNF, l'application est développer sur un serveur Debian GNU/Linux 'Sarge' 3.1 présent dans un réseau virtuel sous Vmware serveur.

Besoins

Suite aux visites faite dans différentes CNF. Certains éléments communs étant directement lié à la gestion des usagers font surface. Nottament:

Besoins de fonctionnement

Besoins

La rencontre aec Mme. Houle me confirme plus ou moins les demandes de la compta à ce sujet. Ils veulent être en mesure de générer, sur demande, des reçus pour les abonnements. De plus la création de suivit comptable journalier, hebdomadaire ou mensuel est désirable.

Le CNF de Tunis me présentait, lors de mon passge, un application utilisé à cet effet. Malheureusement l'application en question n'est pas intégrer au système de gestion de comptes présente au CNF.

Autres besoins

Première proposition de base

Table user :

Contient toute l'information qui nous sert à identifer une personne.

Commentaires : -Un champ photo?

+-------------+--------------+------+-----+------------+----------------+
| Field       | Type         | Null | Key | Default    | Extra          |
+-------------+--------------+------+-----+------------+----------------+
| u_id        | int(11)      |      | PRI | NULL       | auto_increment |
| nom         | varchar(200) |      |     |            |                |
| prenom      | varchar(200) |      |     |            |                |
| employeur   | varchar(200) |      |     |            |                |
| profession  | varchar(200) |      |     |            |                |
| adresse     | varchar(200) |      |     |            |                |
| rue         | varchar(200) |      |     |            |                |
| ville       | varchar(200) |      |     |            |                |
| pays        | varchar(200) |      |     |            |                |
| code_postal | varchar(200) |      |     |            |                |
| tel         | varchar(200) |      |     |            |                |
| tel_tr      | varchar(200) |      |     |            |                |
| cell        | varchar(200) |      |     |            |                |
| email       | varchar(75)  |      |     |            |                |
| email_tr    | varchar(75)  |      |     |            |                |
| email_2     | varchar(75)  |      |     |            |                |
| naissance   | date         |      |     | 0000-00-00 |                |
+-------------+--------------+------+-----+------------+----------------+

Table groupe :

Elle contient les groupes ou catégories d'abonnements.

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      |      | PRI | NULL    | auto_increment |
| nom   | varchar(100) |      | UNI |         |                |
+-------+--------------+------+-----+---------+----------------+

Table compte :

Contient l'information du compte de l'utilisateur. Ce sont les information normalement présentent dans les fichiers /etc/passwd et /etc/shadow. De plus elle contient également le domaine et l'alias de l'utilisateur.

+--------------+------------------+------+-----+---------+-------+
| Field        | Type             | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+-------+
| user_id      | int(11)          |      | PRI | 0       |       |
| login        | varchar(200)     |      | UNI |         |       |
| passwd       | varchar(200)     |      |     |         |       |
| uid          | int(10) unsigned |      |     | 0       |       |
| gid          | int(10) unsigned |      |     | 0       |       |
| gecos        | varchar(200)     |      |     |         |       |
| homedir      | varchar(200)     |      | UNI |         |       |
| minimum      | varchar(200)     |      |     |         |       |
| maximum      | varchar(200)     |      |     |         |       |
| warn         | varchar(200)     |      |     |         |       |
| inact        | varchar(200)     |      |     |         |       |
| expire       | varchar(200)     |      |     |         |       |
| lastchg      | varchar(200)     |      |     |         |       |
| shell        | varchar(200)     |      |     |         |       |
| flag         | smallint(6)      |      |     | 0       |       |
| email_domain | varchar(200)     |      |     |         |       |
| email_user   | varchar(200)     |      |     |         |       |
| active       | tinyint(1)       |      |     | 0       |       |
+--------------+------------------+------+-----+---------+-------

Table abonnement :

Contient les données d'abonements (la transaction). Comentaires : -Peut être ajouter un champ création? (pour la création d'abonnements avant leur date de début)

+-----------+---------+------+-----+------------+----------------+
| Field     | Type    | Null | Key | Default    | Extra          |
+-----------+---------+------+-----+------------+----------------+
| id        | int(11) |      | PRI | NULL       | auto_increment |
| user_id   | int(11) |      |     | 0          |                |
| debut     | date    |      |     | 0000-00-00 |                |
| fin       | date    |      |     | 0000-00-00 |                |
| groupe_id | int(11) |      |     | 0          |                |
+-----------+---------+------+-----+------------+----------------+