analyse et conception d’un logiciel de gestion des arrêtés...

40
Bastien LAGOUTIERE Université Nice Côte d’Azur I.U.T. Génie Informatique 2 ème année Institut Universitaire de Technologie Département informatique Promotion 2002 Analyse et Conception d’un logiciel de Gestion des Arrêtés municipaux Mairie de Nice DIRECTION INFORMATIQUE & TELECOMMUNICATIONS 3, rue de la Terrasse 06000 NICE Maître d’apprentissage : M. J. SWIFT Tuteurs : Mme Muriel BARLA et M Jean-Luc CIVILISE

Upload: phamdiep

Post on 24-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Bastien LAGOUTIERE Université Nice Côte d’Azur I.U.T. Génie Informatique 2ème année Institut Universitaire de Technologie

Département informatique Promotion 2002

Analyse et Conception d’un logiciel de Gestion des Arrêtés municipaux

Mairie de Nice DIRECTION INFORMATIQUE & TELECOMMUNICATIONS

3, rue de la Terrasse 06000 NICE

Maître d’apprentissage : M. J. SWIFT Tuteurs : Mme Muriel BARLA et M Jean-Luc CIVILISE

Page 2: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

REMERCIEMENTS Ce stage a été effectué au sein de la Direction de l’Informatique et des Télécommunications de la Mairie de NICE sous la responsabilité de Madame Anne-Marie ATLAN et sous la tutelle de Madame Muriel BARLA et Monsieur Jean-Luc CIVILISE. Je remercie toutes les personnes du service et plus particulièrement Madame Muriel BARLA et Monsieur Jean-Luc CIVILISE pour leur écoute et leur dévouement, Monsieur Alain RAIBALDI pour les connaissances qu’il a su me transmettre, et Monsieur Sébastien BOUKHALFA qui a participé à la création de l’application. Je remercie également Mesdames Anne-Marie ATLAN, Danielle DALMASSO, Catherine SIMMONIN, Nicole PIEGGI et Monsieur Georges MURINGER pour leur accueil chaleureux, et leurs conseils avisés.

Page 3: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

TABLE DES MATIERES Remerciements p.2 Table des matières p.3 Résumé p.5 Présentation du sujet p.6 Présentation de la D.I.T. p.7

1. Présentation de la D.I.T. p.8 1.1. Fonction générale p.8 1.2. Organigramme du service p.9 1.3. Matériel à disposition pour le stage p.10 1.4. Matériel général p.10

Partie analyse p.11

2. Analyse p.12 2.1. Cahier des charges p.12

2.1.1. Identification générale p.12 2.1.2. Localisation p.13 2.1.3. Circuit p.13 2.1.4. Article p.14

2.2. Fonctions particulières p.14 2.2.1. Création et mise à jour p.14 2.2.2. Suppression p.15 2.2.3. Consultation p.15 2.2.4. Contrôle d’accès et sécurité p.15 2.2.5. Récupération des données p.16 2.2.6. Difficultés rencontrées p.16

2.4. Diagramme des fonctions générales p.17 2.3. Dictionnaire de données p.18

Partie conception p.19

3. Conception p.20 3.1. Lotus Notes et Domino Designer 5 p.20 3.2. Application des arrêtés municipaux p.21

3.2.1. Mise en route p.21 3.2.2. Ecran d’accueil p.22 3.2.3. Menu dynamique p.23 3.2.4. Création d’un arrêté p.24 3.2.4.1 Identification générale p.24 3.2.4.2. Tableau à onglets p.25 3.2.4.3. Ajout d’informations complémentaires p.25 3.2.4.4. Bouton de suppression p.27

Page 4: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3.2.5. Consultation p.28 3.3. Difficultés rencontrées p.28 3.4. Etat d’avancement de l’application p.28

Conclusion p.30 Partie des annexes

1 Cahier des charges p.32 2 Environnement de travail p.46 3 Masque ArreteMunicipal p.47 4 Masque Localisation p.48 5 Masque Article p.49

6 Masque Menu p.50 7 Masque Confirmation p.51 8 Agencement de cadre p.52 9 Exemples de programmes p.53

Page 5: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

RESUME Ce rapport présente le projet confié dans le cadre de la deuxième année d’I.UT. département informatique par Monsieur Jean-Luc CIVILISE.

