Bibliothèque Numérique à l'EAMAC
Bibliothèque Numérique à l'EAMAC
Fraternité-Travail-Progrès
Ministère de Postes et des Nouvelles Technologies de l’Information
École Supérieure de Communications Electroniques et de la Poste
Ex EST Etablissement Public à Caractère Scientifique, Culturel et Technique créé par
décret N°2023-226/PRN/MP/NTI du 02 mars 2023
THEME :
MISE EN PLACE D’UNE BIBLIOTHEQUE NUMERIQUE CAS DE
L’ECOLE AFRICAINE DE LA METEOROLOGIE ET DE L’AVIATION
CIVILE (EAMAC)
DEDICACES :
REMERCIEMENTS
J’exprime enfin ma reconnaissance à tous ceux qui ont contribué d’une manière ou d’une autre
à la réalisation et au déroulement de ce projet.
Qu’Allah récompense les uns et les autres pour leur implication et leur disponibilité.
AVANT PROPOS :
SIGLES ET ABREVIATIONS
INTRODUCTION GENERALE
Pour mener à bien ce travail nous avons subdivisé ce mémoire en trois grandes parties : La
première partie qui correspond aux cadres théorique et méthodologique, dans laquelle nous
allons d’abord poser la problématique, les objectifs de recherches, les hypothèses de
recherches et enfin le cadrage et la délimitation de notre champ d’étude. La deuxième partie
quant à elle, correspond aux cadres organisationnel et conceptuel. Dans cette partie, nous
allons évoquer la structure qui nous a servi de cadre de cette étude et ensuite parler des
différentes méthodes d’analyse et de conception. Et enfin la troisième partie qui est intitulée
cadre analytique, nous permettra de faire l’analyse et la conception de notre application. Nous
allons par la suite parler des outils qui nous ont permis de réaliser notre application, pour finir
avec la sécurisation de l’application.
I. Problématique
L'Ecole Africaine de la Météorologie et de l'Aviation Civile (EAMAC) est une institution de
formation et de recherche dans les domaines de la météorologie et de l'aviation civile en Afrique
de l'Ouest et Centrale.
Elle dispose d’une bibliothèque traditionnelle stockant des documents dans des domaines variée
tel que la météorologie, aviation, informatique, électronique etc…
Les étudiant des pays états membre de l’ASECNA viennent étudier dans cette école et ceux-là
Regagne leur pays respectif après la formation, aimerait aussi faire des recherches durant le
stage mais les documents sont loin d’eux à cause de la dure de prêts du document Car cette
bibliothèque étant traditionnelle.
Les gestionnaires rencontrent beaucoup de difficultés tel que la perte de certain document,
l’amalgame des livres dans les rayons, une fois les étudiants finis leur études rentre dans leurs
pays respectifs alors que l’école dispose d’une seule bibliothèque là ou sont stocker les
mémoires de fin d’étude.
Donc si l’étudiant à cela s’ajoute le vieillissement des documents. Cette situation montre
l’impérieuse nécessité de mettre en place une telle bibliothèque en ligne qui est une sorte de
cloud au sein de L’Ecole.
2. Objectifs spécifiques
➢ Rendre les documents numérisés par l’institution visible sur
le web ;
➢ Prendre en compte les besoins des utilisateurs et les
contraintes liées à l'environnement de l'EAMAC ;
➢ Booster l'accès aux ressources documentaires et l'efficacité de
l’enseignement et de la recherche a à l'EAMAC.
2. Hypothèses spécifiques
➢ L’utilisation des procédures archaïque pour la gestion de la
bibliothèque ;
➢ La perte et la dégradation des documents
I. Cadre d’étude
Notre projet de fin de cycle porte sur le thème « Mise en place d’une bibliothèque numérique
cas de l’EAMAC ».
➢ La consultation des documents ayant un lien avec notre domaine de recherche comme
les ouvrages, les mémoires ;
➢ Les recherches sur le net des projets similaires qui ont été déjà réalisés ;
➢ Les échanges avec le personnel de la bibliothèque pour mieux comprendre le
fonctionnement de la bibliothèque actuelle ;
➢ L’observation directe des différentes étapes pour prêter un livre.
I. Présentation de L’EAMAC
Implantée à Niamey, capitale politique et administrative du Niger, l'École Africaine de la
Météorologie et de l'Aviation Civile (EAMAC) est née en 1963 à la demande des ministres de
l'Aviation Civile des États membres de l'Agence pour la Sécurité de la Navigation Aérienne en
Afrique et à Madagascar (ASECNA). Depuis la création, tutelle et gestion de l'École sont
confiées à l'ASECNA. L'EAMAC est chargée de la formation ab-initio d'une part, et de la
formation continue d'autre part, des agents ressortissants des pays membres de l’ASECNA ;
dans la limite de places disponibles, elle peut en outre admettre des ressortissants des États non
membres de l'ASECNA.
La formation ab-initio s'adresse aux agents d'encadrement dans trois spécialités ; Exploitation
de la Météorologie, Exploitation de la Navigation Aérienne, Électronique et
Télécommunication. L'admission à l'EAMAC se fait sur concours ; ceux-ci ont lieu
généralement au mois de mai précédant le début des cycles. Certains candidats possédant un
cursus universitaire approprié peuvent être admis sur titre selon le nombre de places
disponibles. Au fil des années, l'EAMAC a su tisser, localement et au-delà du Continent
Africain, un réseau de relations privilégiées la mettant en situation de remplir au mieux ses
missions. Que l'on en juge.
1. Organisation de L’EAMAC :
Plus localement, un accord de coopération a été établi avec le Centre AGRHYMET de
Formation en Agrométéorologie et Hydrologie Opérationnelle du CILSS (Comité Inter-états de
Lutte contre la Sécheresse au Sahel), implanté lui aussi à Niamey. Cette coopération prévoit
l'utilisation en commun des moyens en matériel et en personnel dont disposent les deux Écoles
: les élèves Techniciens Supérieurs et les Ingénieurs de l'AGRHYMET reçoivent notamment
leurs cours de première année à l'EAMAC, et certains instructeurs de l'AGRHYMET dispensent
des cours à l'EAMAC. De même l'EAMAC collabore étroitement à Niamey avec le tout
nouveau Centre Africain pour l'Application de la Météorologie au Développement (ACMAD),
centre dont la création a été approuvée en avril 1985 par la Conférence des Ministres de la
Communication Économique pour l'Afrique (CEA), dans le but de développer l'assistance
météorologique fournie aux usagers en Afrique, en faisant appel aux techniques modernes.
Quant à la Direction de la Météorologie Nationale du Niger, elle apporte un appui déterminant
aux élèves lEEM au cours de leur préparation des mémoire s de fin d'études, grâce à la banque
de données fiables dont elle dispose Enfin, l'EAMAC recrute également des professeurs
vacataires auprès de l'Université de Niamey, qui s'ajoutent à ses quelques 49 instructeurs
permanents (Africains et coopérants français).
L'une des principales préoccupations de l'EAMAC d'aujourd'hui est de s'ouvrir davantage, au-
delà même de sa vocation première qui reste liée à l'aéronautique, aux différents usagers
pouvant être intéressés par ses produits. A cet effet, la diversification des programme s de
formation en météorologie est en cours, grâce à l'introduction ou au développement de certains
enseignements, comme la climatologie, pour ne citer que cet exemple. L'EAMAC œuvre aussi
pour le renforcement de ses relations avec les différents partenaires et organismes
internationaux. Dans la perspective de maintenir un enseignement de qualité, l'Ecole accorde
une place de choix à la formation des formateurs, et compte énormément à cette fin sur
l'assistance et la coopération sous toutes leurs formes. Enfin, localement, el pour terminer sur
une note complétement météorologique, l'EAMAC entend bien ne pas rester à l'écart du
véritable Pôle météorologique africain en cours de constitution à Niamey, avec le renfort
II. Organigramme
I. Méthodes d’analyse
1. Présentation
MERISE (Méthode d’Étude et de Réalisation Informatique pour les Systèmes
d’Entreprise) est une méthode d'analyse et de réalisation des systèmes d'information qui
est élaborée en plusieurs étapes : schéma directeur, étude préalable, étude détaillée et la
réalisation.
Alors que UML (Unified Modeling Langage), est un langage de modélisation des
systèmes standard, qui utilise des diagrammes pour représenter chaque aspect d'un
système i.e. : statique, dynamique, En s'appuyant sur la notion d'orienté objet qui est un
véritable atout pour ce langage.
2. Etude comparative
Les "méthodologues" disent qu'une méthode, pour être opérationnelle, doit avoir 3
composantes :
MERISE s'est attachée, en son temps, à proposer un ensemble "cohérent" sur ces trois
composantes. Certaines ont vieilli et ont dû être réactualisées (la démarche), d'autre "tiennent
encore la route" (les modélisations).
UML, de par son origine (la programmation objet) s'affirme comme un ensemble de
formalismes pour la conception de logiciel à base de langage objet.
Formalisation des besoins utilisateur dans le cadre de cahier des charges utilisateur, en vue de
la conception d'un logiciel adapté.
UML est idéal pour Concevoir et déployer une architecture logicielle développée dans un
langage objet (PHP, Java, C++, [Link]). Certes UML, dans sa volonté "unificatrice" a proposé
des formalismes ;
Modéliser les données (le modèle de classe réduit sans méthodes et stéréotypé en entités), mais
avec des lacunes que ne présentait pas l'entité relation de MERISE ;
Modéliser le fonctionnement métier (le diagramme d'activité et de cas d'utilisation) qui sont
des formalismes très anciens qu'avait, en son temps, amélioré MERISE...
3. Choix et Justification
Après cette étude comparative, il est certes que nous allons adopter UML comme langage de
modélisation.
Notre choix s'est basé sur les points forts de ce langage notamment sa standardisation et les
divers diagrammes qu’il propose. Aussi UML présente le meilleur outil pour schématiser des
systèmes complexes sous un format graphique et textuel simplifié et normalisé.
II. Démarches
1. Présentation
Pour le développement du logiciel, Il serait utile de connaître les méthodologies principales de
travail, pour que le projet soit un succès.
Une méthode de travail pour un logiciel est une manière de structurer, planifier et contrôler le
processus de développement.
Une méthodologie est similaire à une classe qui peut être instancié pour un projet particulier ;
Un Framework ressemble à une classe abstraite qui doit premièrement être héritée et élargie.
Un modèle est similaire à une interface qui est juste une description de "quelque chose" qui a
besoin d'être implémenté par une ou plusieurs classes.
2. Etude comparative
Nous allons présenter certaines des plus importantes méthodologies concernant le
développement de logiciel dans les lignes qui suivent.
3. Choix et justification
Pour la réalisation de notre projet, nous allons utiliser la démarche Scrum. Le choix de Scrum
s’est basé sur les atouts de ce dernier qui se résument comme suit :
4. Présentation de Scrum
a. Présentation de Scrum
Scrum est considéré comme un cadre ou « Framework » de gestion de projet. Ce cadre est
constitué d'une définition des rôles, de réunions et d'artefacts. Le mot Scrum est un terme
emprunté au rugby qui signifie « mêlée » encore appelée « morning ». Par analogie, les
membres de l’équipe doivent atteindre l’objectif en équipe, comme les joueurs qui se passent
le ballon.
Scrum est :
➢ Léger ;
➢ Simple à comprendre ;
➢ Difficile à maîtriser.
Scrum est utilisé depuis le début des années 1990 pour gérer le développement de produits
complexes. Scrum n’est pas en soi un processus ni une méthode de développement de produit
; c’est un canevas pour l’application de divers procédés et techniques de développement. Scrum
met en évidence l’efficacité relative des pratiques de gestion et de développement de produit
en place, de sorte que ces dernières puissent être améliorées.
b. Fonctionnement de Scrum
Scrum définit 3 rôles :
La vie d'un projet Scrum est rythmée par un ensemble de réunions clairement définies et
strictement limitées dans le temps (timeboxing) :
➢ Revue de Sprint
Au cours de cette réunion qui a lieu à la fin du sprint, l'équipe de développement présente les
fonctionnalités terminées au cours du sprint et recueille les feedbacks du Product Owner et
des utilisateurs finaux. C'est également le moment d'anticiper le périmètre des prochains sprints
et d'ajuster au besoin la planification de release (nombre de sprints restants).
➢ Rétrospective de Sprint
La rétrospective qui a généralement lieu après la revue de sprint est l'occasion de s'améliorer
(productivité, qualité, efficacité, conditions de travail, etc.) à la lueur du "vécu" sur le sprint
écoulé (principe d'amélioration continue).
➢ Mêlée quotidienne
Il s'agit d'une réunion de synchronisation de l'équipe de développement qui se fait debout (elle
est aussi appelée "stand up meeting") en 15 minutes maximum au cours de laquelle chacun
répond principalement à 3 questions : « Qu'est-ce que j'ai terminé depuis la dernière mêlée ?
Qu'est-ce que j'aurai terminé d'ici la prochaine mêlée ? Quels obstacles me retardent ? »
1. Présentation
En informatique, un langage de programmation est une notation conventionnelle destinée à
formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une
manière similaire à une langue naturelle, un langage de programmation est composé d'un
alphabet, d'un vocabulaire, de règles de grammaire et de significations. Les langages de
programmation permettent de décrire d'une part les structures des données qui seront
manipulées par l'appareil informatique, et d'autre part d'indiquer comment sont effectuées les
manipulations, selon quels algorithmes. Ils servent de moyens de communication par lesquels
le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs ; les
programmes étant d'ordinaire écrits, lus, compris et modifiés par une équipe de programmeurs.
2. Étude comparative
De nos jours Plusieurs langages de programmation pour effectuer des programmes web sont
vogues ; parmi ceux-ci on peut citer quelques-uns tels que : le PHP, Perl, Python, Ruby.
PHP
PHP (HyperText Preprocessor) est un langage orienté objet permettant de créer des pages web
dynamique.
Perl
Perl est un langage faiblement typé, ce qui signifie qu'une donnée n'aura pas spécialement de
type : les nombres, les chaînes de caractères, les booléens ne seront différenciés que par leur
valeur et par le contexte de leur utilisation.
❖ Avantages
• La bibliothèque est très riche en possibilités.
• Il est gratuit.
• Il ne nécessite pas beaucoup de code pour obtenir un résultat.
• Il est très puissant pour manipuler de façon brute du code HTML.
• Il est très proche des commandes du système d'exploitation : Facilité de développer des
projets nécessitant l'utilisation de nombreuses commandes ou d'applications non-WEB.
• Il est très utilisé par la communauté scientifique.
❖ Inconvénient
• Il est très compliqué à utiliser.
• Peu de professionnels savent utiliser le plein potentiel de ce langage.
• Peu documenté en français par les sites Web altruistes.
Python
Python a vu le jour dans les années 80, c’est un langage interprété. Python est un bon langage
de programmation pour les débutants.
❖ Avantages
• Il est gratuit.
• Il y n'a pas beaucoup de faille de sécurité.
• Grande stabilité du code à travers le temps.
• Le langage est littéraire et simple à comprendre.
• Le langage est soutenu par Google.
❖ Inconvénients
Problèmes dus à la gestion automatique des types de données
Ruby
Ruby c’est ce langage de programmation libre publié en 1995 avec un paradigme fort : tout est
objet. Ce langage de script épuré a connu son heure de gloire avec l’expansion du web,
notamment après la publication du Framework Ruby on Rails (RoR) en 2005.
❖ Avantages
• Il est gratuit.
• Le langage est littéraire et simple à comprendre.
• La structure MVC est très bien intégrée de base.
❖ Inconvénients
• Moins performant.
• Difficile de concevoir de gros projets qui nécessitent de la maintenance.
3. Choix et justification
Nous avons adopté le langage de programmation PHP en tant que principale technologie
derrière notre application et ce, pour plusieurs raisons.
La plus importante est que nos clients bénéficient de nombreux avantages qui se traduisent en
économie, et ce, sans compromis sur la qualité. Comment ? Tout d’abord, PHP est gratuit et ne
nécessite aucune licence d’utilisation.
Ensuite, PHP est le langage de programmation Web le plus utilisé au monde. Il existe une
communauté de développeurs très active qui rend disponibles des dizaines de milliers de
librairies PHP de grande qualité ainsi qu’une vaste quantité de documentation et tutoriels
accessible à tous au bénéfice de chacun. Ces ressources facilitent notre travail et réduisent notre
temps de programmation ce qui se traduit aussi en économie pour le client.
En termes de rapidité et d’efficacité, PHP n’a rien à envier aux autres langages. Plusieurs
portails très populaires et nécessitants beaucoup de performance l’utilisent. Nous avons qu’a
pensé à Facebook, Wikipédia, le réseau CBC, l’université Harvard, pour ne nommer que ceux-
là. D’ailleurs le populaire système de gestion de contenu WordPress est lui-même construit en
PHP. Ce dernier représente à lui seul environ 80% des sites Internet sur la toile. Une si grande
popularité n’est certainement pas une coïncidence !
PHP a été spécifiquement conçu pour le Web donc s’arrime bien avec les technologies du Web
tel que le XML, les API, les services distants, les divers navigateurs et beaucoup plus.
Que vous ayez un petit ou un gros projet, PHP peut facilement relever ce défi et vous ne vous
tromperez pas en investissant dans cette technologie.
1. Présentation
Un SGBDR (Système de Gestion de Bases de Données Relationnelles) est un
système (Logiciel) qui permet de gérer une base de données relationnelle.
Plusieurs SGBD sont utilisés.
Nous allons faire la comparaison entre Oracle et MySQL.
Etude comparative
a. Oracle
❖ Avantages
• Richesse fonctionnelle.
• Fonction d'audit évolué.
• Row Level Storage Security (RLSS) : permet de ne faire apparaître que
certaines lignes des tables pour un utilisateur ou une application donnée.
• Assistants performants via Oracle Manager Server, possibilité de gérer
en interne des tâches et des alarmes.
• Gestion centralisée de plusieurs instances.
• Concept unique de retour arrière (Flashback).
• Réglages fins : dans la mesure où l'on connait suffisamment le moteur, presque
tout est paramétrable.
• Accès aux données système via des vues, bien plus aisément manipulable que des
procédures stockées.
• Services Web, support XML.
• Ordonnanceur intégré.
• Compression des données et des sauvegardes.
❖ Inconvénients
• Prix élevé, tant au point de vue des licences que des composants matériels (RAM, CPU)
à fournir pour de bonnes performances.
• Administration complexe, liée à la richesse fonctionnelle.
• Fort demandeur de ressources, ce qui n'arrange rien au point précité, Oracle est bien
plus gourmand en ressource mémoire que ses concurrents, ce qui implique un
investissement matériel non négligeable.
• Une quantité des bugs proportionnels à la richesse fonctionnelle, surtout sur les
dernières versions.
• Pas de type auto-incrémente déclaratif : les séquences ne peuvent être déclarative ment
dédiées à une table spécifique (risque de mélange)
• Nombreuses failles de sécurité liées à l’architecture elle-même.
b. MySQL
MySQL est un SGBDR qui utilise le langage SQL, et fait partie des plus utilisés. Sa Popularité
est due en grande partie au fait qu'il s'agit d'un logiciel Open Source, ce qui Signifie que son
Code source est librement disponible et que quiconque qui en ressent L’envie ou le besoin peut
modifier MySQL pour l'améliorer ou l'adapter à ses besoins.
❖ Avantages de MySQL
3. Choix et justification
MySQL est la base de données open source la plus populaire au monde. Bien qu'elle soit avant
tout connue pour son utilisation par des sociétés Web, telles que Google, Facebook et Yahoo!,
MySQL est également une base de données embarquée très populaire. Plus de 3000 éditeurs de
logiciels et fabricants de matériel lui font confiance, parmi lesquels sept des dix plus grandes
entreprises logicielles au monde. Ce livre blanc examine en premier lieu les bases de données
embarquées en général - leur nature, le marché des bases de données embarquées, et les
avantages d’embarquer une base de données par rapport à supporter celles de vos clients ou
développer votre propre base de données embarquée. Nous commencerons par aborder l'impact
de l'utilisation de MySQL en tant que base de données embarquée sur les trois facteurs
fondamentaux de la réussite commerciale - à savoir les coûts, le chiffre d'affaires et les risques
- en réduisant le coût des marchandises vendues (COGS), augmentant la satisfaction client et
réduisant les risques.
1. Présentation
Pour commencer, on n’utilise plus l’API MySQL qui est devenu obsolète. Elle n’est plus mise
à jour, ne gère pas les dernières fonctionnalités de MySQL et pourrait présenter des failles de
sécurité. Elle n’existe même plus dans la version 7.0 de PHP ! La comparaison va donc se jouer
sur les deux API suivantes : MYSQLI et PDO
2. Étude comparative
MYSQLI est l’API qui remplace MySQL et fait tout en mieux. D’ailleurs, le
«i» à la fin veut dire improved, c’est la version améliorée de l’API MySQL !
MySQL est spécialement fait pour la base de données MySQL (tout comme
l’API MySQL qu’elle remplace), ce qui veut dire qu’elle est plus rapide que le
PDO. Il est d’ailleurs possible d’utiliser toutes les fonctionnalités avancées de
MySQL comme les requêtes asynchrones, chose que PDO ne fait pas.
De plus, elle peut être utilisée aussi bien de manière procédurale qu’en orientée objet alors que
pour le PDO, il ne peut être utilisé qu’en orienté objet. Cela peut être pratique si vous ne
maitrisez pas encore la POO.
Maintenant, passons à PDO ! PDO est une API qui peut être utilisée sur tout type de base de
données, elle n’est pas qu’exclusivement faite pour MySQL, ce qui est son gros avantage
comparé à MySQL. Si vous savez vous servir de l’API PDO, vous pouvez l’utiliser sur
n’importe quelle base de données, pas besoin d’apprendre à se servir d’une nouvelle interface.
De plus, si votre projet est susceptible de changer de base de données, la modification de votre
code source sera minime, ce qui lui donne un autre point.
L’utilisation de PDO est plus simple que MySQL. Il utilise moins de méthodes pour exécuter
une requête comparée à MySQL. De plus, lors des requêtes préparées, il donne la possibilité
de nommer les paramètres ce qui est pratique tant bien pour la lisibilité que pour éviter les
erreurs de positionnement des paramètres.
3. Choix et justification
Pratiquement tout le monde utilise PDO. Les avantages que donne PDO notamment sur la
flexibilité et la simplicité en fait pratiquement un standard de PHP.
Il est utilisable sur tous types de base de données, il est simple et clair, il est l’API la plus
connue.
I. ANALYSE
1. Étude de l’existant
TITRE I : Accès à la bibliothèque : Ont accès à la bibliothèque tous les agents de
l’ASECNA et les élèves de l’EAMAC sur présentations de leurs cartes professionnelles
ou de leurs cartes scolaires en cours de validité.
Chaque domaine est identifié par un numéro X (le rayon) sous domaines (les tabliers du rayon)
sous identifiés par le chiffre X-Y qui représente généralement une matière du domaine
Exemple 1.1 correspond à : Domaine : Météorologie : Matière Météorologie générale.
Critiques de l’existant
Après étude de l’existant, nous avons soulevés quelques difficultés liées à cette gestion dont
entre autres :
2. Solution envisagée
Face à tous ces problèmes énumérés ci-dessus, nous proposons de concevoir et de réaliser une
application web qui va pallier à tous ces problèmes.
Acteurs Rôles
❖ Super Administrateur ➢ Il est le roi du système il a tous les privilèges du
système. Il est au niveau de système central.
2. Besoins fonctionnels
Les différentes fonctionnalités qu’offrira notre application sont :
Le système doit :
II. LA CONCEPTION
1. Sprint 1
a. Gestion des comptes
i. Digramme de cas d’utilisation
<<include>>
bloquer un compte
ii. activer un compte
<<extend>>
suppimer un compte
<<include>>
ADMIN <<include>> s'authentifier
<<include>>
consulter un compte
rechercher un compte
creer un compte
modifier un compte
<<include>>
Scénarios nominaux :
1. Le système affiche la liste des comptes
2. L’utilisateur peut créer un compte
3. L’utilisateur clique sur le bouton “ Créer “
4. Le système affiche le formulaire de création de compte
5. L’utilisateur saisie les informations et valide le formulaire
6. Le système fait une vérification de saisie
7. Le système effectue la création du compte
8. Le système affiche la liste des comptes
9. L’utilisateur peut rechercher un compte
10.
11. L’utilisateur peut consulter le compte
12. L’utilisateur peut modifier le compte
13. Le système affiche le formulaire de modification
14. L’utilisateur modifie les informations et valide le formulaire
15. Le système fait une vérification
16. Le système enregistre les modifications
17. L’utilisateur peut supprimer un compte
18. Le système affiche un avertissement
19. L’utilisateur confirme son choix
20. Le système supprime le compte (retour à l’étape 1)
21. L’utilisateur peut activer ou bloquer un compte
22. Le système affiche un avertissement
23. L’utilisateur confirme son choix
24. Le système active ou bloque le compte (retour à l’étape 1)
Scénarios alternatifs : 1.a l’utilisateur
décide de quitter la page
4.a l’utilisateur décide d’annuler la création du compte (retour à l’étape 1)
13.a l’utilisateur décide d’annuler la modification (retour à l’étape 1)
18.a l’utilisateur décide d’annuler la suppression (retour à l’étape 1)
22.a l’utilisateur décide d’annuler l’opération (retour à l’étape 1)
Scénarios d’exceptions :
6.b les informations saisies sont incorrects (retour à l’étape 4)
1 5.b les informations saisies sont incorrects (retour à l’étape 13)
8. b la recherche n’a trouvé aucun compte (retour à l’étape 1)
7.b, 16.b, 20. b, 24.b les opérations n’ont pas été effectué au niveau de la base de
données (le système récapitule les erreurs)
Post condition :
7.a L’ajout est effectué dans la base de données
16.a modification effectuée dans la base de données
Sprint 2
<<include>>
rechercher un document
<<extend>>
utilisateur
<<extend>>
imprimer un document
telecharger un document
s'authentifier
<<include>>
<<extend>>
consulter un document
<<extend>>
Administrateur
supprimer un document retirer un document
ajouter auteur
<<include>>
s'authentifier
ADMIN <<include>>
modifier auteur
supprimer auteur
<<include>>
<<include>>
ajouter un editeur
modifier un editeur
Acteur_1
<<include>>
s'authentifier
<<include>>
0..1
catalogue Rayon 0..1 theme 0..1
0..*
- nom : string 0..* - nom : String
... + rechercher () : void
0..1 ...
0..1
Auteur
- nom : String
0..*
- prenom : String
Editeur # ajouter () : int
Document
- nom : String # modifier () : int
- titre : string 0..*
- pays : String 0..1 # supprimer () : int
- sous-titre : string ...
# ajouter () : void - ISBN : int
# modifier () : void - langue : string
0..*
# supprimer () : void 0..*
... - rechercher () : void
- consulter () : void
0..1
- supprimer () : void
- retirer () : void
- imprimer () : void
...
Memoire
- titre : String
- cycle : String Livre
- promotion : String Magazine - titre : String
+ rechercher () : void - titre : String - domaine : String
+ ajouter () : boolean - date parution : Date - langue : String
+ modifier () : void - ISBN : int
+ supprimer () : void
...
<<include>>
ajouter un catalogue
ADMIN <<include>>
supprimer un catalogue
<<include>>
retirer un catalogue
3. Sprint 3
a. Gestion du catalogue
i. Diagramme de déploiement
renvoi du catalogue
actions sur la BD
consulter un catalogue
rechercher un document
verification
I. REALISATION
1. Outil de modélisation
i. Power AMC
PowerAMC est un logiciel de conception créé par la société SDP, qui permet de
modéliser les traitements informatiques et leurs bases de données associées. Créé
par SDP sous le nom AMC*Designor, racheté par Powersoft, ce logiciel est produit par
Sybase depuis le rachat par cet éditeur en 1995. Hors de France, la version internationale est
commercialisée par Sybase sous la marque PowerDesigner. PowerAMC permet de réaliser
tous les types de modèles informatiques.
2. Outils de développement
i. Sublime text
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. Sublime Text intègre la plupart des
fonctionnalités de base d'un éditeur de texte, dont la coloration syntaxique personnalisable,
l’auto complétion, un système de plugins… L'éditeur propose cependant des fonctions plus
avancées.
ii. PHP
Pour la réalisation de nos travaux, nous avons choisi PHP comme langage
développement. En effet, Il est un langage de programmation libre, principalement
utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais
pouvant également fonctionner comme n'importe quel langage interprété de façon locale. PHP
est un langage impératif orienté objet.
PHP a permis de créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia,
etc. Il est considéré comme une des bases de la création de sites web dits dynamiques mais
également des applications web. L’un des avantages majeurs de PHP est sa portabilité. En effet,
un script PHP codé sous Windows peut être utilisé sous un environnement Unix sans aucune
modification. Tout ceci confirme la puissance, la fiabilité et les performances de PHP qui s'est
imposé au vu du nombre de sites l'utilisant.
iii. WampServer
iv. MySQL
3. Librairies
i. Bootstrap
C'est une collection d'outils utile à la création de sites et applications web. C'est
un ensemble qui contient des codes HTML et CSS, des formulaires, des boutons,
des outils de navigation et autres éléments interactifs, ainsi que des extensions
JavaScript en option.
ii. JQuery
La bibliothèque jQuery permet, entre autres, de gagner en rapidité dans l'interaction avec le
code HTML d'une page Web. Elle figure aujourd'hui parmi les bibliothèques JavaScript les
plus utilisées dans le monde pour le développement des sites Internet. Elle ne nécessite aucune
installation particulière et peut être téléchargée directement depuis le site officiel de la
bibliothèque.
iii. Ajax
iv. JSON
JSON (JavaScript Object Notation – Notation Objet issue de JavaScript) est un format
léger d'échange de données. Il est facile à lire ou à écrire pour des humains. Il est
aisément analysable par des machines. Il est basé sur un sous-ensemble du langage de
programmation JavaScript (JavaScript Programming Language, Standard ECMA-262 3rd
Edition - Décembre 1999). JSON est un format texte complètement indépendant de tout
langage, mais les conventions qu'il utilise seront familières à tout programmeur habitué aux
langages descendant du C, comme par exemple : C lui-même, C++, C#, Java, JavaScript, Perl,
Python et bien d'autres. Ces propriétés font de JSON un langage d'échange de données idéal.
v. JavaScript
a. Apports
Notre travail a consisté à mettre une plateforme de bibliothèque numérique pour l’EAMAC
b. Perspectives
Un projet de développement logiciel n’est jamais complètement achevé, c’est pour cela que nous
prévoyons dans le futur de développer une application mobile pour cet Etablissement.
II. SECURITE
1. Niveau de sécurité
Pour se protéger comme les virus, les utilisateurs utiliseront des anti-virus sur leurs machines.
d. La traçabilité
Pour éviter les risques de fraudes et au cas où on veut connaitre l’agent qui a effectué la
déclaration ; le système nous donne tous les historiques des déclarations effectuées.
La réplication n'est pas à confondre avec une sauvegarde : les données sauvegardées ne
changent pas dans le temps, reflétant un état fixe des données, tandis que les données répliquées
évoluent sans cesse à mesure que les données sources changent.
La réplication n'est pas à confondre avec une sauvegarde : les données sauvegardées ne
changent pas dans le temps, reflétant un état fixe des données, tandis que les données répliquées
évoluent sans cesse à mesure que les données sources changent.
b. La sauvegarde
➢ L’enregistrement des données, qui consiste à écrire des données sur un périphérique,
tel qu'un disque dur, une clé USB, des bandes magnétiques, où les informations
demeureront même après l'extinction de la machine, contrairement à la mémoire vive.
➢ L’archivage, qui consiste à enregistrer des données de manière à garantir sur le long
terme leur conformité à un état donné, en général leur état au moment où elles ont été
validées par leurs auteurs.
La sauvegarde passe forcément par un enregistrement des données, mais pas nécessairement
dans un but d'archivage.
CONCLUSION GENERALE
BIBLIOGRAPHIE ET WEBOGRAPHIE
[1]· Philippe Rigaud, 2012, Pratique de MySQL et PHP conception et réalisation de site web
dynamique, nb page 531
[2]· Keven yank, 2010, 4eme édition, Créer un site web avec base de données en PHP &
MySQL, nb page 450
[3]· Jim Conallen « Concevoir des applications web avec UML », Eyrolles, 2000.
[Link]ç[Link]
[4]· Pascal Roques ,2008 4eme édition, UML2 Modéliser une application web, nb page 264
[5] Conception et réalisation d'un site web dynamique pour un magazine en ligne boukerzaza
hanane saouchi rima promotion 2011-2012 de l’université de Constantine
[Link]
Sites web
[11]· [Link]
[12]· [Link]
[13]· [Link]
[14]· [Link]