Rapport de Stage BTS 2019
Rapport de Stage BTS 2019
Rapport de Stage BTS 2019
*************** **************
Paix – Travail – Patrie Peace – Work – Fatherland
********** **********
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR MINISTRY OF HIGHER EDUCATION
*************** ***************
ESTIS ESTIS
ECOLE SUPERIEURE DES TECHNOLOGIES ET ECOLE SUPERIEURE DES TECHNOLOGIES ET
INDUSTRIE SIANTOU INDUSTRIE SIANTOU
*********** ***********
B.P.: 04 Yaoundé Cameroun B.P.: 04 Yaoundé Cameroun
Tél: 22-30-62-71 Tél: 22-30-62-71
RAPPORT DE STAGE
Sous l’encadrement de :
M. LEME AFAN Samuel
M.MVOUNDI
Ingénieur Informaticien, Archiviste
Responsable des projets
ANNEE ACADEMIQUE 2018 - 2019
SOMMAIRE
SOMMAIRE................................................................................................................................. 2
DEDICACE....................................................................................................................................4
REMERCIMENTS..........................................................................................................................5
INTRODUCTION.......................................................................................................................... 6
PREMIERE PARTIE : ETUDE INSTITUTIONELLE............................................................................7
CHAPITRE 1 : PRESENTATION GENERALE DU MINAC.................................................................8
I- SITUATION GEOGRAPHIQUE............................................................................................8
II- HISTORIQUE..................................................................................................................... 8
III- MISSIONS.................................................................................................................... 9
CHAPITRE 2 : PRESENTATION GENERALE DES ARCHIVES NATIONALES...................................10
I- SITUATION GEOGRAPHIQUE..........................................................................................10
II- HISTORIQUE................................................................................................................... 11
III- MISSIONS.................................................................................................................. 11
IV- LES MOYENS D’ACTION.............................................................................................12
1. Sur le plan matériel...................................................................................................12
2. Sur le plan humain.................................................................................................... 13
CHAPITRE 3 : DEROULEMENT DU STAGE..................................................................................14
I- TACHES EFFECTUEES......................................................................................................14
II- EVALUATION DE STAGE................................................................................................. 15
DEUXIEME PARTIE : ETUDE DU THEME....................................................................................16
CHAPITRE 1 : CONTEXTE ET EXISTANT......................................................................................17
I- ETUDE DE L’EXISTANT....................................................................................................17
II- CRITIQUE DE L’EXISTANT............................................................................................... 17
III- CHOIX DE LA SOLUTION A DEPLOYER.......................................................................17
CHAPITRE 2 : ANALYSE ET CONCEPTION..................................................................................18
I- LANGAGE ET METHODE DE MODELISATION................................................................. 18
II- MODELISATION DU SYSTEME........................................................................................19
1. Modélisation métier................................................................................................. 19
2. Analyse fonctionnelle................................................................................................19
3. Analyse statique........................................................................................................24
Pour le souffle de vie qu’il nous donne et pour son amour inestimable à notre endroit, il
est tout à fait logique que nos premiers remerciements aillent à DIEU le tout puissant.
A Dr. OLEMBE Esther, Directrice des Archives Nationales du Cameroun, qui nous a permis
d’effectuer de stage académique au sein de cette structure,
A tout le personnel des Archives Nationales du Cameroun pour leur bonne humeur et leur
gentillesse tout au long de notre période de stage,
A mes encadreurs professionnels et académiques, respectivement M. LEME Samuel
et M. MVOUNDI, pour le suivis, leur soutien et les précieux conseils qu’ils nous ont
prodigués,
A toute ma famille pour tous les conseils, le soutien et les sacrifices consentis pour ma
réussite,
A tous mes camarades et amis avec qui j’ai effectué ce stage.
Hormis le fait que ce stage soit une partie intégrante de l’examen auquel nous
participons, il nous a permis d’avoir une idée de la vie en entreprise, particulièrement dans le
domaine de l’informatique. De plus, il nous a permis d’acquérir encore plus de compétence dans
le domaine de la programmation web. Cela a été possible grâce au projet qui nous a été confié,
celui de développer une Application Web pour l’automatisation de la rédaction des
lettres-types adressées aux usagers ; sans oublier les autres tâches auxiliaires que nous
avons eu à effectuer (saisie du fichier matière, etc.).
Ce rapport fait état de l’expérience acquise durant mon stage, que ce soit sur le
terrain ou dans nos recherches personnelles ainsi que dans les conseils que nous ont
prodigués les différents membres du personnel de la cellule informatique. Ainsi, ce rapport
sera présenté suivant une certaine logique.
Notre stage s’étant déroulé aux Archives Nationales, il est tout à fait judicieux de
présenter d’abord l’établissement de tutelle de ladite structure : il s’agit du MINAC
(Ministère des Arts et de la Culture) Pour ce faire, nous présenterons tour à tour la situation
géographique, l’histoire, et enfin les missions du MINAC.
I- SITUATION GEOGRAPHIQUE
II- HISTORIQUE
Le MINAC n’a pas toujours été celui que nous connaissons aujourd’hui. Au fil du temps, il
a connu une grande évolution et a subi des appellations différentes. La première appellation
fut celle de Ministère de l’Information et de la Communication instituée par le décret
III- MISSIONS
Comme tous les autres ministères, le MINAC a plusieurs fonctions. Il est responsable
entre autre :
I- SITUATION GEOGRAPHIQUE
Les Archives Nationales du Cameroun une structure située dans la région du Centre du
Cameroun, dans le département du Mfoundi, plus précisément dans le quartier dit « Centre
administratif ». Ladite structure est délimitée au Nord par le TCS (Tribunal Criminel Spécial),
au Sud par un hôtel appelé « Central Hôtel », à l’Est par le CONSUPE et à l’Ouest par le
Ministère de la Jeunesse.
III- MISSIONS
Comme toutes les autres structures, les Archives Nationales disposent des moyens d’action
divers. Nous avons pu ressortir quelques-uns durant notre période de stage. Il s’agit entre
autres des moyens sur les plan matériel et humains.
En ce qui concerne les moyens d’action matériel des Archives Nationales, nous nous
baserons sur quatre éléments à savoir :
Les locaux - nous avons constaté que les Archives Nationales possèdent :
o Les bureaux de personnel ;
o Une salle de traitement ;
o Une salle d’archivage ;
o Une salle de réunion ;
o Une salle d’informatique.
Les équipements
o Des extincteurs ;
o Une imprimante ;
o Une photocopieuse ;
o Un scanner ;
o Des ordinateurs ;
o Des armoires de rangements ;
o Les rayonnages ;
o Des tables et des chaises.
I- TACHES EFFECTUEES
Durant ce stage, nous n’avons pas que travaillé sur notre projet. Notre arrivée en
entreprise s’est suivit du lancement d’un projet, celui de la mise sur pied d’une application
web pour la mise en ligne de la base de données du fichier-matières. Le processus de mise
sur pied de cette application s’est divisé en plusieurs parties. Chaque partie correspondait à
une tâche que devait effectuer un groupe de stagiaire. Notre groupe devait travailler
uniquement sur deux tâches : La saisie du fichier-matière sur Excel, et le développement de
l’application comme le montre ce plan hebdomadaire des stagiaires.
(2)
CLASSEMENT (FA, APA, etc.)
[09H – 15H] GROUPE 2 GROUPE 3 GROUPE 4 GROUPE 3
Chef d’atelier :
Mme NYANGONO
(3)
ELABORATION REPERTOIRE
DOM [09H – 15H] GROUPE 3 GROUPE 4 GROUPE 1.2 GROUPE 5
[09H – 13H]
Chef d’atelier :
Mme AKAMA
(4)
ANALYSE DOCUMENTAIRE
(3R, 4R, 5R, 6R, 7R) [09H – 15H] GROUPE 4.5 GROUPE 1.5 GROUPE 5 GROUPE 1.2
[09H – 13H]
Chef d’atelier :
M. BINYOUGUE Hans
(5)
DEVELOPPEMENT APPLICATION WEB POUR LA GROUPE 6 GROUPE 6 GROUPE 6 GROUPE 6
MISE EN LIGNE DE LA BDD DU FICHIER- [09H – 13H] [09H – 15H] [09H – 13H] [09H – 15H]
MATIERES
I- ETUDE DE L’EXISTANT
Couramment utilisé dans le domaine de l’informatique, une application web est une
application manipulable directement en ligne grâce à un navigateur web et qui ne nécessite
donc pas d’installation sur les machines clientes, contrairement aux applications mobiles. De
la même manière que les sites web, une application web est généralement installé sur un
serveur.
L’objectif de notre application web sera donc d’automatiser la rédaction des lettres-types
adressées aux usagers. Lorsqu’un individu fait une demande pour effectuer une recherche
dans les archives, une lettre est émise à l’administration. Les informations contenues dans
cette lettre seront donc enregistrées dans une base de données en fonction du résultat de la
recherche.
L’avantage d’une application web dans ce cas précis est que les informations enregistrées
depuis les différents formulaires sont directement stockées dans une base de données ce qui
assure une meilleure sécurité des données. Or, à notre arrivée à la Direction des archives, les
informations étaient stockées sur des fichiers Excel. Les données étaient alors moins
sécurisées et pouvaient facilement se perdre. D’où l’avantage d’une application web.
L’objectif final de ce projet est de déployer une application web permettant de gérer
automatiquement la rédaction des lettre-types adressées aux usagers. Nous sommes à
présent au niveau de l’enregistrement des données cernant les usagers et les recherches
qu’ils ont effectués. Mais plusieurs fonctionnalités restent à ajouter à l’application comme
par exemple la fonctionnalité qui permet de générer une lettre en réponse à la demande
faite par l’usager, pour lui spécifier si sa recherche a été fructueuse, infructueuse ou si les
informations doivent être complétées. Le fichier généré devra être au format PDF.
Un des points forts de l'approche objet consiste à se concentrer sur la modélisation des
systèmes, indépendamment de la technologie qui sera utilisée pour la réalisation. Cette
propriété très intéressante permet aux chefs d'entreprises, soit d'arrêter le processus de
développement du logiciel, soit de le modifier selon leurs besoins, et cela en étant encore à
l'étape de modélisation (sans faire de dépenses en terme de déploiements technologiques).
UML présente neuf (09) diagrammes (dans sa version 2 il présente treize diagrammes),
chacun étant utilisé pour mettre en évidence un aspect bien défini du système.
Ces diagrammes, d'une utilité variable selon les cas, ne sont pas nécessairement tous
produits à l'occasion d'une modélisation. Les plus utiles pour la maîtrise d'ouvrage sont les
diagrammes d'activités, de cas d'utilisation, de classes, d'objets, de séquence et d'états-
transitions. Les diagrammes de composants, de déploiement et de communication sont
surtout utiles pour la maîtrise d'œuvre à qui ils permettent de formaliser les contraintes de
la réalisation et la solution technique.
1. Modélisation métier
L'analyse objet est basée sur une perception tridimensionnelle selon trois axes :
Donc la phase d'analyse permet de s'accorder sur « Ce que doit faire le système ? »
2. Analyse fonctionnelle
a. Les acteurs
Un acteur est une idéalisation d’un rôle joué par une personne externe, un processus, ou
une chose qui interagit avec un système. On distingue deux types d'acteur :
L’acteur primaire ou principal qui est celui pour qui le système est construit, c'est
à dire celui à qui le système rend service ;
L’acteur secondaire qui est celui qui est nécessaire pour le bon fonctionnement
du système, mais qui n'est pas celui pour qui le système est construit.
Il se représente par un petit bonhomme avec son (i.e. son rôle) inscrit dessous.
« Actor »
Client
Un cas d'utilisation est une unité cohérente représentant une fonctionnalité visible de
l'extérieur. Il réalise un service de bout en bout, avec un déclenchement, un déroulement et
une fin, pour l'acteur qui l'initie. Un cas d'utilisation modélise donc un service rendu par le
système, sans imposer le mode de réalisation de ce service.
Un cas d'utilisation se représente par une ellipse contenant le nom du cas (un verbe à
l'infinitif), et optionnellement, au-dessus du nom, un stéréotype.
« Stéréotype »
Nom du cas
Pour outiller les cas d'utilisation, la description textuelle est indispensable, car elle
seule permet de communiquer facilement et précisément avec les utilisateurs. La description
textuelle est également l'occasion de s'entendre sur la terminologie employée, ainsi que
d'identifier le contexte d'exécution de l'un ou de l'autre des enchainements. En revanche, le
texte présente des désavantages puisqu'il est difficile de montrer comment les
enchainements se succèdent ; en outre la maintenance des évolutions s'avère souvent
périlleuse.
Scénario nominal 3. L'administrateur entre les données puis clique sur le bouton d'envoi
l'administrateur
A1 : les informations entrées sont incorrectes
L'enchainement A1 commence au point 4
d'enregistrement
Le scénario reprend au point 3
Scénario d’erreur
Post-condition Le système a enregistré un nouveau personnel dans la base de
données.
Nom Se connecter
Résumé Ce cas d'utilisation permet à un utilisateur (personnel ou
administrateur) de se connecter à la plateforme.
Acteur Principal Personnel
Acteur secondaire Administrateur
Précondition Avoir les informations (nom d’utilisateur et mot de passe)
enregistrées dans la base de données du système.
Scénario nominal 1. L'utilisateur lance l'application
Scénario alternatif
4- Le système informe l’utilisateur qu’aucun résultat n’a été trouvé
le scénario reprend au point 2
Scénario d’erreur
Post-condition La recherche aboutie au résultat escompté
Scénario alternatif
4- Le système informe l’utilisateur qu’aucun résultat n’a été trouvé
le scénario reprend au point 2
Scénario d’erreur
Post-condition La recherche aboutie au résultat escompté
3. Analyse statique
Une classe est la description formelle d'un ensemble d'objets ayant une sémantique
et des caractéristiques communes.
Un objet est une instance d'une classe. C'est une entité discrète dotée d'une identité,
d'un état et d'un comportement que l'on peut invoquer. Les objets sont des éléments
individuels d'un système en cours d'exécution.
Par exemple, si l'on considère que « Homme » (au sens être humain) est un concept
abstrait, on peut dire que la personne « Alain Norbert » est une instance de « Homme ». Si
Homme était une classe, « Alain Norbert » en serait une instance : un objet.
Représentation
Une classe est un classeur. Elle est représentée par un rectangle divisé en trois à cinq
compartiments.
Formalisme
Devant chaque attribut ou méthode est placée une visibilité. UML définit quatre
niveaux de visibilité pour les attributs et méthodes :
- Public ou + : Tout élément qui peut voir le conteneur peut également voir l'élément
indiqué.
- Protected ou # : Seul un élément situé dans le conteneur ou un de ses descendants
peut voir l'élément indiqué.
- Private ou - : Seul un élément situé dans le conteneur peut voir l'élément.
Une association est une relation entre deux classes (association binaire) ou plus (association n -aire), qui décrit les connexions structurelles
entre leurs instances. Une association indique donc qu'il peut y avoir des liens entre des instances des classes associées.
Multiplicité ou cardinalité
- Exactement un : 1 ou 1…1 ;
- Plusieurs : * ou 0…* ;
- Au moins un : 1…* ;
c. Les données
- La classe « Usager »
- La classe « Recherche »
- La classe « Résultat »
- La classe « Etat »
4. Analyse dynamique
Le diagramme de séquence
- Les lignes de vie : Une ligne de vie se représente par un rectangle, auquel est
accroché une ligne verticale pointillée.
- Les messages : Un message définit une communication particulière entre des lignes
de vie. Plusieurs types de messages existent, les plus communs sont :
o L’envoi d'un signal ;
o L’invocation d'une opération ;
o La création ou la destruction d'une instance.
Notre analyse nous a donc permis de faire ressortir les différents diagrammes de
séquences suivants :
I- IMPLEMENTATION DU SYSTEME
Un ordinateur sur lequel fonctionne un serveur HTTP est appelé serveur Web. Mais un
serveur HTTP peut aussi être appelé, informellement, « serveur Web ». Ainsi, si « serveur HTTP
» désigne toujours le logiciel serveur de transfert de fichier en HTTP, « serveur Web » peut
aussi bien désigner le logiciel que l'ordinateur qui l'héberge.
Les deux termes sont utilisés pour le logiciel car le protocole HTTP a été développé
pour le Web, et les pages Web sont en pratique toujours servies avec ce protocole.
Cependant d'autres ressources du Web comme les fichiers à télécharger ou les flux audio ou
vidéo sont parfois servis avec d'autres protocoles.
On peut citer entre autre comme serveur HTTP :
Apache HTTP Server de l’Apache Software Foundation, successeur du NCSA
HTTPd ;
Apache Tomcat de l’Apache Software Foundation, évolution d’Apache pour
J2EE ;
BusyBox HTTPd, utilisé dans le domaine de l'embarqué, et notamment avec
OpenWRT2 ;
Google Web Server de Google ;
Internet Information Services (IIS) de Microsoft.
Nous allons cependant nous concentrer sur le serveur Apache http, qui est le serveur
sur lequel fonctionne notre application web.
Le logiciel libre Apache HTTP Server (Apache) est un serveur HTTP créé et maintenu
au sein de la fondation Apache. C'est le serveur HTTP le plus populaire du World Wide Web.
Il fonctionne principalement sur les systèmes d'exploitation Windows et Unix/Linux. La
première version est sortie en décembre 1995. La version Windows n'est considérée comme
stable que depuis la version 2 d'Apache. La dernière version est Apache 2.2. Apache est
redistribué sous d'autre nom par des nombreuses entreprises, dont IBM et ORACLE
Corporation. Apache est conçu pour supporter de nombreux modules lui donnant des
Deux moteurs principaux sont présents dans MySQL, MyISAM et InnoDB. MyISAM,
contrairement à InnoDB, ne supporte ni transactions ni intégrité automatique des tables, il
n'est pas destiné aux applications dont la cohérence des données est critique ; cependant,
ses performances le font adopter pour des applications ayant besoin d'une base de données
simple et peu onéreuse à mettre en œuvre.
Pour les utilisateurs, phpMyAdmin est un outil web souvent disponible pour créer,
remplir et utiliser des bases MySQL.
Pour l'implémentation de notre application web, nous avons utilisés des langages de
programmation coté client (interprétée par le navigateur web) et des langages de
programmation coté serveur (interprétée par le serveur web).
Les langages de programmation côté client que nous avons utilisé pour notre application
web sont :
- Le HTML dans sa version 5 : C’est un langage de balisage conçu pour représenter les
pages web. C’est un langage permettant d’écrire de l’hypertexte, d’où son nom.
HTML permet également de structurer sémantiquement et logiquement et de mettre
en forme le contenu des pages, d’inclure des ressources multimédias dont des
images, des formulaires de saisie et des programmes informatiques.
- Le JavaScript : C’un langage de programmation de scripts principalement employé
dans les pages web interactives mais aussi pour les serveurs avec l'utilisation (par
exemple) de Node.js3. C'est un langage orienté objet à prototype, c'est-à-dire que les
bases du langage et ses principales interfaces sont fournies par des objets qui ne sont
Pour faciliter notre développement des différentes interfaces de notre application web,
nous avons utilisé le bootstrap qui est une collection d’outils utile à la création d’un design
(graphisme, animation et interactions avec les pages dans le navigateur). En gros c’est un
ensemble de code HTML, CSS et JavaScript pré-écrits. Nous avons ensuite adapté ces codes
en fonction des objectifs que nous voulions atteindre.
a. Sublime Text 3
Sublime Text est un éditeur de texte générique codé en C++ et Python, disponible sur
Windows, Mac et Linux. Le logiciel a été conçu tout d'abord comme une extension pour Vim,
riche en fonctionnalités. Depuis la version 2.0, sortie le 26 juin 2012, l'éditeur prend en
charge 44 langages de programmation majeurs, tandis que des plugins sont souvent
disponibles pour les langages plus rares.
II- TEST
1. Page de connexion
2. Page d’accueil
Une fois les identifiants bien renseigné, on accède à la page de gestion des lettres-
types en question. Les lettres-types sont divisés en 03 catégories. En fonction du résultat de
la recherche, l’utilisateur choisira l’onglet approprié. Si la recherche a été fructueuse,
l’utilisateur choisira l’onglet « Recherche Fructueuse » ; si elle a été infructueuse, il choisira
« Recherche Infructueuse ». Dans le cas où les informations de la recherche sont
incomplètes, il choisira « Complément d’informations ».
3. Les formulaires
Chaque onglet contient un formulaire que l’utilisateur devra remplir. Les informations à
remplir concerne l’usager qui effectue sa recherche. L’utilisateur devra donc renseigner :
- La civilité de l’usager (Monsieur, Madame ou Mademoiselle),
- Le Nom et Prénom de l’usager,
- L’adresse de l’usager,
- Le statut de l’usager (Etudiant, chercheur, etc.),
Pour parvenir à développer cette application web, nous avons dû faire usage des
langages de programmation tels que le HTML 5, le JAVASCRIPT, le CSS 3 et le JQUERY, le PHP.
Nous avons ainsi pu acquérir encore plus de notions dans le domaine de la programmation
web grâce à ces langages.
Au final, l’application web peut être utilisé en partie. Elle n’est pas complètement
achevée et elle comporte encore des erreurs. Les fonctionnalités principales (enregistrer une
nouvelle recherche et afficher les enregistrements) sont néanmoins disponibles. Nous
comptons bien revenir très prochainement dans le cadre d’un autre stage pour pouvoir
terminer ce projet.
SOMMAIRE................................................................................................................................. 2
DEDICACE....................................................................................................................................4
REMERCIMENTS..........................................................................................................................5
INTRODUCTION.......................................................................................................................... 6
PREMIERE PARTIE : ETUDE INSTITUTIONELLE............................................................................7
CHAPITRE 1 : PRESENTATION GENERALE DU MINAC.................................................................8
I- SITUATION GEOGRAPHIQUE............................................................................................8
II- HISTORIQUE..................................................................................................................... 8
III- MISSIONS......................................................................................................................9
CHAPITRE 2 : PRESENTATION GENERALE DES ARCHIVES NATIONALES...................................10
I- SITUATION GEOGRAPHIQUE..........................................................................................10
II- HISTORIQUE................................................................................................................... 11
III- MISSIONS....................................................................................................................11
IV- LES MOYENS D’ACTION..............................................................................................12
1. Sur le plan matériel....................................................................................................12
2. Sur le plan humain......................................................................................................13
CHAPITRE 3 : DEROULEMENT DU STAGE..................................................................................14
I- TACHES EFFECTUEES......................................................................................................14
II- EVALUATION DE STAGE................................................................................................. 15
DEUXIEME PARTIE : ETUDE DU THEME....................................................................................16
CHAPITRE 1 : CONTEXTE ET EXISTANT......................................................................................17
I- ETUDE DE L’EXISTANT....................................................................................................17
II- CRITIQUE DE L’EXISTANT............................................................................................... 17
III- CHOIX DE LA SOLUTION A DEPLOYER........................................................................ 17
CHAPITRE 2 : ANALYSE ET CONCEPTION..................................................................................18
I- LANGAGE ET METHODE DE MODELISATION................................................................. 18
II- MODELISATION DU SYSTEME........................................................................................19
1. Modélisation métier...................................................................................................19
2. Analyse fonctionnelle.................................................................................................19
a. Les acteurs..............................................................................................................19
3. Analyse statique........................................................................................................24
a. Les classes et les objets..........................................................................................24
b. Le diagramme de classe..........................................................................................25
Représentation 25
Formalisme 25
Notion d’association 26
Multiplicité ou cardinalité 26
c. Les données............................................................................................................26
4. Analyse dynamique...................................................................................................27
Le diagramme de séquence 27
Diagramme de séquence : Connexion à l’application 28
Diagramme de séquence : Enregistrer les données relatives à une recherche 29
Diagramme de séquence : Effectuer une recherche par tri 30
CHAPITRE 3 : IMPLEMENTATION ET TEST................................................................................ 31
I- IMPLEMENTATION DU SYSTEME...................................................................................31
1. Présentation du serveur web Apache.......................................................................31
2. Présentation du serveur de base de données MySQL..............................................32
3. Présentation des langages de programmation.........................................................32
a. Les langages de programmation côté client...........................................................32
b. Les langages de programmation côté serveur....................................................... 33
4. Présentation des outils de développement utilisés..................................................33
a. Sublime Text 3........................................................................................................33
b. WAMP Server......................................................................................................... 34
II- TEST................................................................................................................................34
1. Page de connexion....................................................................................................34
2. Page d’accueil........................................................................................................... 35