Le projet consistait à concevoir un logiciel permettant la saisie des arrêtés municipaux de la ville de Nice par les principaux services (Circulation, Gestion des Voies Publiques et Police Administrative, ainsi que leur consultation par les membres de la Mairie. Les objectifs du projet fixés étaient : - la création d’une application partagée entre différents services, tant au niveau de la création d’arrêtés municipaux que leur consultation. - une possibilité d’utilisation quels que soient le type d’ordinateur (PC ou MAC), le système d’exploitation ou le navigateur Web (Explorater ou Netscape). Pour mener à bien le processus, il a été nécessaire de m’imprégner d’un nouvel environnement possédant ses propres spécificités. Le cahier des charges a été déterminé en fonction des besoins exprimés par les différents services utilisateurs. Le rapport vous expose avec précision le sujet traité, le cadre de l’apprentissage ainsi que la réalisation du logiciel.

Page 6: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

PRESENTATION DU SUJET L’apprentissage se déroule au sein de la Direction de l’Informatique et des Télécommunications de la Mairie de Nice. La gestion des arrêtés municipaux nécessite l’intervention de services différents mais il n’existe aucune harmonisation. Les documents sont envoyés un à un, soit par courrier, soit par mémos par Intranet. Jusqu’à présent, les arrêtés municipaux sont utilisés sous format papier et doivent faire l’objet d’une demande pour être consultés. Le service a donc décidé de réaliser une application informatique qui traitera la création et la consultation des arrêtés municipaux sous Lotus Notes. Lotus Notes présente l’avantage d’être à la fois un logiciel de courrier évolué et un système de gestion de base de documents. Ces traitements seront accessibles via le réseau de la Mairie par tous les agents, à partir de leur poste de travail.

Page 7: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Partie présentation

Page 8: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

1. Présentation de la D.I.T.

Créée en 1969, cette Direction regroupe en fait deux services, le service Informatique et le service des Télécommunications, placée sous l’autorité de Monsieur Serge Druesne, secondé par Monsieur Jean-François Marchesini. La D.I.T. a pour mission le management général de la direction, le choix des orientations, les choix stratégiques, la communication interne et externe, la coordination des projets et les contrôles de gestion. 1.1. Fonction générale

La fonction de cette direction est de mettre en œuvre, coordonner et maintenir l’ensemble des moyens informatiques et de télécommunications utilisés par la Mairie de Nice et les différents services municipaux rattachés, la police municipale par exemple, afin d’améliorer et de simplifier leurs travaux administratifs.

Les tâches réalisées par la Direction Informatique concernent tous les domaines

de l’informatique : analyse, conception, implémentation, maintenance, assistance et formation des utilisateurs, gestion et approvisionnement en matériel informatique, installation et maintenance des réseaux et applications, ainsi que l’exploitation quotidienne des travaux journaliers de l’ensemble de ces systèmes.

1.2. Organigramme du service

La D.I.T. répartie sur plusieurs divisions comme le présente l’organigramme suivant, emploie 80 personnes :

Page 9: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

1.3. Matériel à disposition pour le stage :

- Intel Pentium III 800 MHz en réseau équipé du système d’exploitation Windows 98 et de Lotus Notes (Client Notes et Domino Designer 5.0).

1.4. Matériel général :

- Serveur de type MainFrame (multi – terminaux) IBM 9672 Modèle R32, - 3 serveurs sur base RISC 6000 dédiés chacun à une application

différente, - 45 serveurs « Micros » gérant une ou plusieurs applications, - 10 serveurs Domino.

Le parc informatique se compose de plus de 2000 Micros et plus de 400 terminaux.

Page 10: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Partie analyse

Page 11: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

2. Analyse La gestion d’une application dans son intégralité demande toujours une phase d’analyse et une phase de conception. Cependant, l’environnement Lotus Notes en publication Web ne permet pas une analyse complète. Les contraintes sont telles, qu’une grande partie de l’analyse a lieu en même temps que la conception. 2.1. Cahier des charges Le cahier des charges définitif relatif au le suivi des arrêtés municipaux a été rédigé par Monsieur Bernard Allouchery (Mission Études et Organisation) le 09/04/2002. L’application sera utilisée par plusieurs Directions, principalement par la Circulation, la Police administrative et la Gestion des Voies Publiques. Les autres Directions utilisatrices sont : les Affaires Sociales et Santé Publique, les Espaces Verts, les Sports et les Services à la Population – Cimetières. La Mairie de Nice créée annuellement en moyenne 3500 arrêtés municipaux tous services confondus, séparés en deux catégories : les arrêtés temporaires et les arrêtés permanents.

Un arrêté municipal comprend une identification générale regroupant 14 champs de saisie, à laquelle s’ajoutent les localisations, le circuit de l’arrêté et les articles. 2.1.1. Identification générale

Tout arrêté municipal est créé par un agent habilité de la Mairie appartenant aux services concernés. Son nom, son prénom, son matricule et son service sont enregistrés automatiquement lors de la création d’un projet d’arrêté.

Chaque arrêté possède un numéro unique attribué automatiquement par le système, le format utilisé est de la forme AAAA-NNNNN. Il s’agit de l’année de création suivi du numéro d’ordre de création annuelle.

Le type permet la distinction entre les arrêtés TEMPORAIRES et les PERMANENTS. Ce choix s’effectue à l’aide du liste déroulante et modifie les champs à saisir.

Un arrêté temporaire possède des champs supplémentaires, c’est à dire une durée de validité (nombre), une unité de durée à choisir entre ‘jour’, ‘semaine’ et ‘mois’, et enfin un numéro de demande dont le format est AA-NNNN (les deux derniers chiffres de l’année de création suivis du numéro d’ordre annuel).

Un thème unique est attribué, son choix s’effectue dans une liste déroulante de quinze valeurs :

- les commerces, foires, marchés, artisans, - le tournage de films, - l’hygiène et salubrité publique, - les manifestations régulières, - les manifestations irrégulières,

Page 12: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

- la réglementation des voiries, - la réglementation des plages, - la réglementation des jardins, - la réglementation des marchés, - la réglementation des cimetières, - la réglementation de la publicité, - la réglementation de l’urbanisme, - la réglementation des piscines, - les travaux, - le stationnement divers, - la circulation générale, - la circulation des véhicules particuliers.

Il est possible d’ajouter un ou des sous-thèmes afin de préciser le thème général, le

choix s’effectue dans une liste déroulante d’une vingtaine de valeurs : stationnement gênant, stationnement interdit, stationnement réservé, stationnement autorisé, priorité, sens unique, double sens, sens giratoire, couloir de bus, piste cyclable, itinéraire, vitesse limitée, hauteur limitée, dépassement et demi-tour.

Un appellation d’environ une ligne est donnée ensuite en guise de titre. Suit l’objet, c’est à dire une explication plus détaillée de l’arrêté en fonction du

thème choisi et éventuellement des sous-thèmes. Ce dernier s’étend sur 3 ou 4 lignes. Un arrêté évolue dans le temps en fonction des étapes de validation, c’est son statut.

Par défaut un arrêté est valide à sa création, il est partiellement abrogé si au moins un des ses articles est abrogé, totalement abrogé si tous ses articles le sont, et enfin il peut être archivé. Dans le cas d’un arrêté totalement abrogé, un champ supplémentaire indique la date d’abrogation. 2.1.2. Localisation

Un arrêté municipal concerne une ou plusieurs voies de Nice. En général, il comprend moins de quarante localisations.

Chaque voie est répertoriée dans une base de document appelée PlanVille, laquelle

contient les termes et les noms de toutes les voies de Nice, ainsi que tous les mots clefs permettant d’y faire des recherches.

L’utilisateur doit pouvoir avoir accès à cette liste mais il peut également saisir lui même une localisation dite particulière par les voies non répertoriées.

Pour plus de précision, il est possible de saisir un tronçon en indiquant des petites

informations complémentaires. Par exemple les numéros de maison ou les côtés de la rue. 2.1.3. Circuit

Le circuit d’un arrêté est l’ensemble des dates d’avancement. Il y figure sept dates dont cinq sont saisies :

- la date de départ du service, - la date de signature du Maire,

Page 13: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

- la date de contrôle de légalité, - la date de début d’affichage, - la date de mise en service.

Chaque date doit être supérieure ou égale à la date qui la précède, le système doit

être capable d’effectuer les contrôles nécessaires afin d’avertir l’utilisateur d’une erreur. Pour un arrêté temporaire, une date de fin de validité se calcule automatiquement

grâce à la date de mise en service et à la durée de validité. Quand un arrêté passe en statut archivé, une date d’archivage apparaît

automatiquement.

2.1.4. Article

Les articles d’un arrêté municipal comportent un numéro de deux chiffres maximum, saisi par l’utilisateur.

Un texte de synthèse de quatre à cinq lignes permet une description

complémentaire. Enfin, un article possède un statut par défaut valide, il est possible manuellement de

le rendre abrogé. Cette manipulation modifie le statut général de l’arrêté en partiellement abrogé. De plus, l’abrogation totale de l’arrêté rend tous ses articles au statut abrogé.

Le nombre d’articles n’excède que rarement quinze le nombre quinze. 2.2. Fonctions particulières L’application doit gérer des fonctions particulières qui ont été définies par les Directions des différents services. 2.2.1. Création et mise à jour

Un arrêté municipal se créé en plusieurs étapes : multiples saisies par des utilisateurs différents. Chaque service, remplit des champs, mais seul l’agent de départ est enregistré dans l’identification générale.

Il doit être possible de rattacher des documents images, par exemple une

numérisation de l’arrêté papier, ou des documents de type Microsoft Word© correspondant à l’arrêté saisi.

Certains vieux arrêtés peuvent être complétés sans pour autant les re-saisir, dans ce

cas, il faut que l’application prévoit un moyen de pouvoir lier plusieurs arrêtés entre eux et qu’il soit possible de passer d’un document à l’autre.

Page 14: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

2.2.2. Suppression

Les suppressions d’un arrêté sont rares, elles ne font l’objet que d’erreurs de saisie. Toute action de suppression d’un document, que ce soit l’arrêté lui même, ou un document complémentaire (localisation, article), doit faire apparaître un message d’alerte personnalisé, afin d’éviter toute mauvaise manipulation de l’utilisateur.

Les administrateurs de l’application ont la possibilité de supprimer n’importe quel

document. Cependant, il ne doit pas être possible de supprimer un arrêté comportant une date

de signature du Maire ou un arrêté dont le statut est abrogé. 2.2.3. Consultation

Les consultations sont en libre accès sur le réseau de la Mairie pour chaque agent. Afin de répondre aux besoins des différents services concernés, une liste des vues souhaitées a été établie.

Il existe trois grandes catégories qui sont les vues générales, les états d’avancement

et les archives. Les vues générales présentent tous les arrêtés valides, partiellement abrogés ou

totalement abrogés stockés sur la base Domino. Elles sont toutes divisées en deux catégories, avec un affichage par service et un affichage tous services confondus.

Les états d’avancement permettent de retrouver les arrêtés en fonction des dernières

dates saisies dans le circuit qui suit toujours le même ordre. Ainsi, les différents services peuvent retrouver les documents à compléter plus aisément.

Enfin les archives regroupent tous les arrêtés permanents et temporaires dont le

statut est archivé. Ces derniers ne sont visibles uniquement que dans cette catégorie, évitant ainsi de surcharger les autres consultations. 2.3. Contrôles d’accès et sécurité

L’application étant destinée à une cinquantaine d’agents répartis dans différents services, il existe quatre profils utilisateur :

- Consultant : il regroupe tous les membres de la Mairie de Nice tous services confondus. C’est le profil par défaut, il n’autorise aucune mise à jour ni création.

- Service préparateur mairie : il concerne une nombre défini d’agents au sein d’un même service, qui ont l’accès aux créations, mises à jours, modifications et suppressions. Cependant, ce profil n’autorise pas l’accès aux dates de signature du Maire, de contrôle de légalité et de publication.

- Police administrative : il permet l’accès aux trois dates du circuit de l’arrêté dont la saisie est impossible en profil service préparateur mairie.

Page 15: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

- Administrateur : il ouvre tous les accès en autorisant les créations, les mises à jour, les modifications et les suppressions de tous les documents de la base.

2.4. Récupération de données

Il existe déjà une base appartenant à la police administrative, nommée MM02. L’application devra être capable de récupérer les arrêtés municipaux permanents existants et de les convertir sous le nouveau format utilisé. Cette opération a pour but de restituer les arrêtés des vingt dernières années. 2.6. Difficultés rencontrées

Lotus Notes est capable de convertir ses bases en HTML, mais sous nombreuses contraintes.

La première est que, la conversion en HTML est très incomplète, de nombreuses

fonctions Lotus sont inutilisables en publication Web. La seconde contrainte majeure est que chaque page doit être enregistrée si l’on

veut la réafficher, ceci implique que chaque action d’ajout ou de recherche créé un sauvegarde de la page. Il est donc impossible de gérer les modifications convenablement.

Ainsi, l’analyse classique a dû être abandonnée pour une étude détaillée du cahier des charges.

Toutes ces difficultés rendent l’analyse obsolète puisqu’il n’existe pas de liste exhaustive des fonctions s’exécutant sous Web. Il a fallu continuellement s’adapter en fonction des ‘caprices’ de Domino Designer.

Page 16: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Partie conception

Page 17: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3. Conception

La conception s’est fondée essentiellement sur l’étude du cahier des charges et sur les renseignements comlémentaires apportés par mes responsables de stage, ainsi que par Monsieur Allouchery, rédacteur du cahier des charges.

L’application a été développée entièrement sous Domino Designer, logiciel attaché à Lotus Notes. 3.1. Lotus Notes et Domino Designer 5

Le logiciel Lotus Notes est un outil de messagerie intégrant à la fois une gestion de base de documents et une publication Web. Lotus Notes est un logiciel client installé sur tous les postes de la Mairie , toutes annexes confondues. C’est un produit performant et évolué composé dans la plupart des cas en Notes, Domino Designer et Domino Server. L’application de la gestion des arrêtés municipaux a été élaborée sous Domino Designer, qui permet la conception de Bases de Documents, composées de pages, de masques, de sous-masques, de vues et d’autres documents. Ces bases sont hébergées sur un serveur Domino sur lequel les clients sont connectés, l’accès est possible via un client Notes ou un navigateur Internet (Microsoft Internet Explorer ou Netscape). Domino Designer utilise différents langages de programmation, mais les trois utilisés dans l’application sont le LotusScript, les fonctions Lotus et le Javascript. La mise en page des documents est complétée par des balises HTML. Les trois langages se présentent ainsi :

- LotusScript : est un langage complet, orienté objet spécifique à Domino Designer accompagné d’un débogueur performant.

- Fonctions Lotus : est un langage simplifié basé sur des commandes et des

fonctions, nombreuses et faciles d’accès grâce notamment à une aide munie d’exemples pertinents.

- JavaScript : l’application étant destinée à une publication Web, ce langage dérivé du JAVA est interprété.

Chaque langage cohabite au sein des mêmes documents, le LotusScript s’exécute en arrière plan avec des agents par exemple, qu’ils soient automatiques ou lancés manuellement. Les fonctions Lotus sont très souvent utilisées pour les champs ou les boutons d’action. Le JavaScript gère des évènements comme le chargement d’une page, ou le passage du curseur de la souris au-dessus d’une image pour la faire varier.

Page 18: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Les principales parties d’une base de documents Lotus sont :

- Le document : à l’inverse d’une base de donnée classique, le document regroupe des champs non ordonnancés. Il est équivalent à une page vierge sur laquelle on peut ajouter sans contrainte des champs, sans aucun ordre et sans aucun lien. La seule contrainte est l’unicité du nom du champ. La notion de clef est un numéro unique, différenciant chaque document au sein d’une même base, dont le nom original est universal ID.

- Le masque : est le formulaire qui créé le ou les documents ainsi que leurs

champs.

- La vue : reposant sur le même principe que les vues de bases de données.

Elle affiche les documents selon des critères personnalisées (champs ou fonctions calculées). La syntaxe commence toujours par la clause SELECT suivie de formules Notes.

- La page : elle n’autorise que l’affichage de texte ou d’images et est

souvent utilisée pour des présentations.

- L’agencement de cadre : il permet de créer ses propres fenêtres de division d’une même page ainsi que ses marges. En HTML il s’agit de l’agencement de frames.

- L’agent : programmé en LotusScript, il peut s’exécuter automatiquement,

chaque nuit à une heure précise par exemple, ou lors d’une action spécifique comme le click d’un bouton d’un formulaire. Il demande un temps de chargement relativement court même pour un traitement important de grands bases de documents.

3.2. Application des arrêtés municipaux. 3.2.1. Mise en route

La publication Web de Domino Designer permet à n’importe quel utilisateur de la Mairie de se connecter à l’application. Cette liaison se fait via Microsoft Internet explorer 5.5 et se situe sur l’Intranet.

L’accès sera donc un simple lien et ne demande aucun autre logiciel sur l’ordinateur. Cette application fonctionne quelle que soit l’architecture ou le système d’exploitation utilisé.

Les systèmes informatiques auxquels les agents accèdent sont à usage professionnel. Ce n'est pas un libre-service, accessible au grand public. Les données qui y sont gérées peuvent être confidentielles. L’accès est donc contrôlé pour éviter des indiscrétions ou

Page 19: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

des malveillances. Chaque membre de la Mairie possède un code d'accès à l'informatique personnel et un matricule.

Le matricule est donné lors de l’entrée dans la Mairie. C'est un code unique identifiant dans la base de données du personnel et les différentes applications informatiques. Il est souvent désigné par « nom de login ». Il est associé à une position dans une arborescence, qui reflète l'organigramme de la Direction et de la Mairie. Il correspond à un profil de sécurité qui donne accès ou pas à certaines applications.

3.2.2. Ecran d’accueil Après la saisie du matricule et du mot de passe, l’application est chargée et dirige l’utilisateur directement sur la page de menu. Divisé en trois parties, le titre en haut, le menu dynamique à gauche et le résultat à droite, il permet l’accès aux deux tâches principales :

- La création d’un arrêté - La consultation d’un arrêté

Le menu se personnalise selon le rôle attribué à l’agent qui s’est connecté, par

exemple, une personne ne travaillant pas dans un service préparateur n’obtiendra pas l’option de création mais uniquement celle de consultation.

Page 20: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3.2.3. Menu dynamique Le menu a été géré dynamiquement de manière à s’ouvrir et à se refermer sous un simple click de souris. Les puces deviennent rouges quand elles sont activées, de cette façon, l’utilisateur sait toujours où il se situe.

Page 21: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3.2.4. Création d’un arrêté Lors de la création d’un arrêté municipal, la première information à connaître est le type d’arrêté choisi. Le choix s’effectue dans une liste déroulante obligatoire. Il est donc possible de créer soit un arrêté temporaire (par défaut), soit un arrêté permanent. La saisie du matricule et du mot de passe donne l’identification exacte de l’agent et permet de le répertorier aussitôt comme le créateur du projet d’arrêté.

3.2.4.1. Identifications générales Selon le type souhaité, l’application affiche les différents champs à renseigner. Pour l’exemple nous prendrons un arrêté permanent. Le masque apparaît comme un formulaire classique. Comprenant tous les champs de l’identification générale selon le cahier des charges.

Les champs ne sont pas obligatoires, il est possible de revenir ultérieurement les compléter. Cependant, le projet d’arrêté existe à partir du moment où il existe un numéro d’arrêté et que le statut est valide.

Une fois l’enregistrement effectué, l’arrêté passe en statut valide et se voit doté d’un numéro d’identification unique, un tableau à onglet apparaît au dessus.

Page 22: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3.2.4.2. Tableau à onglets Ce tableau permet l’ajout des informations complémentaires, c’est-à-dire des localisations, des dates, des articles, des liens et des documents rattachés.

Par défaut il est toujours fermé, en création mais aussi en consultation :

Il s’agit d’un tableau s’ouvrant sur un click d’un onglet correspondant au choix de l’information complémentaire :

L’exemple choisi ci-dessus montre le circuit de l’arrêté avec les différentes dates, celles-ci sont remplies automatiquement après un click sur l’icône d’horloge à côté de chaque champ. Ceci permet une normalisation du format de date : JJ/MM/AAAA.

Les contrôles sont assurés lors de la validation du circuit et avertit l’utilisateur si une des contraintes de dates n’est pas respectée. Dans ce cas, il est impossible de sortir de la création tant que la date reste invalide.

Dans le cadre d’un soucis d’affichage et sachant que certains corps de tableau peuvent être très longs, un click sur un onglet ouvert repositionne le tableau en état par défaut. 3.2.4.3. Ajout d’une information complémentaire Les localisations, les articles et les liens correspondent à des masques différents. Pour ne pas les afficher comme des pages Web classiques lors d’un ajout, le tableau possède des boutons d’ajout ouvrant des petites fenêtres, appelées « popup ». Elles permettent au masque principal de l’arrêté municipal d’être toujours devant les yeux de l’utilisateur.

Page 23: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

L’exemple suivant montre l’ajout d’une localisation et d’un article. Les fenêtres spécifiques s’ouvrent et se referment dès que l’agent valide ou annule la saisie des informations complémentaires :

Aussitôt la fermeture d’une de ces deux fenêtres, le masque principal de l’arrêté est mis à jour automatiquement pour afficher les informations saisies. L’opération peut être répétée autant de fois que l’utilisateur le souhaite. Le tableau généré, rendant compte des ajouts est dynamique, il n’a pas de limites de taille :

Page 24: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3.2.4.4. Boutons de suppression Chaque document créé peut être supprimé. Afin d’éviter toutes mauvaises manipulations, une petite fenêtre d’avertissement personnalisée prévient l’utilisateur et lui demande confirmation. Elles apparaissent toujours dans des cas irréversibles après validation. Certains boutons ne sont accessibles que par certains profils d’utilisateur. Un simple consultant n’y a pas d’accès. Et conformément au cahier des charges, le bouton de suppression de l’arrêté municipal n’est accessible que par l’administrateur si le circuit comporte une date de signature du Maire ou si le statut de l’arrêté est totalement abrogé. Il en est de même pour les arrêtés archivés. L’exemple ci-dessous montre une fenêtre de confirmation de suppression lors de la modification d’un article :

Si l’utilisateur confirme, les deux premières fenêtres de l’avant plan se ferment et la page principale de l’arrêté sera réaffichée avec son tableau d’articles mis à jour.

Page 25: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

A la fin de la saisie de toutes les informations relatives au projet d’arrêté en cours, il suffit de sortir de l’écran de création en cliquant sur le bouton fermer en bas du masque principal. Cette action renvoie l’utilisateur au menu d’accueil de départ. L’arrêté venant d’être créé est aussitôt présent dans la base Domino et donc accessible immédiatement en consultation par les salariés de la Mairie. 3.2.5 Consultation Les consultations dont l’accès se fait par le menu d’accueil ont un double rôle. Elles permettent une simple visualisation des arrêtés par tous les agents de la Mairie quel que soit leur service d’origine. Et pour les personnes habilitées, lors de l’affichage d’un arrêté, elles disposent d’un bouton de modification. Ce bouton relance en plein écran le masque de création de l’arrêté avec les informations déjà complétées des saisies précédentes. Chaque état terminal du menu correspond à une vue différente de la base constituées de 60 000 arrêtés et qui permettent des recherches beaucoup plus précises. Les résultats rendus sont catégorisés selon des informations différentes.

Page 26: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3.3. Difficultés rencontrées La partie conception a démontré l’impossibilité d’établir une analyse préalable. Lotus Notes est un logiciel puissant qui montre quelques faiblesses en publication Web. Beaucoup de fonctions ne s’exécutent pas correctement et la coopération entre différents langages, notamment le HTML et le javascript, posent des soucis de compatibilité. La documentation de Lotus Notes et Domino Designer est entièrement orientée pour une publication sous Lotus. De ce fait, les difficultés de publication Web ont dû être analysées et réglées au cas par cas. Ainsi, la gestion d’un simple compteur calculant le nombre de localisations rattachées au masque principal a nécessité une journée entière de travail avant d’être opérationnelle. Sous Lotus même ou dans un autre langage de programmation, il aurait fallu moins de dix minutes et quelques lignes de code uniquement. 3.4. Etat d’avancement de l’application L’application de la gestion des arrêtés municipaux est en phase terminale. Sa date de lancement sur un serveur de production est fixée à septembre 2002. Seuls les contrôles d’accès, la récupération des vieux formats d’arrêtés et la mise en page définitive ne sont pas entièrement terminés. Les différentes modifications apportées en cours de développement qui ont, à trois reprises, réorientées la programmation, un temps d’adaptation de deux semaines à un nouvel environnement muni de langages de programmation spécifiques, et les contraintes Web, très pesantes, ont ralenti l’état d’avancement du projet par rapport à une application Lotus classique.

La création, la mise à jour et la consultation sont complètes et ont été validées lors des deux réunions du 11/06/2002 par les différentes Directions des principaux services (Circulation, Gestion des Voies Publiques et Police Administrative) et celle du 12/06/2002 par les futurs utilisateurs. Les dernières heures de travail ont été consacrées à la mise en forme. Améliorée aujourd’hui, elle reste encore en cours de développement :

Page 27: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion
Page 28: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

CONCLUSION Le projet avait pour objet de réaliser un logiciel de Gestion des arrêtés municipaux de la ville de Nice liés à la circulation. Les principales difficultés rencontrées se sont situées au niveau de la conception en publication Web de Lotus Notes et Domino Designer, publication à la base faite pour un environnement Lotus. L’utilisation d’outils et de langages inconnus ont nécessité de nombreuses recherches personnelles dans les diverses documentations apportées par la Mairie mais aussi sur des sites de cours, de formations et de forums accessibles via Internet. Ces démarches ont permis d’appréhender les mécanismes de la base de Documents Lotus et l’apprentissage de nouveaux langages. Ce stage, fructueux pour ma formation personnelle et mon expérience en entreprise, a été profitable à la D.I.T. puisque le travail réalisé permettra entre autre, d’enrichir les prochaines applications Web et de mieux comprendre les problèmes rencontrés.

Page 29: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Partie des annexes

Page 30: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

1 ENVIRONNEMENT DE TRAVAIL

Voici quelques saisies d’écran de la conception sous Lotus Domino Designer 5.

Page 31: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

2 MASQUE ARRETEMUNICIPAL

Page 32: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

3 MASQUE LOCALISATION

Page 33: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

4 MASQUE ARTICLE

Page 34: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

5 MASQUE MENU

Page 35: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

6 MASQUE CONFIRMATION

Page 36: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

7 AGENCEMENT DE CADRES WEB

Page 37: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

8 EXEMPLES DE PROGRAMMES Lotus est capable de gérer plusieurs langages de programmation en même temps. Pour cette application, trois langages ont été utilisés. 1. Les fonctions Lotus 1.1 Bouton d’ajout d’un sous-thème

Il ajoute un sous-thème d’une liste déroulante et remet à jour un compteur de sous-thèmes.

@If(ListeSousTheme=""; @Do( @SetField("ListeSousTheme";@ReplaceSubstring(SousTheme;" ";"|")); @SetField("NbSousTheme";NbSousTheme+1) ); @If(@IsMember(@ReplaceSubstring(SousTheme;" ";"|");ListeSousTheme);""; @Do( @SetField("ListeSousTheme";ListeSousTheme:@ReplaceSubstring(SousTheme;" ";"|"));@SetField("NbSousTheme";NbSousTheme+1) ) ) ); @Command([FileSave])

1.2. Bouton de suppression d’un sous-thème Il retire la sélection de la liste déroulante et remet le compteur à jour.

@If(@IsMember(@ReplaceSubstring(SousTheme;" ";"|");ListeSousTheme); @Do( @SetField("ListeSousTheme";@Replace(ListeSousTheme;@ReplaceSubstring(SousTheme;" ";"|");"@@@"));@SetField("NbSousTheme";NbSousTheme-1)) ;""); @Command([FileSave])

1.5. Bouton de validation d’une localisation

@SetField("TermeEtNomDeVoieDefinitif";AutreTermeEtNomDeVoie); @SetField("FlagMotCle";AutreMotCle); @SetField("Troncon";UnTroncon); @SetField("FlagAffich";""); @SetField("ValideIdent";"OK");

@Command([FileSave]) 2. Fonctions Lotus et HTML

Ce code représente le tableau dynamique qui affiche les informations

complémentaires conernant les localisations : "[<br><center><table bgcolor=silver width=90%><TR><TD bgcolor=silver><FONT size=3>Nom de la voie</TD><TD bgcolor=silver>Tronçon</TD></TR>]"

Page 38: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

dbNom:=@DbLookup("";�;"(VueLocalisationCategorisee)";DocId;2); dbTroncon:=@DbLookup("";�;"(VueLocalisationCategorisee)";DocId;3); dbDocId:=@DbLookup("";�;"(VueLocalisationCategorisee)";DocId;5); @If(@IsError(dbNom);"[<TR><TD bgcolor=\"snow\"><FONT SIZE=2>Pas d\'autres localisations</TD></TR>]"; "[<TR><TD bgcolor=#82C0FF width=250><FONT SIZE=2 COLOR=black><A href=\"Javascript: window.open(\'"+adresse+"/+/"+dbDocId+"?EditDocument&Modif=OK \',\'\',\'menubar=no,resizable=no,status=no,toolbar=no,scrollbars=no,width=470,height=270 ,left=160,top=100\'); void(\'\');\"><FONT SIZE=1>"+@UpperCase(dbNom)+" </a></TD><TD bgcolor=\"snow\"><FONT SIZE=2>"+dbTroncon+" </TD></TR>]")

[</TABLE>] 3. JavaScript Chargement de la page WEBConfirmation Ce code s’exécute à chaque chargement du masque Confirmation et permet selon le masque d’où vient l’utilisateur, de le réorienter vers la bonne destination. if(document.forms[0].ValideIdent.value=="OK") { //traitement de la suppression/annulation de l'arrêté if((document.forms[0].Lieu.value == "arrete") || (document.forms[0].Lieu.value == "arrete_annul")) { opener.location.replace(document.forms[0].retourMenu.value); window.close(); } //traitement des suppressions des localisations/articles if((document.forms[0].Lieu.value == "localisation") || (document.forms[0].Lieu.value == "article")) { opener.location.replace(document.forms[0].adresse_retour.value); window.close(); } //traitement des arretes totalement abroges et archivés if((document.forms[0].Lieu.value == "total_abroge") || (document.forms[0].Lieu.value == "archiver")) { opener.location.replace(document.forms[0].retourEdit.value); window.close(); } } 4. LotusScript 4.1. Agent de suppression d’arrêtés non valides

Il récupère la liste de tous les arrêtés non valides et les supprime. Le test est réalisé

sur un champ nommé ValideIdent.

Page 39: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Sub Initialize Dim Session As New NotesSession 'Session Dim Db As NotesDataBase 'Base de documents Dim VueArretes As NotesView 'Vue de tous les arrêtés Dim VueLocalisations As NotesView 'Vue de toutes les localisations Dim VueArticles As NotesView 'Vue de tous les articles Dim Arretes As NotesDocumentCollection 'Liste de tous les arrêtés Dim Localisations As NotesDocumentCollection 'Liste de toutes les localisations Dim Articles As NotesDocumentCollection 'Liste de tous les articles Dim Document As NotesDocument Set Db = Session.CurrentDataBase Set VueArretes = Db.GetView("(ArretesNonValides)") 'Initialise la vue de tous les arrêtes Set VueLocalisations = Db.GetView("(LocalisationsNonValides)") 'Initialise la vue de toutes les localisations Set VueArticles = Db.GetView("(ArticlesNonValides)") 'Initialise la vue de tous les articles Set Arretes = VueArretes.GetAllDocumentsByKey(1) Set Document = Arretes.GetFirstDocument While Not (Document Is Nothing) Set Localisations = VueLocalisations.GetAllDocumentsByKey(Document.DocId(0)) Call Localisations.RemoveAll(True ) Set Articles = VueArticles.GetAllDocumentsByKey(Document.DocId(0)) Call Articles.RemoveAll(True ) Set Document = Arretes.GetNextDocument ( Document ) Wend Call Arretes.RemoveAll(True ) End Sub 4.2. Agent d’archivage automatique

Cet agent vérifie les dates de fin de validité des arrêtés temporaires en fonction de la date du jour du système, puis change si besoin est, le statut en le mettant « archivé ». Sub Initialize Dim Session As New NotesSession Dim Confirm As NotesDocument 'Document courant Dim Db As NotesDataBase 'Base de documents Dim Arrete As NotesDocument Dim VueArrete As NotesView Set Confirm = Session.DocumentContext Set Db = Session.CurrentDataBase Set VueArrete = Db.GetView("(ArreteDocId)") 'Initialise la vue de tous les arretes Set Arrete = VueArrete.GetdocumentByKey(Confirm.DocIdArrete(0),True)

'Récupère le DocId de l'arrêté'

Page 40: Analyse et Conception d’un logiciel de Gestion des Arrêtés ...bobisland.free.fr/reaprof/mairie/rapport_MAIRIE.pdf · Analyse et Conception d’un logiciel de Gestion ... La gestion

Arrete.DateArchManuel = Today 'Initialise la date d'archivage à la date du jour' Arrete.FlagStatut = "Archivé" 'Initialise le statut à archivé' Call Arrete.Save (True,False) End Sub 4.3. Agent pour abroger totalement

Ce code modifie le statut de l’arrêté courant en le mettant en totalement abrogé, puis récupère tous les articles rattachés pour changer également leur statut en abrogé.

Sub Initialize Dim Session As New NotesSession Dim Confirm As NotesDocument 'Document courant Dim Localisations As NotesDocumentCollection 'Liste des localisations Dim Articles As NotesDocumentCollection 'Liste des articles Dim Db As NotesDataBase 'Base de documents Dim VueArticles As NotesView 'Vue de tous les articles Dim Document As NotesDocument Dim Arrete As NotesDocument Dim VueArrete As NotesView Set Confirm = Session.DocumentContext Set Db = Session.CurrentDataBase Set VueArticles = Db.GetView("(VueArticleCompteur)") 'Initialise la vue de tous les articles Set VueArrete = Db.GetView("(ArreteDocId)") 'Initialise la vue de tous les arretes Set Arrete = VueArrete.GetdocumentByKey(Confirm.DocIdArrete(0),True)

'Récupère le DocId de l'arrêté' Set Articles = VueArticles.GetAllDocumentsByKey(Arrete.DocId(0),True)

'Initialise la liste des articles Set Document = Articles.GetFirstDocument While Not (Document Is Nothing) Document.StatutArticle="Abrogé" 'Modifie tous les articles en statut abrogé' Document.MarqueurAbroge=1 Call Document.Save (True,False) Set Document = Articles.GetNextDocument( Document ) Wend Arrete.DateAbro = Today 'Initialise la date d'abrogation à la date du jour' Arrete.FlagStatut = "Totalement abrogé" 'Initialise le statut à Totalement Abrogé' Call Arrete.Save (True,False) End Sub