Академический Документы
Профессиональный Документы
Культура Документы
RAPPORT DE STAGE
Boyer Julien
Informatique 2me anne Promotion 2004 - 2006
Dpartement Informatique
Boyer Julien
DSIT
Remerciements
Je tiens remercier Mr Franois Raynaud pour mavoir permis deffectuer ce stage au sein de son service ainsi que pour ses conseils et le temps quil ma accord. Ensuite, je souhaite exprimer ma gratitude toute lquipe de la DSIT ainsi que les quatre autres stagiaires prsents lors de mon stage avec qui jai pass un agrable moment tout au long du stage. Je remercie galement Mr Romain Raffin mon tuteur, Mr Reboulet, responsable des stages et Youssef Chikhaoui, responsable des secondes annes de DUT informatique ainsi que tous les professeurs de lIUT dArles.
-2-
Dpartement Informatique
Boyer Julien
DSIT
Le contenu et les opinions de ce mmoire nengagent que leur auteur et ne sauraient en aucun cas tre considrs comme crits sous une autre
responsabilit.
-3-
Dpartement Informatique
Boyer Julien
DSIT
Introduction ................................................................................................................................ 5 English Introduction ................................................................................................................... 6 1 Contexte .................................................................................................................................. 7 1.1 Prsentation de lentreprise .............................................................................................. 7 1.2 Organigramme du service ................................................................................................ 8 1.3 Contraintes de dveloppement ......................................................................................... 8 1.4 Le stage ............................................................................................................................ 9 1.4.1 Le sujet .......................................................................................................................... 9 1.4.2 Le projet ........................................................................................................................ 9 2 la demande et lexistant......................................................................................................... 10 2.1 La demande .................................................................................................................... 10 2.2 Description du systme actuel........................................................................................ 10 3 Description du travail ralis................................................................................................. 10 3.1 Mise en place de l'environnement de travail .................................................................. 10 3.2 La comprhension des classes open Mairie ................................................................... 11 3.3 La comprhension de l'architecture d'un site open Mairie. ............................................ 11 3.4 Prise en main du code existant ....................................................................................... 11 3.5 Ajout des fonctionnalits l'application ........................................................................ 12 4 Les classes open Mairie......................................................................................................... 12 4.1 La classe dbForm ........................................................................................................... 13 4.2 La classe Formulaire ...................................................................................................... 13 4.3 La classe tab ................................................................................................................... 14 5 Prsentation de lapplication ................................................................................................. 14 5.1 Cas dutilisation.............................................................................................................. 14 5.1.1 Saisie de courrier ..................................................................................................... 14 5.1.2 Modification ............................................................................................................ 15 5.1.3 Suppression ............................................................................................................. 16 5.1.4 Recherche ................................................................................................................ 16 5.2 Architecture et explication de lapplication ................................................................... 17 5.2.1 Affichage d'un formulaire ....................................................................................... 17 5.2.2 Affichage d'un sous formulaire ............................................................................... 18 5.2.3 Recherche de courriers ............................................................................................ 19 6 Activits annexes................................................................................................................... 20 7 Problmes rencontrs ............................................................................................................ 20 8 Conclusion............................................................................................................................. 21 Glossaire................................................................................................................................... 22 Bibliographie ............................................................................................................................ 23 Annexes .................................................................................................................................... 24
-4-
Dpartement Informatique
Boyer Julien
DSIT
Introduction
Ce stage de 10 semaines (du 10 avril au 16 juin) vient clturer la formation en DUT informatique option imagerie numrique. Jai effectu mon stage la mairie dArles et plus prcisment la DSIT qui est le service informatique. Le but de mon stage tait dapporter de nouvelles fonctionnalits au logiciel open courrier qui sert la gestion du courrier ; en effet une administration telle que la mairie dArles recevant plusieurs centaines de courriers par jour implique la ncessit den informatiser la gestion. Dans un premier temps, je me suis familiaris avec les classes open Mairie partir desquelles open courrier a t cre. Ensuite, jai du dvelopper un moteur de recherche permettant de rechercher parmi tous les courriers saisis selon plusieurs critres laisss au choix de lutilisateur. Enfin, la dernire partie consistait grer la diffusion dun courrier en permettant la cration de sous formulaires rattachs un courrier.
-5-
Dpartement Informatique
Boyer Julien
DSIT
English Introduction
My placement in the DSIT started on April 10th 2006 and lasted for 10 week until June 15th 2006. Its goal was to give me a first professional experience and is an essential part of the DUT in computer science formation. The DSIT is the computing department of the town of Arles. This department had developed many open source applications in the object oriented language PHP. During this period of time, I had to implement new functionalities in the mail management software open courrier. This placement provided me a great experience within an experienced team.
-6-
Dpartement Informatique
Boyer Julien
DSIT
1 Contexte
1.1 Prsentation de lentreprise
Jai fait mon stage la Direction des Systmes Informatiques et Tlcommunications. Ce service a t cre en 1997 et est compose de 5 services : Administration ; Dveloppement ; Rseau et tlcommunications ; Bureautique ; Administration systme.
Au total, ce sont 14 employs qui sont rpartis dans ces services. Jai pour ma part effectu mon stage au sein du service dveloppement. La DSIT est lorigine des composants open Mairie. A partir de ces composants, plusieurs applications ont t dveloppes ou sont encore en cours de dveloppement comme par exemple openElec qui sert la gestion des listes lectorales, openCimetire utilis comme son nom lindique dans la gestion des cimetires ainsi que des applications de gestion de parcs informatiques, de stocks, de demandes de logements, Les composants open Marie et les diffrents logiciels dvelopps partir de ceux-ci sont open source et sont tlchargeables sur le GFORGE de lADULLACT Ladhsion de la DSIT lADULLACT ainsi que sa collaboration avec des socits de services telles que atReal elle aussi implique dans le dveloppement de logiciels open sources montrent sa volont de sinvestir dans le domaine du logiciel libre.
-7-
Dpartement Informatique
Boyer Julien
DSIT
-8-
Dpartement Informatique
Boyer Julien
DSIT
La base de donnes est de type MySql, mais lapllication doit permettre dutiliser dautres SGBD ; pour ce faire, il suffit de mettre au point un fichier spcifique au SGBD utilis. La mairie dArles tant adhrente lADULLACT, et cette dernire a mis en place un systme de GFORGE accessible par lintermdiaire dun logiciel de type CVS (Tortoise par exemple). Enfin, lapplication devait fonctionner sous Internet Explorer et Mozilla Firefox, ces deux navigateurs tant les plus rpandus.
1.4 Le stage
Ce stage doit tre effectue dans le cadre de lobtention du Dut informatique. Dune dure de dix semaines, il a pour but dapporter une exprience professionnelle ayant pour but une mise en pratique des acquis au cours des deux annes que comprends la formation et aussi de faciliter linsertion dans le milieu professionnel.
1.4.1 Le sujet
Le sujet de mon stage tait dapporter de nouvelles fonctionnalits au logiciel existant open Courrier version 1.0 dvelopp en PHP afin quil corresponde mieux aux attentes des utilisateurs.
1.4.2 Le projet
Le projet que javait ralis peut tre dcoup en deux parties : La premire consistait dvelopper un moteur de recherche permettant la recherche dun ou plusieurs enregistrements dans la table courrier selon plusieurs critres. La seconde partie portait sur la mise en place dun sous formulaire servant la diffusion du courrier.
-9-
Dpartement Informatique
Boyer Julien
DSIT
2 la demande et lexistant
2.1 La demande
Le service du courrier de la mairie dArles utilisait auparavant le logiciel open courrier dans sa version 1.0. Cette version ne proposait pas de fonction de recherche avance; en effet il tait seulement possible de rechercher une chane sur lensemble des champs dune table. Actuellement, la base de donnes contenant plus de 40 000 enregistrement, ce type de recherche savrait tre peu efficace. De plus, certains courriers reus donnent lieu une diffusion au sein dun service; cette diffusion partir dun courrier tait impossible dans la version prcdente. Les modifications apporter au logiciel taient donc de dvelopper un moteur de recherche multi critres au niveau de la table courrier et la cration dun sous formulaire permettant laffectation de tches suite la rception dun courrier.
Dpartement Informatique
Boyer Julien
DSIT
Fpdf.
Restait ensuite 'inclure leurs chemins d'accs dans le fichier php.ini se trouvant dans le rpertoire apache de easyphp (un redmarrage des serveurs est ncessaire pour prendre en compte les changements). Enfin, l'utilisation du logiciel CVS Tortoise tant de rigueur, j'ai du le tlcharger dans sa version la plus rcente (v 1.8.25) et l'installer. Une fois Tortoise install et un compte ouvert mon nom sur le GFORGE de lADULLACT par Mr Raynaud, l'administrateur des logiciels open Mairie, il m'tait alors possible de mettre jour mon travail et de le rcuprer a tout moment au niveau de ce serveur.
- 11 -
Dpartement Informatique
Boyer Julien
DSIT
Bien que cette modification ft terme remplac par un vritable moteur de recherche, elle ma permis de faire mes premires surcharges des fonctions de open Mairie et par la mme occasion dvoluer dans la comprhension du code.
Ensuite, la mise en place des sous formulaire peut tre dcompose de la manire suivante : Cration de la table tche ; Implmentation de laffichage tabulaire des sous formulaires rattachs un courrier ; Modification de la table service. Cration du sous formulaire.
- 12 -
Dpartement Informatique
Boyer Julien
DSIT
Dautres mthodes sont consacres la cration du formulaire faisant office dintermdiaire entre lutilisateur et la base et permettent entre autre la cration de champs de saisie, laffectation dun libell un champ, le groupement de plusieurs champs : Settype : sert dfinir le type de champ; Setval : affecte une valeur par dfaut un objet ; Setlib : permet dafficher un libell correspondant un champ; Settaille : sert affecter une taille un champ; Setmax : permet de dfinir le nombre de lignes dun champ; Setselect : sert affecter les diffrentes valeurs un champ select; SetOnchange : effectue des contrles lors des changements de valeurs; SetGroupe : regroupe plusieurs champs.
Toutes ces fonctions prennent en paramtre ladresse dun formulaire et un entier servant indiquer quel type de traitement on souhaite raliser (ajout, suppression, mise a jour). Les fonctions portants le mme nom de la classe formulaire sont appeles grce ladresse du formulaire. Cette classe dispose galement dune fonction retour qui permet de faire le lien entre laffichage du formulaire et laffichage de la base.
Dpartement Informatique
Boyer Julien
DSIT
Un autre ensemble de fonctions est disponible. Ces fonctions ont pour but la cration des champs au niveau du formulaire : Hiddenstatic : cre un champ non modifiable ; date : fait apparatre un champ de saisie de date; select : permet de crer un champ choix multiple; comboG : affiche le champ droite au niveau du formulaire; comboD : affiche le champ a gauche au niveau du formulaire; upload : ouvre un slecteur de fichier; hidden : champ non modifiable.
Toutes ces fonctions prennent en paramtres le nom du champ et crent un champ de type souhait.
5 Prsentation de lapplication
5.1 Cas dutilisation
5.1.1 Saisie de courrier
Le service reoit un courrier; - 14 -
Dpartement Informatique
Boyer Julien
DSIT
Lutilisateur lance la saisie, la modification ou la suppression de courrier; Le Formulaire est cre et adapt la saisie de courrier; Lutilisateur renseigne les champs du formulaire et valide; En cas derreur, un message saffiche; Le courrier est ajout dans la base; Lutilisateur ajoute un nouveau courrier ou revient sur laffichage de la table.
Annexe II
5.1.2 Modification
Ce cas est quasiment similaire la saisie, la diffrence rside dans le fait que les champs du formulaire seront automatiquement remplis en fonction du courrier que lon souhaite modifier. De plus, lors dune modification il est possible dditer des sous formulaires rattachs au courrier. Ces sous formulaires fonctionnent sur le mme principe que les formulaires.
- 15 -
Dpartement Informatique
DSIT
5.1.3 Suppression
De mme, lors dune suppression, les champs seront automatiquement remplis mais il ne sera pas possible de les modifier ; le seul choix laiss lutilisateur est la confirmation de la suppression ou le retour vers laffichage de la table.
5.1.4 Recherche
Annexe IV
- 16 -
Dpartement Informatique
Boyer Julien
DSIT
Annexe V
On remarque sur ce schma que la cration d'un formulaire qui a lieu au niveau de form.php ncessite l'inclusion de trois autres fichiers :
La feuille de style ou CSS, elle contient les informations sur l'apparence de la page concerne; Objet.class, ce fichier contient les surcharges des fonctions de la classe open Mairie dbForm; c'est lui qui dfinit les types de champs qui vont apparatre, la possibilit ou non qu'auras l'utilisateur d'y entrer ou non des informations, il fait office de lien entre l'utilisateur et la base de donnes. Le fichier de paramtrage Objet.inc contient toute les informations relatives l'interaction avec la base de donnes telles que le paramtrage des requtes, les liens correspondants aux icnes, la prsence ou non de sous formulaires. Il est important de noter que chaque table de la base un fichier.inc correspondant et qu'ils sont propres au SGBD utilis.
- 17 -
Dpartement Informatique
Boyer Julien
DSIT
tab.class est une des classes open Mairie dcrite prcdemment. Soustab permet laffichage du tableau prsentant les sous formulaires rattachs au courrier en cours ddition.
Un exemple de sous tableau et de sous formulaire sont respectivement disponible en annexes IX (9) et X (10)
- 18 -
Dpartement Informatique
Boyer Julien
DSIT
Annexe VII
On constate que pour effectuer une recherche, trois fichiers sont appels Linterface de la recherche dans laquelle lutilisateur va saisir les informations quil souhaite afficher ; Recherche.tab qui est une surcharge de la classe tab de open Mairie ; cest partir de ce fichier que sera cre laffichage ; Tab.php qui sert dintermdiaire entre les deux fichiers prcdents ; il rcupre les informations en provenance de linterface de la recherche et les transmet recherche.tab pour lui indiquer quels lments sont afficher.
- 19 -
Dpartement Informatique
Boyer Julien
DSIT
6 Activits annexes
Au long du stage, en plus de lactivit de dveloppement laquelle jai t assign, jai eu le privilge de participer quelques activits supplmentaires. Tout dabord, jai accompagn Mr Nicolas Issart, chef du service administration systme au centre technique municipal o jai pu assister une ngociation tlphonique entre le directeur du dit service et le directeur dune socit. Ensuite, la priode de mon stage correspondait une priode de changement du coeur de rseau faisant suite un appel doffres. A cette occasion, jai eu le plaisir daccompagner au cours dune aprs midi Mr Abdelouahed Djamel, Agent dentretien au service tlphonie et rseau qui tait alors charg de faire migrer les cbles constituants la dorsale du rseau de la ville de 100Mbits/s vers du Gigabits/s en fibre optique. Jai ainsi pu mieux apprhender ltendue du rseau de la Ville. De plus, Mr Raynaud, mon tuteur ma invit assister une de ses nombreuses prsentations des logiciels open Mairie auprs dune collectivit qui tait intresse notamment par la gestion des lections, des cimetires et des stocks. Enfin, dans les derniers jours du stage jai entam la cration dun gnrateur automatique de fichiers CSS partir dune image avec Mr Jean-Louis Bastide, technicien chef affect au service dveloppement. Pour ce faire, nous avons utilis la librairie de traitement dimages intgre PHP baptise GD qui contient les mthodes de base ncessaires la manipulation dimages en 2D. Ce projet nest actuellement pas abouti.
7 Problmes rencontrs
Au cours du dveloppement de lapplication, jai rencontr plusieurs problmes. Pour commencer, comme dit prcdemment, mon premier problme ft comprendre le code existant ainsi que larchitecture de lapplication. Ensuite, dautres problmes se sont poss a cours du dveloppement tel que loption magic_quote de PHP ; cette option est activer ou non au niveau du fichier PHP.ini et a pour but de protger automatiquement les simples et doubles ctes dans un lien. Ayant cette option dsactive par dfaut, je nai pas pens grer le cas ou elle ltait ce qui a eu pour consquence un plantage de lapplication lorsque Mr Raynaud la teste sur sa machine. Troisimement, lapplication devait pouvoir tourner la fois sous Mozilla Firefox et Internet Explorer qui sont les deux navigateurs les plus utiliss. Ayant dvelopp exclusivement sous Firefox, jai eu quelques soucis lors de ladaptation Internet Explorer.
- 20 -
Dpartement Informatique
Boyer Julien
DSIT
Ensuite, lors du dveloppement du moteur de recherche je devais pouvoir conserver les paramtres reprsentants les choix de recherche de lutilisateur lors de la navigation entre les pages ; pour ce faire jai du transformer le tableau contenant les paramtres en utilisant rois fonctions diffrentes : une srialisation, un encodage au format url et une protection des quotes. De plus, il tait impossible de faire des requtes imbriques sous mysql, jai donc du passer par des jointures pour palier a ce problme. Concernant le gnrateur de fichiers CSS, PHP ntant pas adapt la manipulation dimages nous avons donc rencontr des problmes pour adapter les mthodes de la librairie GD au type de traitements que lon souhaitait raliser. Enfin, un problme moindre ft le log derreur de PHP qui est peu explicite, ce qui est problmatique au dbut.
8 Conclusion
Les fonctionnalits demandes ont t intgres lapplication. La ralisation de ce projet ma permis de travailler par moi-mme et ma surtout appris me conformer aux souhaits des utilisateurs ainsi qu la faon de travailler en entreprise. De plus, jai pu participer au dveloppement de logiciels libres, ce que je considre comme tant un privilge. Au final, jai vcu une trs bonne exprience loccasion stage aussi bien dans la faon de travailler que dans lambiance agrable qui rgnait.
- 21 -
Dpartement Informatique
Boyer Julien
DSIT
Glossaire
DSIT Direction des Services Informatiques et Tlcommunications. Cest le service informatique de la ville dArles. Open Mairie Ensemble de classes dveloppes en PHP ayant pour but de permettre de dvelopper rapidement des applications web. SGBD Signifie Systme de Gestion de Base de Donnes ; cest un ensemble de programmes destins assurer la gestion et laccs une base de donnes. DB PEAR PEAR signifie "PHP Extension and Application Repository, cest un ensemble de bibliothques organises sous forme de packages, le package DB est une couche dabstraction de base de donnes. CVS - Concurrent Version System. Les logiciels de type CVS servent grer les diffrentes versions dun programme. http://fr.wikipedia.org/wiki/CVS GFORGE - Gforge est une application libre d'aide au travail collaboratif, qui permet d'organiser et de faciliter le travail d'quipes de dveloppement sur des projets logiciels. C'est un outil idal qui permet le travail distribu entre plusieurs quipes rparties plusieurs endroits, tout en respectant les contraintes de flexibilit des dveloppeurs. Gforge intgre en un point uniques trois composants essentiels des outils de travail collaboratif : Outils de communication : forums web, listes de diffusion, systme de publication de nouvelles ; Outils de suivi : suivi de bogues et de correctifs, suivi de tickets de support, gestion de tches et de projets ; Outils de partage d'informations : gestionnaire de versions, bibliothque d'lments partags, gestionnaire de documentation, publication de fichiers.
Tous ces outils sont grs par une interface web, ce qui permet une utilisation simple sans ncessiter d'homognit des postes de travail. Ils sont galement activables et dsactivables volont, ce qui permet d'adapter le mode d'utilisation de Gforge au mode de travail existant. ADULLACT Association des Dveloppeurs et des Utilisateurs de Logiciel Libre pour lAdministration et les Collectivits Territoriales CSS Cascade Style Sheets, c'est un fichier qui contient les informations sur les couleurs utiliser, les polices de caractres, l'apparence des boutons, les types de bordures. Cette sparation de la prsentation du style et le contenu des documents ont pour but de simplifier ldition pour le web et la maintenance dun site. FPDF signifie Free PDF, il sagit dune classe PHP permettant de gnrer des PDF partir dun code PHP. - 22 -
Dpartement Informatique
Boyer Julien
DSIT
Bibliographie
Portail de open Mairie. http://www.openmairie.org/ Librairie Pear, le connecteur de base de donnes utilis dans le cadre du projet. http://pear.php.net/ GFORGE de lADULLACT. http://adullact.net/ Codes hexadcimaux de quelques couleurs, pour les feuilles de style. http://perso.orange.fr/jmpetit/dossiers/webmaster/couleurshexa.htm Aide sur les diffrentes balises HTML. http://www.laurent-bernat.com/html-balises.php3?quoi=recap_balises Aide sur le SQL http://sql.developpez.com/ Documentions sur les diffrentes fonctions PHP http://fr3.php.net/ Site daide en franais sur PHP http://www.phpfrance.com/ Forums daide sur PHP http://php.developpez.com/ http://www.developpez.net/forums/forumdisplay.php?f=25
- 23 -
Dpartement Informatique
Boyer Julien
DSIT
Annexes
Annexe VIII Exemple de formulaire
- 24 -
Dpartement Informatique
Boyer Julien
DSIT
- 25 -
Dpartement Informatique
Boyer Julien
DSIT
- 26 -