Documente Academic
Documente Profesional
Documente Cultură
Mariem ZAIRI
Responsable entreprise
: Stphan BERNARD
Responsable ISIMA
: Gilles LEBORGNE
REMERCIEMENTS
Mes remerciements s'adressent principalement mon matre de stage, Stphan
Bernard, pour mavoir accord sa confiance dans ce projet et pour toute l'aide quil m'a
apport afin de me permettre de mieux cerner le travail raliser tout au long du stage.
De mme, je remercie mon responsable l'ISIMA, Gilles Leborgne, pour son suivi et
son soutien au cours de ce stage.
Mes remerciements vont galement Madame Murielle Mouzat, ma professeure de
communication pour m'avoir appris la bonne dmarche pour la ralisation d'un rapport et
d'une prsentation orale.
Enfin, merci toute lquipe TSCF, pour son accueil, sa disponibilit et sa bonne
humeur permanente.
RSUM ET ABSTRACT
RSUM
Depuis plusieurs annes, des recherches visant capitaliser la connaissance sur le
comportement des barrages sont ralises au CEMAGREF dAix-en-Provence. Ces travaux
ont pour but de dvelopper des mthodes daide lexpertise en complment aux mthodes
mcaniques pour valuer la sret de fonctionnement des barrages en service.
Dans la ligne des prcdents travaux raliss, qui ont permis dobtenir les diffrents
scnarios de vieillissement des barrages, mon travail a consist dvelopper une base de
connaissances interactive sur les pathologies des barrages.
Cette base de connaissances a pour but de structurer le maximum d'informations sur
les barrages, permettant ainsi ses utilisateurs de mieux en comprendre les diffrents
mcanismes de rupture et de dgradation.
Ce projet propose une solution pour stocker les informations de chaque barrage dans
une base de donnes, une visualisation par le biais d'une interface Web et une gestion des
droits daccs par un systme d'authentification.
Mots cls : Barrage, vieillissement, dgradation, interface Web, base de donnes
ABSTRACT
Research about knowledge capitalization for embankment dams behavior have been
conducted for many years in Cemagref, a public research institute, at its center based at Aixen-Provence. The goals of these works are on one hand to develop expertise assistance
methods, in addition to reliability mechanics methods, and on the other hand to assess
embankment dams operational safety methods.
To complete anterior researches, from which different embankment dams aging
scenarios have been obtained, my work consisted in the development of an interactive
knowledge database for embankment dams pathology.
This knowledge base is to structure the maximum amount of information on dams and
allow its users to have better understanding of the different failure mechanisms and
degradation of dams.
This project suggests a solution to store information for each dam in a database,
visualizing them through a web interface with the management of access rights thru an
authentication system.
Keywords : Dam, aging, degradation, web interface, database
a. Les incidents................................................................................................16
b. L'hritage....................................................................................................17
c. Les actions correctives................................................................................18
d. Les Widgets.................................................................................................22
3.1.3. Notes.............................................................................................................. 23
4. Gestion des utilisateurs.................................................................................................24
5. Estimation de la volumtrie de la base de donne........................................................25
6. Prsentation de l'application.........................................................................................25
6.1. Fonctionnement gnral........................................................................................25
6.2. Front-end............................................................................................................... 26
6.3. Back-end...............................................................................................................34
III. Rsultats.........................................................................................................................35
1. Rsultat obtenu.............................................................................................................35
2. Amlioration future......................................................................................................35
IV. Bilan............................................................................................................................... 36
1. Difficults rencontres.................................................................................................36
2. Apport pour l'entreprise................................................................................................36
3. Bilan personnel............................................................................................................. 36
Conclusion............................................................................................................................ 38
Glossaire............................................................................................................................... 39
Rfrences Bibliographique..................................................................................................41
INTRODUCTION
Des accidents lis aux dgradations des barrages, due au vieillissement de ces derniers,
une mauvaise conception ou encore laction de lhomme, peuvent se produire et
entraner la rupture de ces ouvrages. Par ailleurs, cette rupture peut avoir des consquences
humaines, conomiques ou encore environnementales non ngligeables.
Ainsi, il est donc ncessaire de produire des mthodes et des outils permettant de
matriser la scurit des ouvrages hydrauliques, afin de pouvoir dterminer la fiabilit de ces
derniers.
Parmi diffrentes mthodes possibles, certains travaux reposent sur lexpertise de ces
ouvrages, et plus prcisment sur la formalisation des dires dexperts dans le but dvaluer
la performance globale du barrage et sa sret de fonctionnement. Ces travaux sont raliss
pour permettre de vrifier que les barrages sont dans un tat de scurit satisfaisant, et si ce
nest pas le cas, d'effectuer des actions correctives pour rhabiliter ces ouvrages.
La thmatique de mon stage que j'ai effectu au sein du Cemagref de ClermontFerrand, sinscrit dans ce contexte de formalisation des dires dexperts afin de pouvoir,
bnficier d'un outil permettant d'valuer la performance dun barrage vis--vis de diffrents
modes de rupture dj constats. Le dveloppement dune base de connaissances interactive
des barrages permet entre autres de rassembler en un seul outil un certain nombre de
connaissances, de pouvoir faire une interrogation guide des informations stockes et de
fixer une terminologie commune concernant les phnomnes de dgradations des fonctions
de ces ouvrages.
Pour commencer, ce rapport prsente une synthse du contexte professionnel.
Elle est suivie d'une partie plus technique. Je commencerai par prsenter la partie
analyse du projet, puis les choix technologiques, et enfin le dveloppement de l'application.
Ce rapport se terminera par une conclusion de ce stage, comment je lai ressenti, une
explication des diffrents problmes rencontrs et un bilan personnel.
M. Zairi
M. Zairi
Espaces ruraux
Ur cosystmes mditerranens et risques : Dynamique des espaces agricoles et forestiers,
notamment en zone pri-urbaine, risques lis aux feux de fort
M. Zairi
II. PROJET
1. Besoin des experts
1.1. Cahier des charges
Actuellement, les connaissances explicites sur la conception-ralisation et les modes
de rupture et dgradation des barrages sont nombreuses mais disperses. Elles prsentent en
outre des formats diffrents tels que des textes, des photographies ou des vidos. Il est donc
intressant de rassembler, capitaliser et expliciter les connaissances actuelles et futures. Les
experts souhaitent donc avoir une base de connaissances ddie aux barrages et axe plus
particulirement sur leur conception et leur ralisation ainsi que leurs modes de rupture et de
dgradation. Lexistence dune telle base de connaissances a plusieurs intrts et permet de :
Capitaliser les connaissances, les rassembler en un seul outil et enrichir cet outil au
fur et mesure de la cration de nouvelles connaissances.
Constituer un outil de formation : elle permet par exemple un utilisateur de trouver
des dfinitions, elle aide la formation dun jeune expert.
Produire un outil de documentation : elle permet alors un utilisateur de se rfrer
un barrage qui aurait subi un mme dsordre ou daccder une prconisation
daction corrective.
Faciliter la communication entre les utilisateurs notamment par la dfinition dun
vocabulaire commun. Cet outil de communication peut tre usage interne dun panel
dexperts dialoguant sur un mme problme mais aussi usage externe entre un
animateur non expert et un groupe dexperts.
2. Choix technologique
La premire question qui s'est pose pour la ralisation de la partie technique du projet
t de choisir une architecture pour l'application.
M. Zairi
2.1.1. Le modle
Le modle reprsente les structures de donnes. Typiquement, les classes modles
contiennent des fonctions qui aident rcuprer, insrer et mettre jour des informations de
la base de donnes.
M. Zairi
2.1.2. La vue
La vue correspond l'interface avec laquelle l'utilisateur interagit. Elle se prsente
sous la forme d'un template reprsentant l'interface, mais sans les donnes.
2.1.3. Le contrleur
Il gre l'interface entre le modle et le client. Il va interprter la requte de ce dernier
pour lui envoyer la vue correspondante. Il effectue la synchronisation entre le modle et les
vues.
M. Zairi
M. Zairi
M. Zairi
Un gnrateur de back-office.
Un systme de gestion de langue (pour internationaliser un site).
Une couche de mapping objet-relationnel (ORM) et une couche d'abstraction de
donnes.
Le support de l'Ajax.
Une architecture extensible, permettant la cration et l'utilisation de plugins.
Symfony semble le framework le plus volu. Son gnrateur de back-office et son
systme de configuration par langage YAML, l'instar de Ruby on Rails est
particulirement intressant.
Il semble une trs bonne alternative Zend, disposant des fonctions quivalentes celui-ci
mais plus simple matriser de par sa conception. Sans oublier la gnration automatique de
code-source par fichier de configuration YAML. De plus, malgr son jeune ge, il est fiable
et prouv.
Copix
Copix est un framework pour le langage PHP dvelopp par une communaut de
dveloppeurs franais. Il est construit en cinq couches : coordination, services, domaines,
persistance et prsentation. Ses principales fonctionnalits sont :
Un gestionnaire de langue (internationalisation).
Un systme simple et complet de rewriting d'URL.
Des DAO automatiques permettant l'accs aux donnes par de multiples moyens.
Un systme de modules pour dcouper une application en plusieurs sous-systmes
facilement exportables.
Un systme de cache.
Un systme de template.
Le modle en cinq couches de Copix semble plus complexe et moins naturel que le
modle MVC. De plus, par certains aspects, Copix (notamment son back-end) se
rapprochent plus d'un CMS que d'un rel Framework.
M. Zairi
M. Zairi
10
Fonctionnement de symfony
Larborescence dune application Symfony sur le serveur Web se prsente de la
manire suivante :
Mon_Projet
- apps : Ensemble des applications Symfony
o mon_appli : Application Symfony
i18n : Dossier de traduction
modules : Liste des modules
mon_module
o actions : Actions du module (Contrleur)
o templates : Templates du module (Vue)
- cache : Fichiers mis en cache
- config : Fichiers de configuration
o doctrine : Type dORM (Information dans la page suivante)
schema.yml : Fichier de configuration de la base de donnes
- data : Donnes insres dans la base
o fixtures : Insertion des donnes par dfaut
o sql : Scripts de cration de BD
- lib : Librairie de lapplication
o filters : Configuration des filtres de recherche
o forms : Configuration des formulaires
o model : Classes PHP correspondantes la BD
- log : Fichiers des logs de lapplication
- test : Fichiers des tests unitaires et fonctionnels
- web : Fichiers utiles pour le rendu
o css : Feuilles de style
o images : images de lapplication
o js : Scripts javascript
o uploads : Dossier de sauvegarde des documents uploads
o index.php : Fichier charg par le serveur web
M. Zairi
11
Sous Doctrine :
$items = Doctrine_Query::create()
->from('Barrage b')
->where('b.id = ?', 5)
->execute();
La solution propose par Doctrine est donc plus facile interprter que celle de Propel.
Laffectation de valeurs aux attributs est diffrente. Propel gnre tous les accesseurs alors
que Doctrine utilise des proprits magiques . Donc la solution de Propel prsente
lavantage dtre compatible avec la majorit des outils de dveloppement comme Eclipse.
Malgr cet inconvnient, Doctrine possde une bonne documentation et lcriture du
modle est plus facile avec le format YAML que le format XML sans outil supplmentaire.
C'est pourquoi j'ai choisi Doctrine pour mon application.
Une fois le modle dORM choisi, il faut implmenter la base de donnes, donc
rdiger le fichier YAML. La structure de schma est trs importante pour l'affichage de
l'application car certaines pages sont automatiquement gnres avec le schma relationnel.
Quand cette tape est termine, le codage de lapplication peut commencer.
M. Zairi
12
3. Ralisation de lapplication
3.1. Schma relationnel
Un barrage a des caractristiques physiques, peut subir des vnements tels que des
incidents ou des actions correctives. Chacun de ces lments, dcrit dans la base de donnes,
peut tre enrichi l'aide de fichiers texte ou de fichiers multimdias.
Caractristiques physiques :
- Hauteur
- Matriaux
- Type ...
Notes :
- Documents textes
- Fichiers multimdia
vnement :
- Incidents
- Actions correctives
M. Zairi
13
La longueur.
Ainsi que d'autre donnes importantes pour son dimensionnement. J'ai choisi
l'enregistrement de tout ces derniers dans une seule table persa_barrage .
M. Zairi
14
15
M. Zairi
16
b. L'hritage
Schma Uml des incidents
Pour viter la redondance des informations dans la base de donnes on utilise
lhritage :
Catgorie type incident
1..n
0..1
1..n
Type incident
Phnomene
Concption-Ralisation
1..n
0..1
0..1
Consquence
1..n
0..1
Incidents
1..n
0..1
Source
M. Zairi
17
Pour mon application, j'ai choisi lhritage par agrgation de colonne. Cet hritage
stocke toutes les colonnes, y compris celles des tables filles dans la table mre (ici
type_incidents ) ainsi qu'une colonne type pour identifier les diffrents types
d'enregistrement. Par consquent, lorsqu'un enregistrement persiste en base de donnes, une
valeur est affecte cette colonne afin de dterminer quelle classe il appartient.
Ici les deux tables filles sont reprsentes par la variable type de table
type_incident .
18
M. Zairi
19
catgorie_action_corrective
lment 1
lment 2
lment 3
lment 1.1
lment 1.2
lment 1.3...
lment 2.1
lment 2.2...
lment 3.1
lment 3.2
type_action_corrective
lment 1.1.1
lment 1.1.2
lment 1.2.1
lment 1.3.1
lment 2.1.1
lment 3.1.1
lment 3.1.2
lment 3.1.3
lment 3.2.1
20
Pour des raisons de fonctionnalits, l'affichage des relations ManyToMany propos par
Symfony via des widgets ne convenait pas notre application. Symfony affiche les relations
ManyToMany avec des listes droulantes choix multiple qui contient tout les types.
Cependant nous voulions une liste droulante trois niveaux. Il a donc fallu crer des
widgets personnaliss.
M. Zairi
21
d. Les Widgets
Le framework de formulaire de symfony est livr avec un lot de widgets utiles qui
fournissent les fonctionnalits de base. Cependant, pour afficher les champs d'un formulaire
particulier, il est ncessaire dvelopper des widgets personnaliss.
BDD
getTypes ()
P
H
Mon_Widget(){
P
...
}
JavaScript
Function selectChanged()
{
select1.hide();
select2.show();
}
Genre
HTML
onChange()
Le code PHP gnre le code HTML des diffrentes listes afficher partir de la base
de donnes. Le JavaScript affiche ou cache les listes droulantes en fonction de la slection
de l'utilisateur.
M. Zairi
22
3.1.3. Notes
En plus des diffrentes caractristiques physiques et des divers vnements qui
peuvent concerner un barrage, son tude peut tre enrichie par un ensemble de documents
jugs utiles par les experts, tels que des fichiers texte ou multimdia.
Chaque barrage et chaque incident peut tre reli un ensemble de photos, des
documents PDF voire mme des vidos.
Les utilisateurs de l'application auront la possibilit d'associer des fichiers leurs
barrages leurs incidents, mais aussi d'attacher des fichiers multimdias la page
daccueil.
La table multimdia persa_media est en relation ManyToMany avec la table des
barrages persa_barrage : un barrage peut avoir un ou plusieurs fichiers mdia et un
fichier mdia peut tre reli un ou plusieurs barrages en mme temps. Il en est de mme
pour les incidents.
23
Nom
Description
Permission_admin
Permission administrateur
Permission_create
Permission_update
Permission_update_all
Permission_validate
Permission_validate_all
Nom du groupe
Description
Permission du groupe
Group_admin
Groupe
administrateur
Permission_admin, Permission_create,
Permission_update, Permission_update_all,
Permission_validate, Permission_validate_all
Group_expert
Groupe expert
Permission_create, Permission_update,
Permission_update_all, Permission_validate
Group_prof
Groupe professeur
Permission_create, Permission_update
24
6. Prsentation de l'application
6.1. Fonctionnement gnral
Voir Illustration 14 : Architecture simplifie de l'application, page 26.
Fichier HTML
Le format HTML (Hypertext Markup Language soit langage de balisage dhypertexte
en franais) contient le contenu et la structure de la page Web. C'est le fichier qui sera
rcupr par le navigateur, puis lu. Aprs cette lecture, le navigateur charge les fichiers
annexes comme les fichiers CSS, JS, les images, etc. Le format XHTML est bas sur
l'XML.
Fichier CSS
Le format CSS (Cascading Style Sheets ou feuilles de style en cascade en franais) sert
dcrire la prsentation des documents HTML et XML. C'est ce fichier qui gre le
positionnement du contenu, les couleurs, polices, etc.
Fichier JS
Les fichiers JS contiennent du code Java Script qui est excut sur le navigateur du
client. Le Java Script permet de modifier le contenu des fichier HTML, de modifier les
rgles CSS (ce qui permet de crer des animations), mais aussi de rcuprer des donnes via
des requtes AJAX.
Fichier TPL
Les fichiers de template correspondent aux vues du modle MVC, ils contiennent des
morceaux de code XHTML avec des instructions spcifiques comprises par le moteur de
template charg de fusionner la vue aux modles (donnes). Ses vues sont ensuite associes
par le contrleur pour obtenir le fichier HTML final de la page.
M. Zairi
25
Fichier PHP
Ces fichiers contiennent du code PHP. PHP (acronyme rcursif pour PHP : Hypertext
Preprocessor), est un langage de scripts libre principalement utilis pour la gnration de
fichiers HTML dynamiques. Le serveur web utilise l'interprteur PHP pour gnrer les
pages HTML via PHP qu'il envoie ensuite au client.
6.2. Front-end
Ici je vais vous dtailler les diffrentes fonctionnalits de linterface web. Vous pouvez
voir ci-dessous la page de connexion de l'application.
M. Zairi
26
Cette page (Illustration 15) permet l'identification d'un utilisateur grce un login et
un mot de passe. L'utilisateur est oblig de se connecter si il souhaite accder aux autres
pages et fonctionnalits de l'application.
Une fois lauthentification russie, lutilisateur est redirig automatiquement vers la
page affichant tous les barrages qui sont rpertoris dans la base de donnes et tris par type.
Cependant, ces droits changent d'un utilisateur un autre. En effet, certains utilisateurs ont
le droit de voir ou de modifier la liste des barrages et d'autres non.
M. Zairi
27
Depuis la page daccueil lutilisateur pourra donc afficher les dtails d'un barrage et
selon ses droits. Il pourra modifier ou supprimer un barrage qui est enregistr dans la base
de donnes.
En effet, il existe 4 types de barrages :
Les Barrages (en noir et en gras) : ce sont les barrages valids par l'administrateur, il
peuvent tre affichs par tout le monde et dont le propritaire est l'utilisateur connect.
Les Barrages (en noir) : ce sont les barrages valids par l'administrateur, il peuvent
tre affichs par tout le monde et dont le propritaire n'est pas l'utilisateur connect.
Les Barrages (en gris et en gras) : ce sont les barrages non valids, leurs donnes ne
sont pas publiques et leur propritaire est l'utilisateur connect.
Les Barrages (en gris) : ce sont les barrages non valids, leurs donnes ne sont pas
publiques et leur propritaire n'est pas l'utilisateur connect.
M. Zairi
28
Lorsque le barrage est affich, l'utilisateur peut galement ajouter des nouveaux
incidents, mesures, tudes hydrologiques, ou des mdias au barrage. Pour cela il doit cliquer
sur les menus Nouvel incident , Nouvelle mesure , Nouvelle hydrologie , ou
Nouveau mdia qui sont gauche de la page.
Un barrage doit avoir obligatoirement un propritaire. Ce dernier a la possibilit de
valider son propre barrage pour le rendre visible tout le monde.
M. Zairi
29
Si l'utilisateur souhaite ajouter un incident pour un barrage, il sera rdig vers la page
suivante. Pour chaque incident plusieurs sources, consquences ou actions correctives
peuvent tre ajoutes.
De la mme faon que les incidents, l'utilisateur de l'application peut ajouter des
nouvelles mesures au barrage. Il peut choisir le type de ce dernier l'aide d'une liste
droulante 2 niveaux, rdiger un commentaire et mettre le nombre de mesures.
M. Zairi
30
Il est possible d'ajouter pour chaque barrage et/ou incident des fichiers textes, des PDF,
des images, des vidos. L'utilisateur a aussi la possibilit d'attacher des documents
uniquement aux barrages qu'il a le droit de modifier.
S'il s'agit d'un document gnral concernant tout les barrages de la base de donne il
est possible de l'attacher la page daccueil.
M. Zairi
31
Une fois l'image enregistre, l'utilisateur sera redirig vers une page lui permettant de
voir le fichier qu'il a tlcharg au format rduit ou rel. Il aura aussi la possibilit de l'diter
ou de le supprimer.
M. Zairi
32
Si il y a eu des tudes hydrologiques sur un barrage, l'utilisateur peut les ajouter la base de
donnes l'aide du menu Nouvelle hydrologie .
M. Zairi
33
6.3. Back-end
Le back-end est la partie servant grer tout le contenu du site visible par les visiteurs
sur le front-end. Par dfinition, l'accs au back-end doit tre protg par mot de passe
puisqu'il permet de modifier le contenu du site. L'interface graphique du back-end devait
tre claire et pouvoir afficher de grandes quantits d'information, ce qui n'est pas le cas de
l'interface du front-end qui est de taille fixe.
L'interface d'administration est dcoupe en deux parties : la partie de gauche qui sert
afficher de l'aide et des liens vers d'autres fonctions ; et la partie de droite qui contient tout
le contenu et les contrles. Ces deux parties peuvent tre charges indpendamment ou
ensemble par AJAX sans rechargement du navigateur.
M. Zairi
34
III. RSULTATS
1. Rsultat obtenu
Actuellement, les fonctions de saisie ont t implmentes. C'est--dire que
lutilisateur peut crer, diter ou supprimer des barrages, des incidents, des actions
correctives, et excuter les sous-fonctions associes comme par exemple : ajouter des
documents multimdia, ou des mesures un barrage donn. De plus, pour toutes les parties
principales, lutilisateur peut afficher des donnes en fonction de diffrents critres (Pays,
type ..).
La gestion des donnes multimdia est implmente. C'est--dire que lutilisateur peut
ajouter des images , des vidos ou des fichier PDF pour enrichir le barrage.
Pour la gestion des utilisateurs et de leur droits, tout est mis en place grce au plugin
sfDoctrineGuardPlugin .
Le systme de validation fonctionne : l'administrateur peut valider un barrage saisi par
un utilisateur, c'est--dire publier ses informations pour qu'elles soient visibles des autres
utilisateurs de l'application.
Pour le moment, l'envoie automatique d'un email ladministrateur en cas de
modification des donnes d'un barrage n'est pas mis en place faute de paramtres
d'authentification au serveur SMTP de l'tablissement pour l'application.
Cot application backend rserve aux administrateurs, les principaux formulaires de
saisie et de contrles de donnes ont t gnrs.
Au niveau des tests automatiques, les principales saisies de donnes et la navigation
ont t testes : la gestion des filtres de recherche pour tous les modules, les suppressions
groupes et en cascade des lments...
Lapplication respecte les conventions du W3C lexception de quelques
avertissements gnrs automatiquement par Symfony. De plus, lapplication au niveau du
design et de la navigation fonctionne correctement sur la plupart des navigateurs tests
(Firefox, Opera, Google Chrome, Safari ). Cependant, sur Iceweasel et Konqueror, le menu
droulant ne fonctionne pas correctement.
2. Amlioration future
La partie affichage, cration et modification des barrages tant ralise, il faut
maintenant ajouter l'envoi automatique d'un email informatif l'administrateur en cas de
modification de donnes d'un barrage par un expert. Dans ce cas, ladministrateur pourra
valider ou pas ces modifications.
M. Zairi
35
L'autre fonctionnalit est le dveloppement d'un glossaire contenant les termes relatifs
au domaine d'tude permettant d'avoir une prise de contact avec la terminologie propre au
domaine des barrages.
IV. BILAN
1. Difficults rencontres
La principale difficult a t lapprentissage de Symfony. En effet, mme si le langage
de base est le PHP, le framework possde une architecture et des mthodes qui lui sont
propres. Ces diffrences de mthodes sont principalement les accs la base de donnes et
la cration de formulaires.
L'autre problme majeur que j'ai rencontr, tait au niveau du schma relationnel. En
effet, celui-ci a t modifi un grand nombre de fois afin d'ajouter les fonctionnalits
demandes mais galement pour amliorer la cohrence entre les tables. Cela m'a amen
de nombreux dysfonctionnements de l'application qu'il fallait trouver et corriger.
3. Bilan personnel
Ce projet a permis damliorer mes connaissances dans la gestion de projets et les
lments principaux prendre en compte pour planifier et attribuer des tches. Ce projet
ma galement permis dapprendre comment fonctionne un systme de gestion
d'information.
Au niveau du dveloppement, jai dcouvert Symfony et le dveloppement l'aide
d'un framework web. Ce projet tait une occasion pour amliorer mes connaissances sur le
dveloppement des applications web en prenant en compte les diffrentes contraintes qui se
prsentent en plus dun dveloppement classique.
Ce projet ma permis galement de dvelopper mon sens de lautonomie, de la
rflexion et de la rsolution des problmes et ainsi de bien attribuer les diffrentes phases de
la ralisation au cours du temps.
M. Zairi
36
Avril
Mai
Juin
Juille t
Aot
Se pte mbre
M. Zairi
37
CONCLUSION
Ce stage a t sous plusieurs aspects riche denseignements.
Le stage consistait raliser une base de donne interactive pour faciliter le travail
d'experts. Il m'a permis d'amliorer mes connaissances en cration d'application web, et
notamment en ce qui concerne le respect strict des standards du Web et l'utilisation pousse
de technologies comme l'UML, le SQL, le Java Script, et la POO.
l'heure actuelle, l'application est prte tre utilise. On peut donc affirmer que le
but qui mavait t fix a t atteint.
Le contact avec le monde de la recherche ma permis de progresser dans de nombreux
domaines, notamment sur le thme de lanalyse de donnes. Jai aussi dcouvert le
framework Symfony.
En conclusion, mon stage m'a permis de mettre en uvre des comptences scolaires,
professionnelles et humaines pour un sujet intressant. J'ai de plus acquis de nouvelles
comptences dans le domaine du dveloppement web.
M. Zairi
38
GLOSSAIRE
AJAX : Technique utilisant des technologies comme le javascript et le XML pour charger
des donnes dans une page web sans rechargement de la page.
diteur WYSIWYG : What you see is what you get. Champ de saisie de texte similaire
celle d'un traitement de texte, c'est--dire avec des options de mises en forme (police,
taille du texte, couleur, alignement, etc).
MVC : Le Modle-Vue-Contrleur (en abrg MVC, de l'anglais Model-ViewController) est une architecture et une mthode de conception qui organise l'interface
homme-machine (IHM) d'une application logicielle.
M. Zairi
39
YAML : Langage de srialisation de donnes qui reprend des concepts d'autres langages
comme XML, mais en organisant les donnes sous forme de listes.
Relation OneToMany : Une relation se produit lorsque chaque enregistrement dans une
table A peut avoir plusieurs enregistrements lis une table B, mais chaque
enregistrement dans la table B peut avoir qu'un seul enregistrement correspondant dans la
table A.
Relation ManyToMany : Une ligne dans la table A peut avoir plusieurs lignes
correspondantes dans la table B, et vice versa.
M. Zairi
40
RFRENCES BIBLIOGRAPHIQUE
http://www.symfony-project.org/ : Site officiel du Framework de Symfony, on y retrouve
des tutoriels, documentation, plug-in...
http://www.developpez.net/forums/f663/php/bibliotheques-frameworks/symfony/
:
Communaut de dveloppeurs en Symfony, trs utile lorsque quon est bloqu sur quelque
chose.
M. Zairi
41