Mardi 13 Mai 2008
~ VI. Principes de programmation ~
Menu
> Accueil

Programmation
> Algorithmes de tri
> Java

Réseaux Telecom
> Logiciel Vigie

Dossiers
> Trajectoire de comètes
> Gestion d'emploi du temps
> Tracking d'internautes
> Référencement
> Open Office
> Multi-agents dans les EIAH

Divers
> Album Photo
> Citations
> Recettes
> Bibliothèque
> Logiciels
> Mini-Annuaire

A propos
> Mon CV
> Me contacter
Recherche
Google
Sur ce site
Sur le web
Annonces
Accueil > Logiciel de gestion d'emploi du temps > Principes de programmation
sommaire
precedent suivant

L'intégralité du programme a été codée en W-Langage. Plusieurs principes de programmation ont été utilisés lors du développement.

1. Principales fonctions.

De nombreuses fonctions ont été écrites pour simplifier quelques évènements répétitifs ou délicats

1.1. Le cryptage

Le cahier des charges exigeait que toutes les informations soient cryptées. Lors de la génération de la base, l'option "cryptage + mot de passe" a été cochée. Cependant le cryptage des champs "mémo" n'étant pas pris en charge par la version 5.5 de WinDev, il a été nécessaire d'implémenter des fonctions qui cryptent les commentaires (champs "mémo") avant de les envoyer dans la base puis les décryptent avant de les afficher à l'écran.

Les fonctions cryptage et décryptage prennent en attribut une chaîne de caractères et une clef de cryptage. Elles renvoient une chaîne de caractères.

Remarque : Le cryptage des données est totalement transparent pour l'utilisateur.

1.2. Gestion des messages administrateur.

Lorsqu'un employé se connecte, ses messages administrateur apparaissent. Plusieurs fonctions interagissent alors pour mettre à jour les messages administrateur et les afficher.

supprime_ad_message supprime un message administrateur, son identifiant étant passé en paramètre. (cette fonction supprime également les liens de la table "ad_emp")

supprime_messages_perimes permet de mettre à jour les messages administrateur. En effet elle supprime les messages dont la date de validité est dépassée.

lire_ad_message appelle une fenêtre affichant les ad_messages. Elle prend en argument le message à afficher et un booléen (étant par défaut à faux). Si le booléen est à vrai, le champ "ne plus afficher ce message" n'est plus affiché. Ce qui permet de rendre invisible ce champ lors de la consultation d'un message par l'administrateur.

gestion_ad_messages gère l'ensemble des traitements d'affichage et de mise à jour des messages administrateur en utilisant les fonctions décrites précédemment. Elle reçoit en argument l'identifiant d'un employé.

1.3. Gestion des suppressions

La suppression des données de la base est gérée par plusieurs fonctions qui prennent en argument les données à supprimer:

sup_rdvcli_pr_sup_client(id_client) permet de supprimer les liens rdv-client lors de la suppression d'un client.

sup_tt_rdvcli_pr_sup_rdv(id_rdv) permet de supprimer les liens rdv-client lors de la suppression d'un rendez-vous.

sup_tout_cli_pour_sup_emp(id_employé) permet de supprimer tous les contacts d'un employé, elle fait appel à sup_rdvcli_pr_sup_client.

sup_tout_rdv_pour_sup_emp(id_employé) permet de supprimer tous les rendez-vous d'un employé, elle fait appel à la fonction sup_tt_rdvcli_pr_sup_rdv.

sup_tt_ad_emp_pr_sup_employe(id_employé) permet de supprimer tous les liens ad_messages-employé, elle fait appel à la fonction supprime_ad_message.

La suppression d'un employé nécessite au préalable l'appel des fonctions décrites précédemment.

Si les liens entre les différentes tables de liaison n'étaient pas supprimés de cette manière, des erreurs d'intégrité surviendraient.

1.4. Gestion des problèmes de chevauchement

La fonction verif_chevauchement_rdv est chargée de tester le chevauchement des rendez-vous lors de l'ajout ou de la modification. Elle prend en argument l'identifiant de l'employé, l'heure, la date, la durée du rendez-vous à tester et un booléen. De plus, si un rendez-vous est en cours de modification, le booléen est mis à "vrai" afin que le test ne soit pas réalisé sur le rendez-vous en cours.

2. Les classes

Afin de mettre en oeuvre les connaissances acquises au cours de l'année, l'affichage graphique des emplois du temps du jour et de la semaine a été géré en programmation orientée objet. Ainsi, deux classes ont été crées : la classe emploi_du_temps et la classe journée. Celles-ci gèrent respectivement l'emploi du temps de la semaine et de la journée.

Ces méthodes comportent toutes deux les mêmes attributs. Cependant le traitement des méthodes diffère quelque peu.

2.1. Les attributs

Ils sont au nombre de cinq :

hmax et hmin sont des entiers qui contiennent l'heure maximale et l'heure minimale des rendez-vous de la semaine ou de la journée

nom_champ est une chaîne qui comporte le nom du champ contenant le graphique.

id_employe est une chaîne qui comporte l'identifiant de l'employé.

datum est un entier qui contient, pour la classe journée, le jour désiré et, pour la classe emploi du temps, le premier jour de la semaine.

2.2. Les méthodes

Elles sont au nombre de huit :

Le constructeur, il prend en argument le nom de la zone de cliquage, l'identifiant de l'employé et la date. Il initialise tous les attributs de la classe.

modifier_parametres, reçoit en argument l'identifiant de l'employé ainsi qu'une date. Selon la date que l'on souhaite afficher, elle modifie les attributs de la classe.

efface_graph() efface le contenu du champ graphique.

initialise_graph() est une méthode qui trace "l'armature" de l'emploi du temps.

construit_graph() affiche les rendez-vous dans "l'armature" de l'emploi du temps.

traitement_graph() utilise les méthodes précédentes pour effacer puis retracer l'emploi du temps graphique.

gere_clic permet d'effectuer une action suite à un clic dans la zone graphique de cliquage où a été dessiné l'emploi du temps. Par exemple, le clic sur un rendez-vous permet d'en éditer la fiche. gere_clic reçoit en argument les positions horizontales et verticales de la souris.

imprime() permet d'envoyer sur l'imprimante l'emploi du temps considéré.

sommaire
precedent suivant
Accueil > Logiciel de gestion d'emploi du temps > Principes de programmation