SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
RÉPUBLIQUE-TOGOLAISE
Travail-Liberté-Patrie
Ministère de la Planification
du Développement
Institut Africain d’Informatique,
Représentation du TOGO
(IAI-TOGO)
59 Rue de la Kozah Nyékonakpoè
07 BP : 12456 Lomé 07 Togo
Tél : 22 20 47 00 / 22 21 27 06
E-mail: iaitogo@iai-togo.com
Site Web: www.iai-togo.com
Stage pratique de programmation
Rédigé par :
AGOTSI Komi Gédéon Cyrille,
Etudiant en deuxième 2ème année
Année académique 2015-2016
THEME : MISE EN PLACE D’UN SYSTEME
GENERIQUE DE SAUVEGARDE ET
RESTAURATION DE BASE DE DONNEES
MEDIASOFT
Sagbado
BP : 1331 Lomé - TOGO
Tel : (+228) 22 20 17 29/99 47 06 39
E-mail : mediasofthome@yahoo.fr
Site web: www.mediasofthome.com
Maitre de stage :
M. ABOLO-SEWOVI Komi R.
Consultant en informatique
Superviseur :
M. DAVON Essè
Enseignant à l’IAI-TOGO
Mise en place d’un système de sauvegarde et restauration de base de données Dédicace
i
Rédigé par AGOTSI Komi Gédéon Cyrille
Dédicace
A mon père AGOTSI Tadogbè,
Vous êtes pour moi un sujet de fierté. Vous m’avez
toujours appris le sens de la responsabilité, la raison, le
devoir, et la confiance en soi. Au-delà des mots et des
phrases, aucune parole ne saurait exprimer mon éternel
attachement, mon profond amour, ma perpétuelle
affection et l'infinie gratitude que je vous dois.
Je sais que vous étiez toujours fière de moi et j'espère
que vous le seriez plus aujourd'hui.
Que Dieu vous garde et vous alloue bonne santé,
bonheur, prospérité et longue vie.
A ma sœur AGOTSI Ruth & à mes frères AGOTSI
Dom et Gildas,
Avec qui je partage joies et souffrances. Vous n’avez
pas cessé de me soutenir et de m’encourager durant
toutes les années de mes études, vous avez toujours été
présents à mes côtés pour me consoler quand il le faut.
Aux autres membres de ma famille,
Merci pour tous vos conseils, soutien, prière et toute
l’attention que vous m’avez toujours accordés.
A tout le reste de ma famille, mes amis, mes camarades,
je vous dédie ce travail en signe de reconnaissance et de
respect.
Qu’il soit preuve de ma sympathie et de mon amour à
votre égard.
Mise en place d’un système de sauvegarde et restauration de base de données Remerciements
ii
Rédigé par AGOTSI Komi Gédéon Cyrille
Remerciements
Nous remercions tout d’abord Dieu le Tout puissant.
Nous tenons ensuite à exprimer nos sincères gratitudes et remerciements, au
terme de ce travail :
 A M. AGBAHE Yaovi, le Directeur General de MEDIASOFT pour nous
avoir accepté et mis à notre disposition les moyens logistiques et
administratifs nécessaires à la réalisation de ce stage ;
 A M. AGBETI Kodjo, Directeur Général du CENETI et Représentant
Résident de l’IAI-TOGO pour sa foi en cet institut et pour tous les
efforts qu’il y déploie ;
 A M. ABOLO-SEWOVI Komi R., Ingénieur informaticien, consultant
à Médiasoft, pour sa sympathie, sa disponibilité à répondre à nos
inquiétudes et sa rigueur dans le suivi de ce rapport ;
 A M. DAVON Essè, Ingénieur informaticien à l’IAI-TOGO pour son
attitude de coordonnateur, et toutes ses aides apportés lors de la
préparation de ce document ;
 A M. AMEYIKPO Nicolas, Directeur des Etudes de l’IAI-TOGO pour
toute l’aide qu’il a su nous apporter quand le besoin s’est fait sentir ;
 Au corps professoral de l’IAI-TOGO pour la qualité de la formation ;
 A nos camarades de promotion, pour l’esprit de partage et de soutien ;
 A tous ceux qui ont contribué de près ou de loin à la réalisation de notre
rapport.
Mise en place d’un système de sauvegarde et restauration de base de données Sommaire
iii
Rédigé par AGOTSI Komi Gédéon Cyrille
Sommaire
Dédicace....................................................................................................................................................i
Remerciements ........................................................................................................................................ii
Sommaire ................................................................................................................................................iii
Liste des participants au projet...............................................................................................................iv
Introduction générale ..........................................................................................................................1
PARTIE I : RAPPORT D’INSERTION .......................................................................................................1
Introduction ...........................................................................................................................................2
I. Présentations ...................................................................................................................................3
II. Thème du stage............................................................................................................................. 10
Conclusion........................................................................................................................................... 12
PARTIE II : RAPPORT DE PRE-PROGRAMMATION ........................................................................ 13
Introduction ........................................................................................................................................ 14
I. Etude de l’existant......................................................................................................................... 15
II. Critique de l’existant ..................................................................................................................... 25
III. Propositions de solutions.......................................................................................................... 25
IV. Evaluation financière des solutions........................................................................................... 27
V. Choix de solution........................................................................................................................... 29
VI. Planning prévisionnel de réalisation......................................................................................... 30
VII. Présentation de la méthode d’analyse ..................................................................................... 31
VIII. Présentations de l’outil de modélisation .................................................................................. 35
IX. Etude détaillée de la solution.................................................................................................... 37
IX. Etude détaillée de la solution ................................................................................................37
Conclusion............................................................................................................................................49
PARTIE III : REALISATION ET MISE EN OEUVRE.....................................................................50
Introduction .........................................................................................................................................51
I. Mise en œuvre.............................................................................................................................52
II. Présentation de le la librairie .....................................................................................................58
Conclusion............................................................................................................................................72
Conclusion générale ..........................................................................................................................73
Bibliographie........................................................................................................................................74
Mise en place d’un système de sauvegarde et restauration de base de données Participants
iv
Rédigé par AGOTSI Komi Gédéon Cyrille
Liste des participants au projet
INTERVENANT FONCTION ROLE
M. ABOLO-SEWOVI Komi Ingénieur Informaticien à
l’UCAO-UUT
Maitre de
stage
M. DAVON Essè Ingénieur Informaticien à
l’IAI-TOGO
Superviseur
du projet
M. AGOTSI Komi Gédéon
Cyrille
Etudiant en
Deuxième année (2ème)
d’Analyse et
Programmation (2015-2016)
Réalisateur
M. AGBAHE Yaovi Directeur Général de
MEDIASOFT
Utilisateur
Tableau 1 : Tableau Récapitulatif des participants au projet
Mise en place d’un système de sauvegarde et restauration de base de données Introduction générale
1
Rédigé par AGOTSI Komi Gédéon Cyrille
Introduction générale
L'informatique fait aujourd'hui partie intégrante de la majorité des
entreprises, à un tel point que le métier d'informaticien s'est diversifié en
une multitude de fonctions spécialisées, touchant aux réseaux, à
l’ingénierie logicielle, à la sécurité des systèmes informatiques ou encore à
l'infographie ou l'ergonomie.
La formation aux métiers de l’informatique s’avère cependant une tâche
très rude, du fait de la rigueur qu’ils exigent et par rapport aux demandes
accrues sur le marché de l’emploi d’informaticiens compétents.
Dans l’optique de répondre aux exigences du marché de l’emploi, l’Institut
Africain d’Informatique, représentation du Togo (IAI-TOGO) forme des
Ingénieurs des Travaux Informatiques depuis plusieurs années déjà. Il a
mis en place, pour les étudiants de deuxième (2ème) année, un stage
pratique de trois (03) mois en entreprise. Son objectif est la mise en
pratique des connaissances en analyse et programmation acquises
pendant les deux (02) premières années de formation, et la réalisation d’un
projet concret, qui devra aboutir à une application viable et prête à
l’emploi.
A cet effet nous avons effectué un stage du 27 Juin au 12 Septembre 2016 à
Médiasoft.
Notre mission consistait à développer une librairie générique de
sauvegarde et de restauration de base de données, d’où le thème de notre
projet : « Mise en place d’un système générique de
sauvegarde et restauration de base de données : cas de
médiasoft ».
Ce document, illustrant tout le travail que nous avons abattu au cours de
ce stage, fait office de rapport de notre stage et est partitionné en trois (03)
grandes parties, à savoir : le rapport d’insertion, le rapport de pré-
programmation et le rapport de réalisation et de mise en œuvre.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
1
Rédigé par AGOTSI Komi Gédéon Cyrille
PARTIE I :
RAPPORT D’INSERTION
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
2
Rédigé par AGOTSI Komi Gédéon Cyrille
Introduction
Cette partie sera consacrée en premier à la présentation de l’IAI-TOGO,
ensuite à la description du cadre d’accueil dans lequel se déroule le projet,
et enfin à la présentation du thème de stage qui nous a été soumis.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
3
Rédigé par AGOTSI Komi Gédéon Cyrille
I. Présentations
1.Brève présentation de l’IAI-TOGO
L’Institut Africain d’informatique (IAI) est une école inter-Etat, créée en
1971 à Fort-Lamy actuelle N’Djamena, au Tchad dont le siège est basé à
Libreville au Gabon.
Il compte onze (11) Etats membres à savoir le Bénin, le Burkina Faso, le
Caméroun, la Centrafrique, la Cote d’Ivoire, la République du Congo, le
Niger, Le Sénégal, le Tchad, le Togo et le Gabon. Il forme des Ingénieurs
informaticiens, des Maitres (MIAGE), des Analystes-programmeurs.
Une représentation nationale pour le cycle d’Analyste Programmeur a été
ouverte dans certains pays membres, notamment au Cameroun, au Niger
et au Togo. Ces représentations ont été mises en place dans le but de mettre
à disposition des Etat membres un centre de formation adéquat et
conforme aux normes internationales pour répondre aux besoins des pays.
L’Institut Africain d’Informatique, représentation du Togo, qui forme en
trois ans des Ingénieurs de Travaux Informatiques en Génie Logiciel
depuis 2002, a élargi son programme de formation en y intégrant les
Systèmes et Réseaux Informatiques et, depuis l’année dernière, la filière
« MultiMedia Technologique Web et Infographie (M-TWI) ».
Figure 1: Plan de localisation IAI-TOGO
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
4
Rédigé par AGOTSI Komi Gédéon Cyrille
2.Présentation du centre d’accueil : Médiasoft
2.1 Statut
Opérateur économique N° 1000211052, Médiasoft est créé en Septembre
2003 de la rencontre de professionnels ayant en commun la passion des
projets informatiques et ayant choisi d’investir dans les domaines de
l’expertise pédagogique et technique pour être au cœur des changements
et des nouveautés informatiques dans un monde technologique en
constante évolution.
Médiasoft était un établissement informatique spécialisé dans le
développement de logiciels de gestion, dans la création de sites web et
fourniture de matériels et consommables informatiques.
Depuis 2012, Médiasoft devient une société de Consulting et Intégration
de systèmes, de Développement d’applications, de Formation et de conseil
professionnel réunissant plusieurs compétences sous une même entité
commerciale afin de focaliser principalement son activité sur le
développement et la mise en œuvre de système d’information internet
/intranet.
2.2 Mission
 Localiser les besoins et y apporter des solutions informatiques ;
 Doter les entreprises de logiciels performants et qui répondent aux
règles de gestion de ces structures et surtout à prix raisonnables ;
 Rechercher l’excellence ;
 Effectuer permanemment des recherches pour anticiper les attentes
du client.
2.3 Activités
Les activités de la société Médiasoft se résument en :
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
5
Rédigé par AGOTSI Komi Gédéon Cyrille
 Conception et développement d’application informatiques de
gestion ;
 Conception de sites web ;
 Distribution de matériels et consommables informatiques ;
 Câblage et intégration de réseaux informatique ;
 Formation et audit informatique ;
 Maintenance.
2.4 Quelques réalisations
 Microfina : versions client lourd et web, est une solution intégrée
spécialement développée pour les IMF (Institutions de
Microfinance) ;
 Tontine Mobile : Application de gestion de tontine, à travers les
smartphones et des tablettes ;
 Caisse Mobile : Utilitaire de caisse, à travers les smartphones et les
tablettes ;
 E-ecole : Application de gestion des écoles ;
 Mop : Application de gestion de la main d’œuvre portuaire ;
 QuickTransport : Application de gestion des transports.
2.5 Organigramme
Médiasoft dispose d’un personnel très dynamique qui est au cœur de
toutes ses activités et qui se compose comme suit :
 La Direction : le Directeur Général assisté par une assistante de
Direction ;
 Le Service Génie Logiciel : composé de onze (11) Ingénieurs
développeurs dont le Chef Projet ;
 Le Service Marketing et Support : composé de sept (07) personnes ;
 Le Service Comptabilité : composé d’une (01) personne ;
 Le Service Maintenance et Réseau : composé de deux (02)
techniciens;
 Le Service Distribution: composé de deux (02) personnes.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
6
Rédigé par AGOTSI Komi Gédéon Cyrille
Ainsi l’organigramme de Médiasoft se présente comme suit :
2.6 Service d’accueil
Afin de nous permettre de mener à bien notre travail Médiasoft nous a
offert pour cadre de stage le service génie logiciel.
Ce service constitue l'un des plus importants services car il est le pilier
de la conception, du développement des applications informatiques et
sites web. Il regroupe en son sein deux subdivisions à savoir :
 Développeurs Java & Android ;
 Développeurs Delphi, PHP,…
Il a pour attributions :
 La conception et développement d’application informatiques de
gestion ;
 La conception de sites web ;
Figure 2 : Organigramme de Médiasoft
Directeur Général
Service Marketing
& Supports
Service Génie
Logiciels
Développeurs
JAVA & ANDROÏD
Développeurs
(Delphi, PHP, ...)
Service
Comptabilité
Service
Maintenance
Service
Distribution
Assistante de
Direction
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
7
Rédigé par AGOTSI Komi Gédéon Cyrille
 La maintenance et l’évolution des applications développées ;
 L’assistance technique et intervention aux niveaux des clients.
2.6.1 Architecture matérielle
Le parc informatique de Médiasoft comprend les différents types de
matériels qui sont consignés dans le tableau ci-dessous :
MATERIEL MARQUE ou
MODELE
CARATERISTIQUES QUANTITE
Imprimante et
scanner
HP psc 1510
all in one
14 ppp- 600ppp-8Mo et USB-
bac 250feuilles-600 ppp-Photo
< 160, texte<160, dessein<100-
USB-copies, OCR et numérisé
05
PC Desktop HP/DELL 1,8 GHz de fréquence, RAM de
1 à 2 Go disques durs de 120 à
300 Go
10
PC Laptop HP/DELL/TO
SHIBA
Core (TM) 2 ; 2 ,4 GHz ; 2 à 4
Go de RAM
20
Switch D-link 24 ports 01
16 ports 01
Routeur LinkSys,
Cisco
Routeur Wifi, Interface
Ethernet IEEE 802.11b, IEEE
802.11g
02
Serveur Serveur HP
ProLiant
Raid 0,1 et 10 (Raid 5 après
ajout de mémoire cache)
2
Tableau 2 : Récapitulatifs de l'architecture matériel informatique de Médiasoft
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
8
Rédigé par AGOTSI Komi Gédéon Cyrille
2.6.2 Architecture logicielle
Les principaux outils utilisés par Médiasoft sont les suivantes :
 Outils de développement :
 Netbeans ;
 PhpStorn ;
 Borland Delphi ;
 Adobe Master Collection CS5.
 Outils de gestion de projet :
 Redmine.
 Outils de gestion de base de données :
 SQL Server 2005, 2008, 2014 tournant sur Windows server 2003
et 2008 ;
 PostgreSQL.
 Autres
 Suite bureautique (Microsoft Office 2007) pour traitements de
textes, calculs, la réalisation de diapositives pour présentation.
2.7 Plan de localisation
Autrefois située sur la rue Radio Bonne Nouvelle (Cassablanca), elle se
localise aujourd’hui dans le quartier Sagbado, à côté de la maison du chef
canton ou de l’Ecole Primaire Publique d’Aflao Sagbado. Ses contacts sont
donnés ci-dessous :
BP : 13331 /Lomé-Togo
Téléphone : (+228) 22 20 17 29/99 47 06 39
Email : mediasofthome@yahoo.fr
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
9
Rédigé par AGOTSI Komi Gédéon Cyrille
Site web : www.mediasofthome.
Figure 3 : Plan de localisation de Médiasoft
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
10
Rédigé par AGOTSI Komi Gédéon Cyrille
II. Thème du stage
1.Présentation du sujet
L’informatique est de plus en plus présente dans notre vie de tous les jours
avec l’avènement des Nouvelles Technologies de l’Information et de la
Communication (NTIC). Les données informatiques sont au centre de la
révolution numérique.
A cet effet il s’avère important que les éditeurs de logiciels intègrent des
fonctionnalités de sauvegarde et, de restauration dans chacune de leurs
applications développées et commercialisées afin de permettre aux clients
d’anticiper sur toute éventuelle perte de données.
C’est dans ce but que nous avons entrepris le projet : « Mise en place d’un
système générique de sauvegarde et restauration de bases de données » qui
consiste à développer une librairie de sauvegarde et, de restauration de
bases de données intégrable dans les applications développées par
Médiasoft.
2.Problématique du sujet
Les données informatiques nécessaires au fonctionnement de l’activité de
l’entreprise sont d’une importance capitale pour l’entreprise. La perte de ces
données pourrait la paralyser et même dans les cas extrêmes, lui être fatale.
Il faut donc être capable d’anticiper la perte inattendue des données et être
en mesure de proposer un plan de récupération de ces données si précieuses.
C’est pourquoi, il est nécessaire de les sauvegarder régulièrement.
Conscient de l’importance relative des données, MEDIASOFT intègre dans
la plupart des applications développées et commercialisées des
fonctionnalités pour sauvegarder et restaurer la base de données en guise de
mesures préventives pour revenir à l’image existante avant le sinistre sans
aucune perte de données et aussi résoudre le problème majeur
d’administration de bases de données de ses clients puisque ces derniers
n’ont, le plus souvent aucune compétence en la matière .
Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion
11
Rédigé par AGOTSI Komi Gédéon Cyrille
Il se trouve que ces applications développées ne sont pas modularisées .Et
donc de telles fonctionnalités communes sont développées à chaque fois et
même faite manuellement en utilisant les fonctionnalités par défaut
proposées par les SGBD. Cela constitue une perte de temps précieux pour les
développeurs ainsi que des problèmes importants de maintenance et de
sécurités.
La suite de notre travail répondra donc aux interrogations suivantes :
 Comment normaliser l’implémentation de la sauvegarde et de la
restauration de bases de données par les développeurs
indépendamment du SGBD utilisé ?
 Comment modulariser les applications développées pour cette
fonctionnalité?
 Comment faciliter la réutilisabilité du code source d’un module
donné?
 Comment faciliter la maintenance des applications ? Comment faciliter
(au client) la planification de la sauvegarde de sa base de données ainsi
que sa restauration en cas de sinistre ?
3.Intérêt du sujet
3.1 Objectifs
La librairie permettra :
1) La sauvegarde générique de base de données ;
2) La restauration générique de base de données à partir des
sauvegardes
3) La planification des sauvegardes, pour des exécutions
automatiques.
3.2 Résultats attendus
La librairie devra fournir les fonctionnalités
 Sauvegarde manuelle de données effectuée ;
 Planification de sauvegarde de données effectuée;
 Restauration de base de données effectuée ;
 Interface d’intégration des fonctionnalités ci-dessus au d’autre
application.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
12
Rédigé par AGOTSI Komi Gédéon Cyrille
Conclusion
Parvenus au terme du présent rapport d’insertion, nous avons pu recenser
les contours de notre thème de stage portant sur la « Mise en place d’un
système générique de sauvegarde et restauration de base de
données : cas de médiasoft ».
Ce document a également présenté toutes les informations sur notre centre
d’accueil et l’IAI-TOGO.
Connaissant ainsi les contours de notre thème de stage, nous allons
entamer la prochaine phase (la phase de pré-programmation).
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
13
Rédigé par AGOTSI Komi Gédéon Cyrille
PARTIE II : RAPPORT DE
PRE-PROGRAMMATION
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
14
Rédigé par AGOTSI Komi Gédéon Cyrille
Introduction
Le rapport de pré-programmation fait suite au rapport d’insertion. Cette
partie constitue une phase importante dans le développement de notre
librairie.
Nous allons dans un premier temps faire une étude préalable, ensuite
proposer des solutions et retenir celle qui fera l’objet d’une implémentation
informatique.
Dans un second temps nous aborderons la phase de modélisation et de
conception proprement dite en recensant d’abord les fonctionnalités (
besoins) grâce au diagramme de cas d’utilisation, ensuite nous décrirons la
structure de notre librairie à travers les diagrammes structurels que sont les
diagrammes de composants ,de déploiement et enfin le comportement de la
librairie à travers le diagrammes d’activités avec Unified Modeling
Language (UML) comme langage de modélisation et Two Track Unified
Process (2TUP) comme processus .
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
15
Rédigé par AGOTSI Komi Gédéon Cyrille
I. Etude de l’existant
MEDIASOFT utilise divers SGBD tels que MySQL, SQL Server, Postgresql,
Oracle pour le stockage des données des applications développées. Ainsi
pour sauvegarder et restaurer une base de données, il utilise les
fonctionnalités de sauvegarde et de restauration par défaut depuis l’interface
d’administration du SGBD.
Nous ferons une étude dans cette pratique en se référant au SGBD SQL
Server. Nous décrirons les processus de sauvegarde et de restauration.
1.SQL Server
Microsoft SQL Server permet de sauvegarder et restaurer des bases de
données. Le composant de sauvegarde et restauration de SQL Server apporte
une sécurité importante pour la protection des données cruciales stockées
dans les bases de données SQL Server.
Une stratégie de sauvegarde et de restauration correctement planifiée permet
de protéger les bases de données contre toute perte de données provoquée
par différentes défaillances. Nous pouvons donc tester cette stratégie en
restaurant un ensemble de sauvegardes, puis en récupérant notre base de
données pour nous préparer à réagir efficacement en cas de sinistre. Une
copie de données qui peut être utilisée pour restaurer et récupérer des
données porte le nom de sauvegarde. Les sauvegardes permettent de
restaurer les données après :
 Une défaillance du support ;
 Des erreurs utilisateur, telle que la suppression d'une table par
inadvertance ;
 Des défaillances matérielles, telles qu'un lecteur de disque endommagé
ou la perte d'un serveur ;
 Des catastrophes naturelles.
Par ailleurs, il peut être utile d'effectuer des sauvegardes d'une base de
données afin d'effectuer des tâches administratives de routine, telles que la
copie d'une base de données d'un serveur vers un autre, l’archivage.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
16
Rédigé par AGOTSI Komi Gédéon Cyrille
1.1 Sauvegarde de base de données
1.1.1 Sauvegarde avec arrêt de la production
Cette solution ne nécessite pas d’outil complémentaire mais nécessite l’arrêt
du service « SQL Server (MSSQLSERVER) » qui provoque une interruption
de service (dans le cas où aucune base de secours n’est mise en place.
1. Arrêt du service SQL SQLSERVER
Sur le serveur hébergeant la base de données, ouvrez une console des
services (menu Démarrer > Outils d’administration > Services). Une fenêtre
« Services » apparaît. Cliquez droit sur le service nommé « SQL Server
(MSSQLSERVER » et choisissez l’option « Arrêter »
Figure 4 : Arrêt du service SQLServer(MSSQLServer)
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
17
Rédigé par AGOTSI Komi Gédéon Cyrille
2. Copie des fichiers
Copiez les fichiers correspondant à votre base de données se trouvant
dans le répertoire « C:ProgramFilesMicrosoftSQL
ServerMSSQL.1MSSQLData ». Pour chaque des bases de données,
deux fichiers sont à copier : un fichier «.mdf » et un fichier « .ldf ».
3. Redémarrage du service SQL SQLSERVER
Sur le serveur hébergeant la base de données, ouvrez une console des
services (menu Démarrer Outils d’administration Services). Une fenêtre «
Services » apparaît. Cliquez droit sur le service nommé « SQL Server
(SQLSERVER) » et choisissez l’option « Démarrer ».
Figure 5 : Copie des fichiers <<.mdf>> et <<.ldf>> de la base de données
Figure 6 Démarrage du service SQLServer (MSSQLSERVER)
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
18
Rédigé par AGOTSI Komi Gédéon Cyrille
1.1.2 Sauvegarde sans arrêt de la production
Ce type de sauvegarde nécessite un outil complémentaire par l’autre :
1. Lancement de l’outil « Microsoft SQL Server Management Studio Express
» et connexion au serveur de base de données hébergeant la base de
données à sauvegarder.
2. Dans la fenêtre nommée « Explorateur d’objets » on trouve la base à
sauvegarder et clic droit sur cette dernière. Dans le menu contextuel
choisir « Tâches puis Sauvegarder… ».
Figure 7 : Sauvegarde de la base de données : menu contextuel
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
19
Rédigé par AGOTSI Komi Gédéon Cyrille
3. Configuration des options de sauvegarde et clique sur « OK »
Nous pouvons voir la progression d’exécution de la sauvegarde en bas à
gauche :
Figure 8 : Options de sauvegarde
Figure 9 : Progression de la sauvegarde
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
20
Rédigé par AGOTSI Komi Gédéon Cyrille
4. A la fin de la sauvegarde, un message apparaît :
Par défaut le fichier de backup est créé sous « C:Program FilesMicrosoft
SQL ServerMSSQL.12.MSSQLSERVERMSSQLBackup » au format .bak.
Ce fichier, qui a été généré sans arrêt de la production, contient alors
l’ensemble des informations de la base de données.
1.2 Restauration de base de données
1. Tout d’abord, il nous faut arrêter le « service d’administration IIS » (menu
Démarrer > Outils d’administration > Services) sur tous les serveurs
d’administration afin de ne plus avoir d’accès vers la base de données
(tables verrouillées).
2. Lancement l’outil « Microsoft SQL Server Management Studio Express »
et connexion au serveur de base de données.
3. Dans la fenêtre nommée « Explorateur d’objets » y a la base pour laquelle
nous voulons appliquer une restauration, clic droit sur cette dernière.
Dans la fenêtre contextuelle choisir « Tâches > Restaurer > Base de
données
Figure 10 : Boite de dialogue
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
21
Rédigé par AGOTSI Komi Gédéon Cyrille
4. Une fenêtre « Restaurer la base de données » s’ouvre. Dans cette fenêtre,
nous trouvons par défaut dans la page de configuration « Général » (la
sélection de page se trouve dans le coin supérieur gauche). Choisir une
restauration de type « A partir du périphérique » et clic sur le bouton « ... »
Figure 11 : Interface de restauration de la base de données : menu contextuel
Figure 12 : Restaurer la base de données
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
22
Rédigé par AGOTSI Komi Gédéon Cyrille
5 - Une fenêtre « Spécifier la sauvegarde » s’ouvre. Choisir un « Support de
sauvegarde » de type « Fichier » puis cliquer sur « Ajouter ».
6 - Une fenêtre « Localiser le fichier de sauvegarde » s’ouvre. Choisir le fichier
de sauvegarde de la base de données au format « .bak »que nous voulons
restaurer puis cliquer sur « OK ».
Figure 13 : Sélection du support de sauvegarde
Figure 14 : Sélection du fichier de sauvegarde
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
23
Rédigé par AGOTSI Komi Gédéon Cyrille
7 - Dans la fenêtre « Spécifier la sauvegarde », cliquer sur « OK ».
8 - Nous sommes à nouveau dans la fenêtre « Restaurer la base de données »
et dans la liste nommée « Sélectionner les jeux de sauvegardes à restaurer »,
la base que nous venons de choisir est apparue, il faut lui cocher l’option «
Restaurer ».
Figure 15 : Emplacement de la sauvegarde
Figure 16 : Sélection des jeux de sauvegarde à restaurer
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
24
Rédigé par AGOTSI Komi Gédéon Cyrille
9 - Toujours dans la fenêtre « Restaurer la base de données » dans la page de
configuration des « Options » (la sélection de page se trouve dans le coin
supérieur gauche). Dans la liste « Options de restauration » sélectionner
l’option « Remplacer la base de données existante ». Attention: dans la partie
« Restaurer les fichiers de base de données en tant que : », se rassurer que les
chemins indiqués sous « Restaurer sous » sont valides en cliquant sur le
bouton « … » Cliquer sur le bouton « OK » pour lancer la restauration.
10- A la fin de la restauration, un message apparaît. Clic sur « OK »
Figure 17 : Options de restauration
Figure 18 : Boite de dialogue
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
25
Rédigé par AGOTSI Komi Gédéon Cyrille
II. Critique de l’existant
Tous les SGBD utilisés par MEDIASOFT offre une interface d’administration
pour la réalisation des opérations de sauvegarde et de restauration de base
de données. Cependant ces fonctionnalités par défaut proposées par ces
SGBD présentent des lacunes à MEDIASOFT dans l’administration des bases
de données des applications vendues aux clients.
On distingue :
 Nécessité d’intervention de MEDIASOFT auprès des clients ;
 La perte de temps : Les développeurs afin d’implémenter ces
fonctionnalités dans une application récrivent à chaque fois les
mêmes séquences de code qui sont spécifique à chaque SGBD, ce qui
nécessite un temps plus ou moins long ;
 Problème de maintenance : Les développeurs de MEDIASOFT ont
d’énorme difficultés pour maintenir leur applications dû au fait que
ceux-ci ne sont pas modularisées ;
 Manque de généricité : Impossibilité de pouvoir restaurer une base
de données à partir d’une sauvegarde provenant d’un autre SGBD ,on
est obligé d’implémenter ces fonctionnalités suivant le SGBD utilisé ;
 Travail d’équipe difficile : Puisque l’implémentation de ces
fonctionnalités n’est pas standardisée.
III. Propositions de solutions
Pour la résolution de la problématique, deux solutions sont proposées :
1.Première solution
Il s’agit de proposer aux clients un des logiciels de sauvegarde, de
restauration. Ils sont en vente sur internet. Nous pourrions donc nous
informer plus sur les fonctionnalités qu’ont ces différents logiciels et voir s’ils
répondent bien aux attentes ou au problème posé.
Exemple : Iperius Backup BD qui est un logiciel de sauvegarde, de
restauration et de planification automatique de sauvegarde pouvant
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
26
Rédigé par AGOTSI Komi Gédéon Cyrille
communiquer avec plusieurs SGBD offrant une console web
d’administration.
1.1 Avantage
La mise en œuvre de cette solution nous permettra de gagner
considérablement en temps de réalisation du projet.
1.2 Inconvénients
 Ces produits sont payants ;
 Ils ne répondent pas à l’objectif principal de MEDIASOFT de mettre à
disposition de l’équipe de développement une librairie normalisée et
générique utilisable pour implémenter ces fonctionnalités ;
 Les clients de MEDIASOFT n’accepteraient pas aussi acheter un autre
produit logiciel juste pour la sauvegarde de leurs bases de données,
toujours la raison du coût financier de cette solution.
Figure 19 : Interface de l'application Iperius backup
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
27
Rédigé par AGOTSI Komi Gédéon Cyrille
2.Deuxième solution
Cette solution consiste à développer une librairie générique (indépendante
des SGBD) de sauvegarde, de restauration et de planification automatique
de sauvegarde utilisable directement dans les projets de développement
d’application de MEDIASOFT.
2.1 Avantages
 La mise en place de cette librairie partira d’une analyse donc
comportera les fonctionnalités nécessaires et suffisantes pour la
mise en place du système de sauvegarde, de restauration et de
planification de sauvegarde de base de données ;
 Cette librairie sera générique, donc il est possible de pouvoir
faire la sauvegarde et la, restauration de base de données sans se
préoccuper du SGBD utilisé ;
 Cette librairie permettra de pouvoir restaurer une sauvegarde
de base de données provenant d’un SGBD sur un autre ;
 La librairie présentera une documentation sur les différentes
classes et méthodes d’implémentation. Elle disposera de même
une interface web facile à utiliser, accessible depuis un
navigateur.
2.2 Inconvénients
 La librairie n’est pas encore développée;
 La librairie n’est pas encore développée.
IV. Evaluation financière des solutions
1.Première solution
Notre première solution consiste à proposer pour chaque client de
Médiasoft Iperius Backup, un logiciel de sauvegarde, de restauration et de
planification de sauvegarde de base de données.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
28
Rédigé par AGOTSI Komi Gédéon Cyrille
Désignation Montant (F CFA)
Licence à vie de la version complète d’Iperius
Backup
210 000
Coût d’intégration 150 000
Formations des utilisateurs 100 000
Total 460 000
Tableau 3 : Evaluation financière de la première solution
2.Deuxième solution
La deuxième solution consiste à développer une librairie générique de
sauvegarde, de restauration et de planification de sauvegarde de base de
données.
Puisque c’est une librairie nous n’aurons qu’à estimer les couts humains et
de formation.
Désignation Rôle Coût Unitaire
(FCFA)
Nombre
d’heures
Prix Total
Un Ingénieur des
travaux
Informatique
Conception de la
librairie
5000 300 2 000 000
Formations des
utilisateurs
Formation 3000 30 180000
Total - - - 2 180 000
Tableau 4 : Evaluation financière de la deuxième solution
43 heures à raison de 03 heures par semaine du 27 Juin 2013 au 11 Juillet 2013 et 40 heures par
semaine du 12 Juillet au 12 Septembre.
** : référencehttp://www.lejustesalaire.com/salaire-par-poste/salaires-stagiaire-informatique.php
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
29
Rédigé par AGOTSI Komi Gédéon Cyrille
V. Choix de solution
Le choix de solution de Médiasoft s’est alors porté sur la deuxième.
SPECIFICATIONS TECHNIQUES
Méthode d’analyse Approche Objet (UML +
2TUP)
Outils de modélisation Sybase Power AMC 15.1
Langage de programmation JEE
Environnement de Développement Intégré (EDI) Netbeans 8.0.2
Tableau 5 : Spécifications techniques du projet
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
30
Rédigé par AGOTSI Komi Gédéon Cyrille
VI. Planning prévisionnel de réalisation
Figure 20 : Diagramme de GANTT illustrant le planning prévisionnel de ré
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
31
Rédigé par AGOTSI Komi Gédéon Cyrille
VII. Présentation de la méthode d’analyse
1.Langage UML
Le langage de modélisation unifié, en anglais Unified Modeling Langage est
un langage de modélisation graphique à base de pictogrammes (dessins
figuratifs stylisés ayant fonction de signe) conçu pour fournir une méthode
normalisée pour visualiser la conception d’un système. Il est couramment
utilisé en développement logiciel et en conception orientée objet.
UML est le résultat de la fusion de précédents langages de modélisation
objet : Booch, OMT, OOSE. Principalement issu des travaux de Grady
Booch, James Rumbaugh et Ivar Jacobson, UML est à présent un standard
adopté par l'Object Management Group (OMG).
1.1 Les diagrammes UML
Figure 21 : Logo d’UML
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
32
Rédigé par AGOTSI Komi Gédéon Cyrille
UML 2.3 propose 14 types de diagrammes (contre 9 en UML 1.3). Ces
diagrammes sont dépendants hiérarchiquement et se complètent, de
façon à permettre la modélisation d’un projet tout au long de son cycle
de vie. On a :
 Les diagrammes structurels ou statiques (07) qui rassemblent : le
diagramme de classes (intervenant dans le système), le diagramme
d’objets (instances de classes), le diagramme de composants (du point
de vue physique), le diagramme de déploiement, le diagramme des
paquetages (ensembles de définitions), le diagramme de structure
composite (relations entre les composants) et le diagramme de profils ;
 Les diagrammes comportementaux (03) qui rassemblent : le
diagramme des cas d’utilisation (acteurs et interactions avec le
système), le diagramme d’états-transitions (description sous forme de
machine à états finis du comportement du système et ses
composants), le diagramme d’activité (description sous forme
d’activités du comportement du système et ses composants) ;
 Les diagrammes d’interaction ou dynamiques (04) qui rassemblent : le
diagramme de séquences, le diagramme de communication (échange
de messages entre les objets), le diagramme global d’interaction
(variante du diagramme d’activité), diagramme de temps (variation
d’une donnée au cours du temps).
1.2 UML est un formalisme
UML est un langage de conception objet qui permet de modéliser les
solutions informatiques par des diagrammes (cités ci-dessus). Pourtant,
le langage ne propose pas l’ordre qui doit régir ces diagrammes. C’est
ainsi que les méthodes viennent appuyer le langage pour rendre totale et
parfaite l’approche objet. Les méthodes imposent au langage l’ordre et la
démarche. Il existe une multitude de méthodes de conception objet telles
que : 2TUP (Two Track Unified Process), XP (ExtremeProgramming),
Scrum, RUP (Rational Unified Process).
La méthode retenue pour notre projet est le 2TUP
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
33
Rédigé par AGOTSI Komi Gédéon Cyrille
2.Processus 2TUP
2 Track Unified Process (2TUP), à prononcer "toutiyoupi" est un processus
de développement Logiciel qui implémente le Processus Unifié.
Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects
techniques des aspects fonctionnels. Il commence par une étude
préliminaire qui consiste essentiellement à identifier les acteurs qui vont
interagir avec le système à construire, les messages qu’échangent les
acteurs et le système.
Ensuite à produire le cahier des charges et à modéliser le contexte (le
système est une boîte) noire, les acteurs l’entourent et sont reliés à lui, sur
l’axe qui lie un acteur au système on met les messages que les deux
s’échangent avec le sens).
Le processus s’articule ensuite autour de 3 phases essentielles :
 Une branche technique ;
 Une branche fonctionnelle ;
 Une phase de réalisation.
Figure 22 : Illustration du 2TUP
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
34
Rédigé par AGOTSI Komi Gédéon Cyrille
 La branche technique (droite)
 La capture des besoins techniques qui recense toutes les
contraintes sur les choix de dimensionnement et la conception du
système. Les outils et les matériels sélectionnés ainsi que la prise
en compte des contraintes d’intégration avec l’existant (prérequis
d’architecture technique) ;
 La conception générique, qui définit ensuite les composants
nécessaires à la construction de l’architecture technique. Cette
conception est complètement indépendante des aspects
fonctionnels. Elle a pour objectif d’uniformiser et de réutiliser les
mêmes mécanismes pour tout un système. L’architecture
technique construit le squelette du système, son importance est
telle qu’il est conseillé de réaliser un prototype.
 La branche fonctionnelle (gauche)
 Elle capture des besoins fonctionnels qui produisent le
modèle des besoins focalisés sur le métier des utilisateurs.
Elle qualifie au plus tôt le risque de produire un système
inadapté aux utilisateurs ;
 L’analyse qui consiste à étudier précisément la spécification
fonctionnelle de manière à obtenir une idée de ce que va
réaliser le système en terme de métier
 La phase de réalisation (milieu)
Elle correspond à :
 Une conception préliminaire qui représente une étape délicate
car elle intègre le modèle d’analyse fonctionnelle dans
l’architecture technique de manière à tracer la cartographie
des composants du système à développer ;
 La conception détaillée qui étudie comment réaliser chaque
composant ;
 L’étape de codage qui produit ses composants et teste au fur
et à mesure les unités de code réalisées ;
 L’étape de recette, qui consiste à valider les fonctionnalités du
système développé.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
35
Rédigé par AGOTSI Komi Gédéon Cyrille
VIII. Présentations de l’outil de modélisation
L’outil retenu pour la modélisation est Sybase PowerAMC version 15.1
1.Qu’est-ce que PowerAMC ?
Figure 23 : Logo PowerAMC
PowerAMC est un environnement graphique de modélisation d'entreprise
très simple d'emploi qui permet d'effectuer les tâches suivantes :
 Modélisation intégrée via l'utilisation de méthodologies et de
notation
standards :
 Données (E/R, Merise) ;
 Métiers (BPMN, BPEL, ebXML) ;
 Application (UML).
 Génération automatique de code via des Template personnalisables :
 SQL (avec plus de 50 SGBD) ;
 Java ;
 .NET.
 Fonctionnalités de reverse engineering pour documenter et mettre à
jour des systèmes existants ;
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
36
Rédigé par AGOTSI Komi Gédéon Cyrille
 Une solution de référentiel d'entreprise avec des fonctionnalités de
sécurité et de gestion des versions très complètes pour permettre un
développement multiutilisateur ;
 Fonctionnalités de génération et de gestion de rapports automatisés
et personnalisables ;
 Un environnement extensible, qui vous permet d'ajouter des règles,
des commandes, des concepts et des attributs à vos méthodologies de
modélisation et de codage.
2.Modéliser avec PowerAMC
PowerAMC fournit un jeu unique d'outils de modélisation professionnels
qui associent les techniques et notations standard de la modélisation de
processus métiers, de la modélisation des données et de la modélisation des
diagrammes UML et d'autres fonctionnalités puissantes afin d’aider à
analyser, concevoir, construire et maintenir des applications, en utilisant les
techniques les plus élaborées d'ingénierie logicielle.
La solution de modélisation PowerAMC permet d'intégrer étroitement la
conception et la maintenance des couches de données centrales de
l'application et exigences de projet, processus métiers, code orienté objet,
vocabulaires XML et informations de réplication de base de données.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
37
Rédigé par AGOTSI Komi Gédéon Cyrille
IX. Etude détaillée de la solution
1.Le diagramme de cas d’utilisation
Un diagramme de cas d’utilisation traduit tout ce que l’utilisateur exprime
comme action sur le logiciel ou le système à modéliser. C’est une
représentation faisant intervenir les acteurs et les cas d’utilisation. Il traduit
les besoins des utilisateurs vis-à-vis du système développé.
1.1 Les acteurs
Un acteur est une personne ou un système qui interagit avec le système
en en échangeant des informations en entrée comme en sortie. Le diagramme
de cas d’utilisation d’UML distingue deux acteurs à savoir :
 Les acteurs principaux (qui modifient l’état du système ou qui
consultent cet état)
 Les acteurs secondaires (acteurs auxquels le système fait appel
pour répondre aux sollicitations d’un acteur principal)
Dans notre projet, nous avons décelé :
 Un acteur principal (L’operateur de maintenance) ;
 Deux acteurs secondaires :
o Système de gestion de base de données (SGBD)) ;
o Planificateur de tâche.
1.2 Cas d’utilisation
Un cas d’utilisation (Use Case) représente un ensemble de séquences
d’actions réalisées par le système et produisant un résultat observable
intéressant pour un acteur particulier. Un cas d’utilisation modélise un
service rendu par le système. Il exprime les interactions acteurs/système et
apporte une valeur ajoutée «notable » à l’acteur concerné.
Nous avons décelé comme cas d’utilisation :
 Sauvegarder manuellement une base de données ;
 Planifier une sauvegarde ;
 Restaurer une base de données ;
 Modifier le dossier de sauvegarde.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
38
Rédigé par AGOTSI Komi Gédéon Cyrille
1.3 Modèle du diagramme de cas d’utilisation
de la librairie (du point de vue de
l’utilisateur final)
Figure 24 : Diagramme de cas d'utilisation de la librairie
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
39
Rédigé par AGOTSI Komi Gédéon Cyrille
1.4 Description textuelle de certain cas
d’utilisation
1.4.1 Sauvegarder une base de données
Sommaire d’identification
Titre : Sauvegarder une base de données
Résumé : Permet de sauvegarder une base de données afin de se prémunir
contre d’éventuels sinistre
Acteurs : Operateur de sauvegarde (principal), SGBD (secondaire)
Date de création : 15/07/2016
Date de mise à jour : 15/07/2016
Version : 1.0
Responsable : AGOTSI Komi Gédéon Cyrille
Description des scénarios :
Précondition
 Le serveur de base de données est en service ;
 Le système est fonctionnel ;
Scénario nominal :
1. L’utilisateur saisit le nom du fichier de sauvegarde (E1) ;
2. L’utilisateur choisit le format et l’encodage du fichier ;
3. L’utilisateur saisit le dossier de sauvegarde ;
4. L’utilisateur choisit la méthode de compression et l’algorithme de
chiffrage ;
5. L’utilisateur valide les informations ;
6. Le système vérifie les informations saisies (A1) ;
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
40
Rédigé par AGOTSI Komi Gédéon Cyrille
7. Le système notifie à l’utilisateur que la sauvegarde a été créé avec
succès.
Scénario alternatif :
A1 : Champ obligatoire non renseigné
Ce scénario démarre au point (5) lorsque l’utilisateur n’a pas renseigné
tous les champs obligatoires.
1. L’application envoie un message d’information signalant
l’information manquante et met le curseur au niveau de cette
dernière ;
2. L’utilisateur renseigne l’information manquante et valide.
Le scénario nominal est repris au point 4.
Scénario d’exceptions :
E1 : L’utilisateur annule l’opération
Ce scénario débute au point 1 du scénario nominal lorsque l'utilisateur
quitte la page.
1. Le scénario nominal est interrompu.
Post conditions :
 La sauvegarde de la base de données est effectuée ;
 Journal mis à jour ;
 Le système est toujours fonctionnel.
1.4.2 Restaurer une base de données
Sommaire d’identification
Titre : Restaurer une base de données
Résumé : Permet de restaurer une base de données
Acteurs : Operateur de sauvegarde (principal), SGBD (secondaire)
Date de création : 15/07/2016
Date de mise à jour : 15/07/2016
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
41
Rédigé par AGOTSI Komi Gédéon Cyrille
Version : 1.0
Responsable : AGOTSI Komi Gédéon Cyrille
Description des scénarios :
Précondition
 Le serveur de base de données est en service ;
 Le système est fonctionnel ;
 Le fichier de sauvegarde existe.
Scénario nominal :
1. L’utilisateur saisit le nom de l’unité de persistence (E1) ;
2. L’utilisateur choisit le fichier de sauvegarde ;
3. L’utilisateur valide les informations ;
4. Le système vérifie les informations saisies (A1) ;
5. Le système notifie à l’utilisateur que la restauration a été créé
effectué avec succès.
Scénario alternatif :
A1 : Champ obligatoire non renseigné
Ce scénario démarre au point (5) lorsque l’utilisateur n’a pas renseigné
tous les champs obligatoires.
1. L’application envoie un message d’information signalant
l’information manquante et met le curseur au niveau de cette
dernière ;
2. L’utilisateur renseigne l’information manquante et valide.
Le scénario nominal est repris au point 4.
Scénario d’exceptions :
E1 : L’utilisateur annule l’opération
Ce scénario débute au point 1 du scénario nominal lorsque l'utilisateur
quitte la page.
1. Le scénario nominal est interrompu.
Postconditions :
 La base de données est restaurée ;
 Journal mis à jour ;
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
42
Rédigé par AGOTSI Komi Gédéon Cyrille
 Le système est toujours fonctionnel.
2.Diagramme de classes
Le diagramme des classes est un diagramme central dans un processus de
développement orienté objet. Il met en œuvre des classes comprenant des
attributs et des opérations reliées par des associations ou généralisations.
Une classe est une représentation abstraite d’un ensemble d’objets possédant
la même caractéristique.
Figure 25 : Diagramme de classes de la librairie
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
43
Rédigé par AGOTSI Komi Gédéon Cyrille
3.Diagramme d’activité
3.1 Généralités
Le diagramme d’activités est un diagramme comportemental d’UML,
permettant de représenter le déclenchement d’événements en fonction des
états du système et de modéliser des comportements parallélisables. Il se
présente comme un organigramme qui décrit les enchainements dans le
déroulement d’un cas d’utilisation ou d’un ensemble de cas d’utilisation.
Conceptuellement, il décrit un algorithme.
Un diagramme d’activités permet de modéliser un processus interactif,
global ou partiel pour un système donné (logiciel, système d’information).
Il est recommandable pour exprimer une dimension temporelle sur une
partie du modèle, à partir de diagrammes de classes ou de cas d’utilisation,
par exemple.
La description d’un cas d’utilisation par un diagramme d’activités
correspond à sa traduction algorithmique. Une activité est l’exécution d’une
partie du cas d’utilisation, elle est représentée par un rectangle aux bords
arrondis.
Le diagramme d’activité est sémantiquement proche des diagrammes de
communication (appelés diagramme de collaboration en UML 1), ou d’état-
transitions, ces derniers offrant une vision microscopique des objets du
système.
Le diagramme d’activités présente une vision macroscopique et temporelle
du système modélisé.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
44
Rédigé par AGOTSI Komi Gédéon Cyrille
3.2 Quelques diagrammes d’activités de
notre projet
Figure 26 : Diagramme d'activité de «sauvegarder manuellement »
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
45
Rédigé par AGOTSI Komi Gédéon Cyrille
Figure 27 : Diagramme d'activité « Restaurer une base de données »
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
46
Rédigé par AGOTSI Komi Gédéon Cyrille
4.Diagramme de composants
4.1 Généralités
Le diagramme de composants fait partie des diagrammes structuraux
(statiques) d’UML. Il décrit l’organisation du système du point de vue des
éléments logiciels (composants) comme les modules (paquetages, fichiers,
sources, bibliothèques, exécutables), des données (fichiers, base de données)
ou encore d’éléments de configuration (paramètres, scripts, fichiers de
commandes).
Un composant est un élément logiciel remplaçable et réutilisable qui fournit
ou reçoit un service bien précis. Il peut être vu comme une pièce détachée
du logiciel. Les plugins, les drivers, les codecs, les bibliothèques sont des
composants. Il fournit des services via des interfaces.
Il existe deux types d’interface :
 Les interfaces requise : Ce sont des interfaces qui fournissent un
service au composant et dont il a besoin pour fonctionner ;
 Les interfaces fournies : Ce sont des interfaces par lesquels le
composant fourni lui-même un service.
4.2 Diagramme de composants de la librairie
Figure 28 : Diagramme de composants de la libraire
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
47
Rédigé par AGOTSI Komi Gédéon Cyrille
5.Diagramme de déploiement
Les diagrammes de déploiement montrent la disposition physique des
matériels qui composent le système et la répartition des composants sur ces
matériels.
 Les ressources matérielles sont représentées sous forme de nœuds
 Les nœuds sont connectés entre eux, à l’aide d’un support de
communication ;
La nature des lignes de communication et leurs caractéristiques
peuvent être précisées ;
 Les diagrammes de déploiement peuvent montrer des instances de
nœuds ;
(un matériel précis), ou des classes de nœuds;
 Les diagrammes de déploiement correspondent à la vue de
déploiement d’une architecture logicielle.
Puisque notre projet consiste à développer une libraire intégrable dans
les projets JEE afin de faire la sauvegarder et restauration de bases de
données. La librairie ne dispose pas de diagramme de déploiement.
Cependant nous allons modéliser le diagramme de déploiement d’un
projet utilisant notre librairie.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
48
Rédigé par AGOTSI Komi Gédéon Cyrille
Figure 29 : Diagramme de déploiement d’une application utilisant notre librairie
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation
49
Rédigé par AGOTSI Komi Gédéon Cyrille
Conclusion
L’étude menée dans ce rapport de pré-programmation par rapport au thème
de notre stage nous permis de réaliser une analyse complète et de spécifier
les fonctionnalités de la future librairie .En outre, elle nous a permis de
mettre en place de diagrammes UML en nous basant sur le processus 2TUP.
Le sujet étant bien analysé, nous pouvons passer à l’étape de réalisation.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
50
Rédigé par AGOTSI Komi Gédéon Cyrille
PARTIE III : REALISATION
ET MISE EN OEUVRE
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
51
Rédigé par AGOTSI Komi Gédéon Cyrille
Introduction
Apres la présentation du rapport d’insertion et du rapport de pré-
programmation qui nous ont respectivement conduits à déterminer les
données à utiliser dans le domaine d’étude et les traitements qui y sont
effectués, nous entamerons la troisième et dernière étape de la mise en place
de notre librairie : le rapport de mise en œuvre et de réalisation. Dans cette
partie nous présenterons le choix des matériels de travail, les outils de
développement et l’architecture de la libraire à concevoir.
De coutume, une librairie se doit d’avoir un nom et nous avons appelé la
nôtre « ms-Backup »
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
52
Rédigé par AGOTSI Komi Gédéon Cyrille
I. Mise en œuvre
1.Choix matériels
Notre matériel de développement durant notre stage est un ordinateur
portable qui présente les caractéristiques suivantes :
 Marques : Hewlett-Packard (HP)
 Modèle : HP-Notebook 2200
 Processeur : Intel(R) Pentium(R) CPU 2020M @ 2,40GHz
 Mémoire RAM : 4,00 Go
 Disque dur : 500 Go
 Vitesse de la carte réseau : 100 Mb/s
 Lecteur : DVD-RW
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
53
Rédigé par AGOTSI Komi Gédéon Cyrille
2.Choix logiciels
2.1 L’EDI (Environnement de développement )
NetBeans
NetBeans est un environnement de développement intégré (EDI), placé en
open source par Sun en Juin 2000 sous licence CDDL (Common Development
and Distribution Licence) et GPLv2. Il comprend toutes les caractéristiques
d’un IDE moderne (éditeur en couleur, projets multi-langage, refactoring,
éditeur graphiques d’interfaces et de pages web).
Conçu en Java (qui est multiplateforme), NetBeans est disponible sous
Windows, Linux, Solaris (sur x86 et SPARC), MAC OS X ou sous une version
indépendante des systèmes d’exploitation (requérant la machine virtuelle de
Java, la JVM).
Pour notre librairie, nous avons utilisé la version 8.0.2 de NetBeans et la
version 1.8 de la JDK (Java Development Kit) car ce sont les dernières
versions les plus stables pour le moment.
Figure 30 : Logo NetBeans
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
54
Rédigé par AGOTSI Komi Gédéon Cyrille
2.2 Base de données
L’objectif de notre projet est de réaliser une librairie indépendante des
SGBD. Dans le cadre de réalisation de test, nous avions utilisé les SGBD
MySQL et Postgresql.
Une base de données est un ensemble structuré et organisé qui permet le
stockage d’informations en quantité importante afin d’en faciliter
l’exploitation. Physiquement, elle se traduit par un ensemble de fichiers
bien organisés sur le disque.
Un Système de Gestion de bases de données (SGBD) est un logiciel qui
prend en charge la structuration, le stockage, la mise à jour et la
maintenance des données ; c’est l’interface entre la base de données et les
utilisateurs ou leurs programmes.
2.3 Présentation du langage utilisé
2.3.1 Java Entreprise Edition (JEE)
Java EE (Java Enterprise Edition) est une spécification pour la technique Java
d’Oracle plus particulièrement destinée aux applications d’entreprise. Ces
applications sont considérées dans une approche multi-niveaux. Dans ce but,
toute implémentation de cette spécification contient un ensemble
d’extensions au Framework Java standard (JSE, Java Standard Edition) afin
de faciliter notamment la création d’applications reparties. A l’heure où ces
lignes sont écrites, Java EE est officiellement dans sa version 7.
La version 8 est en cours d’édition.
Notre librairie a été programmée en suivant la spécification Java EE 7.
Figure 31 : Logo JEE
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
55
Rédigé par AGOTSI Komi Gédéon Cyrille
2.3.2 Le Framework JSF/PrimeFaces
JavaServer Faces (abrégé JSF) est un Framework basé sur la notion de
composants et destiné au développement d’applications WEB. JSF est
techniquement comparable à Swing ou SWT sauf qu’ils sont utilisés pour le
développement d’applications de bureau. En JSF et en Swing, l’état d’un
composant (représenté par un objet java) est enregistré lors du rendu de la
page, pour être ensuite restauré au retour de la requête.
L’objectif de JSF est de faciliter le développement des interfaces utilisateurs
des applications WEB, or les deux composants standards de JSF (html et core)
s’avèrent limités et insuffisants pour le développement d’applications
d’entreprise. Des jeux de composants additionnels qui offrent de nouveaux
composants plus riches sont indispensables pour le développement en JSF,
PrimeFaces en offre un qui a prouvé son efficacité.
L’implémentation de la technologie JSF que nous avons utilisé pour notre
application est donc PrimeFaces (version 6.0).
Figure 32 : Logo de PrimeFaces
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
56
Rédigé par AGOTSI Komi Gédéon Cyrille
2.3.3 l’API Java Persistence (JPA)
La Java Persistence API (JPA), est une interface de programmation Java
permettant aux développeurs d'organiser des données relationnelles dans
des applications utilisant la plateforme Java.
Elle est une spécification Java pour accéder, persister, et gérer les données
entre les objets Java / classes et une base de données relationnelle. C’est
une interface d'ORM (Object/Relationnal Mapping) ; il appartient donc à
des fournisseurs tierces d'en fournir les implémentations. EclipseLink,
TopLink, Hibernate sont les implémentations de JPA sur le marché les plus
utilisé.
JPA se repose essentiellement sur l'utilisation des annotations, introduites
dans Java 5 permettant de définir facilement des objets métier, qui pourront
servir d'interface entre la base de données et l'application, dans le cadre d'un
mapping objet-relationnel. Elle définit une API EntityManager d'exécution
pour le traitement des requêtes et des transactions sur les objets de la base de
données. JPA définit aussi un langage de requête de niveau objet, JPQL, pour
permettre l'interrogation des objets à partir de la base de données.
Figure 33 : Architecture des Classes de JPA
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
57
Rédigé par AGOTSI Komi Gédéon Cyrille
2.3.4 JAXB
JAXB (Java Architecture for XML Binding) est une spécification qui permet
de faire correspondre un document XML à un ensemble de classes et vice
versa au moyen d'opérations de sérialisation/désérialisation nommées
marshalling/unmarshalling.
JAXB permet aux développeurs de manipuler un document XML sans avoir
à connaître XML ou la façon dont un document XML est traité comme cela
est le cas avec SAX, DOM ou StAX.
L'utilisation de JAXB met en œuvre plusieurs éléments :
 Une ou plusieurs classes annotées qui vont encapsuler des données du
document XML (optionnel) un schéma XML ;
 (optionnel) un outil qui génère les classes annotées à partir d'un
schéma avec éventuellement un fichier de configuration pour les
classes à générer ;
 Une API utilisée à l'exécution pour transformer un document XML en
un ensemble d'objets du type des classes annotées ou vice versa et
permettre des validations.
Les avantages d’utiliser JAXB :
•Facilite la manipulation de documents XML dans une application Java
Manipulation du document XML au travers d'objets : aucune connaissance
de XML ou de la manière de traiter un document n'est requise ;
•Un document XML peut être créé en utilisant les classes générées
•Les traitements de JAXB peuvent être configurés ;
• Les ressources requises par le graphe d'objets utilisé par JAXB sont moins
importantes qu'avec DOM.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
58
Rédigé par AGOTSI Komi Gédéon Cyrille
II. Présentation de le la librairie
1.Présentation
Une librairie est une collection de classes définies. Ces classes et les méthodes
qu’elle fournit proposent des services dans un domaine précis.
L’utilisation d’une libraire permet :
 la réutilisation du code par les développeurs ;
 D’économiser en temps de développement ;
 Modulariser les applications.
La librairie que nous avons développée est nommée ms-backup
Elle est utilisable via l’interface web d’administration ou par l’appel des
méthodes.
Elle permet d’implémenter les fonctionnalités de sauvegarde et de
restauration de base de données dans les applications dans lesquelles elle
sera intégrée .Ceci permettra un gain de temps dans le développement des
applications.
2.Architecture de la libraire
La libraire développée est utilisable via une interface web ou soit en console
par l’appel des méthodes qu’elle fournit.
2.1 Présentation de l’architecture console.
Pour utiliser la librairie en mode console, l’on doit intégrer les sous module
backup-api et backup-impl dans un projet sollicitant la librairie.
Backup-api fournit une interface offrant les méthodes pour sauvegarder et
restaurer une base de données.
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
59
Rédigé par AGOTSI Komi Gédéon Cyrille
2.2 Diagramme de classe du sous-module
backup-api
Figure 34 : Composants intégrable pour une utilisation console
Figure 35 : Diagramme de classe du composant backup-api
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
60
Rédigé par AGOTSI Komi Gédéon Cyrille
2.3 Présentation de l’architecture web
Afin de pouvoir utiliser l’interface web le développeur doit intégrer tous les
composants (Backup-api, backup-impl et backup-web) ou créer son propre
interface web pour effectuer la sauvegarde et la restauration dans son projet
en utilisant les interfaces offerte par backup-api.
Ainsi nous n’avons pas une architecture définie pour notre projet mais nous
allons présentez l’architecture d’une application hôte.
i
Figure 36 : Architecture de l’interface web d’une application hôte utilisant la librairie
Acceuil de
l'application hôte
Sauvegarder une
base de données
Planifié une
sauvegarde
Restaurer une
base de données
Modifier le
dossier de
sauvegarde
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
61
Rédigé par AGOTSI Komi Gédéon Cyrille
3.Quelques masques de saisies et codes
sources de la libraire
3.1 Quelques masques de saisies
3.1.1 Page sauvegarder une base de données
Sur cette page l’utilisateur peut sauvegarder une base de données en
spécifiant les paramètres de sauvegarde.
Figure 37 : Page de sauvegarde de bases données
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
62
Rédigé par AGOTSI Komi Gédéon Cyrille
3.1.2 Page restaurer une base de données
Sur cette page l’utilisateur peut restaurer une base de données en spécifiant
le nom de l’unité de persistence et en sélectionnant le fichier de sauvegarde.
Figure 38 : Page de restauration de base de données
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
63
Rédigé par AGOTSI Komi Gédéon Cyrille
3.1.3 Page modifié le dossier de sauvegarde
Sur cette page l’utilisateur peut modifier le dossier de sauvegarde par défaut
Figure 39 : Page modifier le dossier de sauvegarde
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
64
Rédigé par AGOTSI Komi Gédéon Cyrille
3.2 Quelques codes sources
3.2.1 Interface BackupBeanSericeRemote du
composant backup-api
/*
* Ms-Backup est une libraire de sauvegarde et de restauration de base de données.
réaliser par AGOTSI Komi Gédéon Etudiant en deuxième année a l'IAI-TOGO.
*/
package net.mediasoft.backup.service;
import javax.ejb.Remote;
import net.mediasoft.backup.util.BackupConfiguration;
/**
*
* @author gedCommit
*/
@Remote
public interface BackupServiceBeanRemote {
/**
* Sauvegarde la source de données liée à l'EntityManager principale de l'application.
* @param configuration
*/
void backup(BackupConfiguration configuration);
/**
* Restauration la source de données liée à l'EntityManager principale de l'application
* @param configuration
*/
void restore(BackupConfiguration configuration);
}
3.2.2 Code sources du BackupBean de la
page sauvegarder une base de données
(Implémentation des interfaces de
backup-api)
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
65
Rédigé par AGOTSI Komi Gédéon Cyrille
/*
* * Ms-Backup est une libraire de sauvegarde et de restauration de base de
données.
réaliser par AGOTSI Komi Gédéonm Etudiant en deuxième année a l'IAI-TOGO.
*/
package net.mediasoft.libs.test.libs.web;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Serializable;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import net.mediasoft.backup.exception.BackupException;
import net.mediasoft.backup.service.BackupServiceBeanRemote;
import net.mediasoft.backup.util.BackupConfiguration;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;
/**
*
* @author gedCommit
*/
@ManagedBean
@SessionScoped
public class BackupBean implements Serializable {
@EJB
private BackupServiceBeanRemote backupService;
private BackupConfiguration configuration;
private UploadedFile file;
private long end;
private String extension;
private boolean test;
private String backupfoldertemp;
private boolean disablecancelbtn;
private boolean renderedrestorepanel ;
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
66
Rédigé par AGOTSI Komi Gédéon Cyrille
private List<String> listFile;
private String encoding;
public List<String> getListFile() {
return listFile;
}
public void setListFile(List<String> listFile) {
this.listFile = listFile;
}
public boolean isRenderedrestorepanel() {
return renderedrestorepanel;
}
public void setRenderedrestorepanel(boolean renderedrestorepanel) {
this.renderedrestorepanel = renderedrestorepanel;
}
public long getEnd() {
return end;
}
public void setEnd(long end) {
this.end = end;
}
public String getEncoding() {
return encoding;
}
public void setEncoding(String encoding) {
this.encoding = encoding;
}
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
configuration.setFilePath(file.getFileName());
}
public String getName() {
return name;
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
67
Rédigé par AGOTSI Komi Gédéon Cyrille
}
public void setName(String name) {
this.name = name;
}
public boolean isTest() {
return test;
}
public void setTest(boolean test) {
this.test = test;
}
public BackupServiceBeanRemote getBackupService() {
return backupService;
}
public void setBackupService(BackupServiceBeanRemote backupService) {
this.backupService = backupService;
}
public boolean isDisablecancelbtn() {
return disablecancelbtn;
}
public void setDisablecancelbtn(boolean disablecancelbtn) {
this.disablecancelbtn = disablecancelbtn;
}
private String name;
/**
* Creates a new instance of BackupBean
*/
public BackupBean() {
this.configuration = new BackupConfiguration();
init();
this.disablecancelbtn=true;
this.extension="Aucun fichier selectionné";
this.name="Aucun fichier selectionné";
}
public void listenerRender(){
this.renderedrestorepanel=true;
}
public BackupConfiguration getConfiguration() {
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
68
Rédigé par AGOTSI Komi Gédéon Cyrille
return configuration;
}
public void setConfiguration(BackupConfiguration configuration) {
this.configuration = configuration;
}
public String getExtension() {
return extension;
}
public void setExtension(String extension) {
this.extension = extension;
}
public String getBackupfoldertemp() {
return backupfoldertemp;
}
public void setBackupfoldertemp(String backupfoldertemp) {
this.backupfoldertemp = backupfoldertemp;
}
public void init(){
Path monRepertoire = Paths.get("C:"+File.separator+"msBackup");
try {
Path file = Files.createDirectory(monRepertoire);
} catch (FileAlreadyExistsException ex){
System.out.println("Le fichier de sauvegarde renseigné existe déja Veuillez
renseigner un autre");
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
configuration.setBackupFolder("C:"+File.separator+"msBackup"+File.separator);
}
public void executeBackup() {
try {
long start = System.currentTimeMillis();
System.out.println(start);
this.backupService.backup(configuration);
end = System.currentTimeMillis() - start;
System.out.println(end);
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
69
Rédigé par AGOTSI Komi Gédéon Cyrille
System.out.println(end);
configuration.setBackupName("");
System.out.println(configuration.getFormat());
System.out.println(configuration.getEncoding());
String messages = "La base de donnée a éte sauvegardée avec succès sous
le fichier : " + this.configuration.getBackupName() + " au format : " +
this.configuration.getFormat()+ "; durée d'execution : "+ end +" ms";
FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage(FacesMessage.SEVERITY_INFO, "", "Fichier : " + messages));
reset();
}catch (BackupException ex) {
FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage(FacesMessage.SEVERITY_ERROR, "","Une erreur est survenue
dans la creation du fichier de sauvegarde; Cause :" +ex.getMessage()));
}
}
public void executeRestore() {
try{
long start = System.currentTimeMillis();
this.backupService.restore(configuration);
end = (long)(((System.currentTimeMillis() - start)/1000)%60);
String messages = "La base de donnée a éte restauré avec succès; durée
d'execution : "+ end +" s";
FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage(FacesMessage.SEVERITY_INFO, "", "Fichier : " + messages));
} catch (BackupException ex) {
FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage(FacesMessage.SEVERITY_ERROR, "Une erreur est survenue
aucours de la restauration de la base de donnée; cause :", ex.getMessage()));
}
}
public void modifyBackupFolder() throws IOException {
this.configuration.setBackupFolder(this.backupfoldertemp +
File.separator);//ici//
Path monRepertoire = Paths.get(this.backupfoldertemp);
try {
System.out.println(this.backupfoldertemp);
Path file = Files.createDirectory(monRepertoire);
this.backupfoldertemp = "";
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
70
Rédigé par AGOTSI Komi Gédéon Cyrille
FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage("Le dossier " + this.backupfoldertemp + " a été crée avec succes"));
} catch (FileAlreadyExistsException ex) {
this.backupfoldertemp = "";
FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage("Le dossier existe déja; veuillez créer un autre"));
}
}
public void handleFileUpload(FileUploadEvent event) throws IOException {
// the name of the character encoding returned
String name = event.getFile().getFileName();
this.name=name.substring(1,name.indexOf("."));
Path tempFile = Files.createTempFile(name, ".tmp");
File temprealFile = tempFile.toFile();
this.setTest(true);
try {
//Path file = Files.createFile(monFichier);
OutputStream out;
try (InputStream inputStream = event.getFile().getInputstream()) {
out = new FileOutputStream(temprealFile);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
}
out.flush();
out.close();
System.out.println(temprealFile.toPath());
configuration.setFilePath(temprealFile.getPath());
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
FileInputStream fis = null;
System.out.println(name);
// if (".test".equals(name.substring(name.lastIndexOf('.'), name.length()))) {
//this.test=true;
// System.out.println("vrai");
//
if (".xml".equals(name.substring(name.indexOf('.'), name.length()))) {
extension = "XML";
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
71
Rédigé par AGOTSI Komi Gédéon Cyrille
}else if(".json".equals(name.substring(name.indexOf('.'), name.length()))) {
extension = "JSON";
}
System.out.println(extension);
}
// pubic void activeBtn(keyup)
public void cancel() {
reset();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("La
sauvegarde a été annulé"));
}
public void reset() {
configuration.setBackupName(null);
configuration.setPersistenceName(null);
configuration.setEncoding("aucune");
configuration.setCompressionType("aucune");
configuration.setEncryption("aucune");
}
}
Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre
72
Rédigé par AGOTSI Komi Gédéon Cyrille
Conclusion
Cette partie constitue la troisième et dernière partie. Elle nous a permis de
montrer l’aspect technique de notre projet. En effet il a été question dans
cette partie de montrer l’architecture, quelques codes sources et facette de
notre librairie.
Ceci permettra à tout développeur de pouvoir intégrer notre librairie dans
leur projet afin d’implémenter les fonctionnalités de sauvegarde de
restauration.
Mise en place d’un système de sauvegarde et restauration de base de données Conclusion générale
73
Rédigé par AGOTSI Komi Gédéon Cyrille
Conclusion générale
Somme toute, ce stage de trois (03) mois nous a vraiment permis de nous exercer
à tout ce que nous avons appris durant nos deux (02) premières années de
formation.
L’objectif du projet que nous avons réalisé durant le stage était de mettre en place
une librairie de sauvegarde et de restauration de bases de données.
Nous avons donc étudié le problème posé, trouvé des solutions, tiré la meilleure
et l’avons implémenté. Ce qui nous a fait accroître nos connaissances en analyse
et programmation.
Le plus fascinant est l’intégration professionnelle qui en a découlé, ce qui nous fait
adresser des encouragements aux responsables de l’IAI-TOGO.
Mise en place d’un système de sauvegarde et restauration de base de données Bibliographie
74
Rédigé par AGOTSI Komi Gédéon Cyrille
Bibliographie
Ouvrages
 UML 2 par la pratique de Pascal Roques ;
 PrimeFacesUser’s Guide 6.0.
Notes de cours
 Cours d’UML de M. KPEGLO (Deuxième année, année académique :
2015-2016) ;
 Cours d’implémentation des bases de données de M. KEOULA.
Sites web consultés
 http:// programcreek.com consulté le 01/07/2016
 http:// objectdb.com consulté le 16/08/2016
 http://stackoverflow.com consulté le 02/07/2016
 http:// docs.oracle.com/javaee consulté le 05/08/2016
Mise en place d’un système de sauvegarde et restauration de base de données Tables des illustrations
75
Rédigé par AGOTSI Komi Gédéon Cyrille
Tables des illustrations
Figure 1: Plan de localisation IAI-TOGO................................................................................................... 3
Figure 2 : Organigramme de Médiasoft .................................................................................................. 6
Figure 3 : Plan de localisation de Médiasoft ........................................................................................... 9
Figure 4 : Arrêt du service SQLServer(MSSQLServer)............................................................................ 16
Figure 5 : Copie des fichiers <<.mdf>> et <<.ldf>> de la base de données........................................... 17
Figure 6 Démarrage du service SQLServer (MSSQLSERVER)................................................................. 17
Figure 7 : Sauvegarde de la base de données : menu contextuel......................................................... 18
Figure 8 : Options de sauvegarde.......................................................................................................... 19
Figure 9 : Progression de la sauvegarde................................................................................................ 19
Figure 10 : Boite de dialogue................................................................................................................. 20
Figure 11 : Interface de restauration de la base de données : menu contextuel ................................. 21
Figure 12 : Restaurer la base de données ............................................................................................. 21
Figure 13 : Sélection du support de sauvegarde................................................................................... 22
Figure 14 : Sélection du fichier de sauvegarde ..................................................................................... 22
Figure 15 : Emplacement de la sauvegarde .......................................................................................... 23
Figure 16 : Sélection des jeux de sauvegarde à restaurer..................................................................... 23
Figure 17 : Options de restauration ...................................................................................................... 24
Figure 18 : Boite de dialogue................................................................................................................. 24
Figure 19 : Interface de l'application Iperius backup ............................................................................ 26
Figure 20 : Diagramme de GANTT illustrant le planning prévisionnel de ré......................................... 30
Figure 21 : Logo d’UML.......................................................................................................................... 31
Figure 22 : Illustration du 2TUP............................................................................................................. 33
Figure 23 : Logo PowerAMC .................................................................................................................. 35
Figure 24 : Diagramme de cas d'utilisation de la librairie ..................................................................... 38
Figure 25 : Diagramme de classes de la librairie................................................................................... 42
Figure 26 : Diagramme d'activité de «sauvegarder manuellement ».................................................. 44
Figure 27 : Diagramme d'activité « Restaurer une base de données »................................................. 45
Figure 28 : Diagramme de composants de la libraire............................................................................ 46
Figure 29 : Diagramme de déploiement d’une application utilisant notre librairie ............................. 48
Figure 30 : Logo NetBeans..................................................................................................................... 53
Figure 31 : Logo JEE............................................................................................................................... 54
Figure 32 : Logo de PrimeFaces............................................................................................................. 55
Figure 33 : Architecture des Classes de JPA .......................................................................................... 56
Figure 34 : Composants intégrable pour une utilisation console........................................................ 59
Figure 35 : Diagramme de classe du composant backup-api................................................................ 59
Figure 36 : Architecture de l’interface web d’une application hôte utilisant la librairie ...................... 60
Figure 37 : Page de sauvegarde de bases données............................................................................... 61
Figure 38 : Page de restauration de base de données.......................................................................... 62
Figure 39 : Page modifier le dossier de sauvegarde.............................................................................. 63
Tableau 1 : Tableau Récapitulatif des participants au projet......................................................iv
Tableau 2 : Récapitulatifs de l'architecture matériel informatique de Médiasoft..................... 7
Tableau 3 : Evaluation financière de la première solution.................................................................... 28
Tableau 4 : Evaluation financière de la deuxième solution................................................................... 28
Tableau 5 : Spécifications techniques du projet............................................................................ 29
Mise en place d’un système de sauvegarde et restauration de base de données Tables des matières
76
Rédigé par AGOTSI Komi Gédéon Cyrille
Table des matières
Dédicace ................................................................................................................................................... i
Remerciements ........................................................................................................................................ii
Sommaire ................................................................................................................................................iii
Liste des participants au projet...............................................................................................................iv
Introduction générale ......................................................................................................................... 1
PARTIE I : RAPPORT D’INSERTION ....................................................................................................... 1
Introduction........................................................................................................................................... 2
I. Présentations................................................................................................................................... 3
1. Brève présentation de l’IAI-TOGO............................................................................................... 3
2. Présentation du centre d’accueil : Médiasoft ............................................................................ 4
2.1 Statut................................................................................................................................... 4
2.2 Mission ................................................................................................................................ 4
2.3 Activités............................................................................................................................... 4
2.4 Quelques réalisations.......................................................................................................... 5
2.5 Organigramme..................................................................................................................... 5
2.6 Service d’accueil .................................................................................................................. 6
2.6.1 Architecture matérielle .......................................................................................................... 7
2.6.2 Architecture logicielle............................................................................................................. 8
2.7 Plan de localisation................................................................................................................... 8
II. Thème du stage............................................................................................................................. 10
1. Présentation du sujet ................................................................................................................ 10
2. Problématique du sujet............................................................................................................. 10
3. Intérêt du sujet.......................................................................................................................... 11
3.1 Objectifs............................................................................................................................. 11
3.2 Résultats attendus............................................................................................................. 11
Conclusion........................................................................................................................................... 12
PARTIE II : RAPPORT DE PRE-PROGRAMMATION......................................................................... 13
Introduction......................................................................................................................................... 14
I. Etude de l’existant......................................................................................................................... 15
1. SQL Server ................................................................................................................................. 15
1.1 Sauvegarde de base de données....................................................................................... 16
1.1.1 Sauvegarde avec arrêt de la production ............................................................................. 16
Projet stage : Mise en place d'un système générique  de sauvegarde et de restauration de base de données
Projet stage : Mise en place d'un système générique  de sauvegarde et de restauration de base de données

Contenu connexe

Tendances

PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineMohamed Amine Mahmoudi
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileRim ENNOUR
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Rapport mini-projet Gestion Commerciale D’un Supermarché
Rapport mini-projet  Gestion Commerciale D’un SupermarchéRapport mini-projet  Gestion Commerciale D’un Supermarché
Rapport mini-projet Gestion Commerciale D’un SupermarchéMouad Lousimi
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatiqueHicham Ben
 
réalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesréalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesMedk Salhi
 
Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 ayoub damir
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...Tidiane Sylla
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESTombariAhmed
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Ahmed Slim
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIAAhmed BEN JEMIA
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...Symphorien Niyonzima
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 

Tendances (20)

PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Rapport pfa
Rapport pfaRapport pfa
Rapport pfa
 
Rapport mini-projet Gestion Commerciale D’un Supermarché
Rapport mini-projet  Gestion Commerciale D’un SupermarchéRapport mini-projet  Gestion Commerciale D’un Supermarché
Rapport mini-projet Gestion Commerciale D’un Supermarché
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatique
 
réalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesréalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiques
 
Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
Mémoire de Master 2
Mémoire de Master 2Mémoire de Master 2
Mémoire de Master 2
 
Rapport de stage
Rapport de stage Rapport de stage
Rapport de stage
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIA
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 

Similaire à Projet stage : Mise en place d'un système générique de sauvegarde et de restauration de base de données

Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...Gedeon AGOTSI
 
Rapport de stage exchange
Rapport de stage exchangeRapport de stage exchange
Rapport de stage exchangehindif
 
Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)
Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)
Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)zakia saadaoui
 
Mise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécuriséeMise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécuriséeOlivierMawourkagosse
 
Mise en place d’une plateforme de formation IMS
Mise en place d’une plateforme de formation IMSMise en place d’une plateforme de formation IMS
Mise en place d’une plateforme de formation IMSKokou Gaglo
 
Etude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec OpenstackEtude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec OpenstackBayeOusseynouFall
 
Attikossie séwa mawussé samuel présentation
Attikossie séwa mawussé samuel présentationAttikossie séwa mawussé samuel présentation
Attikossie séwa mawussé samuel présentationAttikossie Séwa Mawussé
 
Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis abouaalexis
 
Prospectus groupe cerco_20131
Prospectus groupe cerco_20131Prospectus groupe cerco_20131
Prospectus groupe cerco_20131Alain CAPO CHICHI
 
Présentation des candidats CA 2023.pptx
Présentation des candidats CA 2023.pptxPrésentation des candidats CA 2023.pptx
Présentation des candidats CA 2023.pptxInfopole1
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Georges Amichia
 
Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD ( version synth...
Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD  ( version synth...Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD  ( version synth...
Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD ( version synth...Felipe Molina Civit
 
rapport de stage cfmi geo promo 6 SNPT.pdf
rapport de stage cfmi geo promo 6 SNPT.pdfrapport de stage cfmi geo promo 6 SNPT.pdf
rapport de stage cfmi geo promo 6 SNPT.pdfASSAGBA
 
Memoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdfMemoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdffalloumbengue1
 
Effets du système de management de la sécurité de l'information sur la perfor...
Effets du système de management de la sécurité de l'information sur la perfor...Effets du système de management de la sécurité de l'information sur la perfor...
Effets du système de management de la sécurité de l'information sur la perfor...Harold NGUEGANG
 
Étude et Mise en Place de Monitoring
Étude et Mise en Place de Monitoring Étude et Mise en Place de Monitoring
Étude et Mise en Place de Monitoring ImnaTech
 

Similaire à Projet stage : Mise en place d'un système générique de sauvegarde et de restauration de base de données (20)

Memoire complet.pdf
Memoire complet.pdfMemoire complet.pdf
Memoire complet.pdf
 
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
Mémoire de fin de formation pour l'obtention du diplome d'ingénieur des trava...
 
Rapport de stage exchange
Rapport de stage exchangeRapport de stage exchange
Rapport de stage exchange
 
Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)
Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)
Contribution a la_realisation_dune_plate_forme_de_suivi_de_colis (1)
 
Mise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécuriséeMise en place d'une solution VOIP sécurisée
Mise en place d'une solution VOIP sécurisée
 
Mise en place d’une plateforme de formation IMS
Mise en place d’une plateforme de formation IMSMise en place d’une plateforme de formation IMS
Mise en place d’une plateforme de formation IMS
 
Etude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec OpenstackEtude et mise en place d’un Cloud privé Avec Openstack
Etude et mise en place d’un Cloud privé Avec Openstack
 
Stage Informatique Jedida ZOUMAROU
Stage Informatique Jedida ZOUMAROUStage Informatique Jedida ZOUMAROU
Stage Informatique Jedida ZOUMAROU
 
GEmploi : Smart school timetable management software using RFID technology
GEmploi : Smart school timetable management software using RFID technologyGEmploi : Smart school timetable management software using RFID technology
GEmploi : Smart school timetable management software using RFID technology
 
Attikossie séwa mawussé samuel présentation
Attikossie séwa mawussé samuel présentationAttikossie séwa mawussé samuel présentation
Attikossie séwa mawussé samuel présentation
 
Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis
 
Prospectus groupe cerco_20131
Prospectus groupe cerco_20131Prospectus groupe cerco_20131
Prospectus groupe cerco_20131
 
Présentation des candidats CA 2023.pptx
Présentation des candidats CA 2023.pptxPrésentation des candidats CA 2023.pptx
Présentation des candidats CA 2023.pptx
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique
 
Mémoire L3
Mémoire L3Mémoire L3
Mémoire L3
 
Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD ( version synth...
Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD  ( version synth...Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD  ( version synth...
Réunion de Direction SITI chez CRT LR avec DT, CDT's et SDFD ( version synth...
 
rapport de stage cfmi geo promo 6 SNPT.pdf
rapport de stage cfmi geo promo 6 SNPT.pdfrapport de stage cfmi geo promo 6 SNPT.pdf
rapport de stage cfmi geo promo 6 SNPT.pdf
 
Memoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdfMemoire_Fallou_Mbengue.pdf
Memoire_Fallou_Mbengue.pdf
 
Effets du système de management de la sécurité de l'information sur la perfor...
Effets du système de management de la sécurité de l'information sur la perfor...Effets du système de management de la sécurité de l'information sur la perfor...
Effets du système de management de la sécurité de l'information sur la perfor...
 
Étude et Mise en Place de Monitoring
Étude et Mise en Place de Monitoring Étude et Mise en Place de Monitoring
Étude et Mise en Place de Monitoring
 

Projet stage : Mise en place d'un système générique de sauvegarde et de restauration de base de données

  • 1. RÉPUBLIQUE-TOGOLAISE Travail-Liberté-Patrie Ministère de la Planification du Développement Institut Africain d’Informatique, Représentation du TOGO (IAI-TOGO) 59 Rue de la Kozah Nyékonakpoè 07 BP : 12456 Lomé 07 Togo Tél : 22 20 47 00 / 22 21 27 06 E-mail: iaitogo@iai-togo.com Site Web: www.iai-togo.com Stage pratique de programmation Rédigé par : AGOTSI Komi Gédéon Cyrille, Etudiant en deuxième 2ème année Année académique 2015-2016 THEME : MISE EN PLACE D’UN SYSTEME GENERIQUE DE SAUVEGARDE ET RESTAURATION DE BASE DE DONNEES MEDIASOFT Sagbado BP : 1331 Lomé - TOGO Tel : (+228) 22 20 17 29/99 47 06 39 E-mail : mediasofthome@yahoo.fr Site web: www.mediasofthome.com Maitre de stage : M. ABOLO-SEWOVI Komi R. Consultant en informatique Superviseur : M. DAVON Essè Enseignant à l’IAI-TOGO
  • 2. Mise en place d’un système de sauvegarde et restauration de base de données Dédicace i Rédigé par AGOTSI Komi Gédéon Cyrille Dédicace A mon père AGOTSI Tadogbè, Vous êtes pour moi un sujet de fierté. Vous m’avez toujours appris le sens de la responsabilité, la raison, le devoir, et la confiance en soi. Au-delà des mots et des phrases, aucune parole ne saurait exprimer mon éternel attachement, mon profond amour, ma perpétuelle affection et l'infinie gratitude que je vous dois. Je sais que vous étiez toujours fière de moi et j'espère que vous le seriez plus aujourd'hui. Que Dieu vous garde et vous alloue bonne santé, bonheur, prospérité et longue vie. A ma sœur AGOTSI Ruth & à mes frères AGOTSI Dom et Gildas, Avec qui je partage joies et souffrances. Vous n’avez pas cessé de me soutenir et de m’encourager durant toutes les années de mes études, vous avez toujours été présents à mes côtés pour me consoler quand il le faut. Aux autres membres de ma famille, Merci pour tous vos conseils, soutien, prière et toute l’attention que vous m’avez toujours accordés. A tout le reste de ma famille, mes amis, mes camarades, je vous dédie ce travail en signe de reconnaissance et de respect. Qu’il soit preuve de ma sympathie et de mon amour à votre égard.
  • 3. Mise en place d’un système de sauvegarde et restauration de base de données Remerciements ii Rédigé par AGOTSI Komi Gédéon Cyrille Remerciements Nous remercions tout d’abord Dieu le Tout puissant. Nous tenons ensuite à exprimer nos sincères gratitudes et remerciements, au terme de ce travail :  A M. AGBAHE Yaovi, le Directeur General de MEDIASOFT pour nous avoir accepté et mis à notre disposition les moyens logistiques et administratifs nécessaires à la réalisation de ce stage ;  A M. AGBETI Kodjo, Directeur Général du CENETI et Représentant Résident de l’IAI-TOGO pour sa foi en cet institut et pour tous les efforts qu’il y déploie ;  A M. ABOLO-SEWOVI Komi R., Ingénieur informaticien, consultant à Médiasoft, pour sa sympathie, sa disponibilité à répondre à nos inquiétudes et sa rigueur dans le suivi de ce rapport ;  A M. DAVON Essè, Ingénieur informaticien à l’IAI-TOGO pour son attitude de coordonnateur, et toutes ses aides apportés lors de la préparation de ce document ;  A M. AMEYIKPO Nicolas, Directeur des Etudes de l’IAI-TOGO pour toute l’aide qu’il a su nous apporter quand le besoin s’est fait sentir ;  Au corps professoral de l’IAI-TOGO pour la qualité de la formation ;  A nos camarades de promotion, pour l’esprit de partage et de soutien ;  A tous ceux qui ont contribué de près ou de loin à la réalisation de notre rapport.
  • 4. Mise en place d’un système de sauvegarde et restauration de base de données Sommaire iii Rédigé par AGOTSI Komi Gédéon Cyrille Sommaire Dédicace....................................................................................................................................................i Remerciements ........................................................................................................................................ii Sommaire ................................................................................................................................................iii Liste des participants au projet...............................................................................................................iv Introduction générale ..........................................................................................................................1 PARTIE I : RAPPORT D’INSERTION .......................................................................................................1 Introduction ...........................................................................................................................................2 I. Présentations ...................................................................................................................................3 II. Thème du stage............................................................................................................................. 10 Conclusion........................................................................................................................................... 12 PARTIE II : RAPPORT DE PRE-PROGRAMMATION ........................................................................ 13 Introduction ........................................................................................................................................ 14 I. Etude de l’existant......................................................................................................................... 15 II. Critique de l’existant ..................................................................................................................... 25 III. Propositions de solutions.......................................................................................................... 25 IV. Evaluation financière des solutions........................................................................................... 27 V. Choix de solution........................................................................................................................... 29 VI. Planning prévisionnel de réalisation......................................................................................... 30 VII. Présentation de la méthode d’analyse ..................................................................................... 31 VIII. Présentations de l’outil de modélisation .................................................................................. 35 IX. Etude détaillée de la solution.................................................................................................... 37 IX. Etude détaillée de la solution ................................................................................................37 Conclusion............................................................................................................................................49 PARTIE III : REALISATION ET MISE EN OEUVRE.....................................................................50 Introduction .........................................................................................................................................51 I. Mise en œuvre.............................................................................................................................52 II. Présentation de le la librairie .....................................................................................................58 Conclusion............................................................................................................................................72 Conclusion générale ..........................................................................................................................73 Bibliographie........................................................................................................................................74
  • 5. Mise en place d’un système de sauvegarde et restauration de base de données Participants iv Rédigé par AGOTSI Komi Gédéon Cyrille Liste des participants au projet INTERVENANT FONCTION ROLE M. ABOLO-SEWOVI Komi Ingénieur Informaticien à l’UCAO-UUT Maitre de stage M. DAVON Essè Ingénieur Informaticien à l’IAI-TOGO Superviseur du projet M. AGOTSI Komi Gédéon Cyrille Etudiant en Deuxième année (2ème) d’Analyse et Programmation (2015-2016) Réalisateur M. AGBAHE Yaovi Directeur Général de MEDIASOFT Utilisateur Tableau 1 : Tableau Récapitulatif des participants au projet
  • 6. Mise en place d’un système de sauvegarde et restauration de base de données Introduction générale 1 Rédigé par AGOTSI Komi Gédéon Cyrille Introduction générale L'informatique fait aujourd'hui partie intégrante de la majorité des entreprises, à un tel point que le métier d'informaticien s'est diversifié en une multitude de fonctions spécialisées, touchant aux réseaux, à l’ingénierie logicielle, à la sécurité des systèmes informatiques ou encore à l'infographie ou l'ergonomie. La formation aux métiers de l’informatique s’avère cependant une tâche très rude, du fait de la rigueur qu’ils exigent et par rapport aux demandes accrues sur le marché de l’emploi d’informaticiens compétents. Dans l’optique de répondre aux exigences du marché de l’emploi, l’Institut Africain d’Informatique, représentation du Togo (IAI-TOGO) forme des Ingénieurs des Travaux Informatiques depuis plusieurs années déjà. Il a mis en place, pour les étudiants de deuxième (2ème) année, un stage pratique de trois (03) mois en entreprise. Son objectif est la mise en pratique des connaissances en analyse et programmation acquises pendant les deux (02) premières années de formation, et la réalisation d’un projet concret, qui devra aboutir à une application viable et prête à l’emploi. A cet effet nous avons effectué un stage du 27 Juin au 12 Septembre 2016 à Médiasoft. Notre mission consistait à développer une librairie générique de sauvegarde et de restauration de base de données, d’où le thème de notre projet : « Mise en place d’un système générique de sauvegarde et restauration de base de données : cas de médiasoft ». Ce document, illustrant tout le travail que nous avons abattu au cours de ce stage, fait office de rapport de notre stage et est partitionné en trois (03) grandes parties, à savoir : le rapport d’insertion, le rapport de pré- programmation et le rapport de réalisation et de mise en œuvre.
  • 7. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 1 Rédigé par AGOTSI Komi Gédéon Cyrille PARTIE I : RAPPORT D’INSERTION
  • 8. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 2 Rédigé par AGOTSI Komi Gédéon Cyrille Introduction Cette partie sera consacrée en premier à la présentation de l’IAI-TOGO, ensuite à la description du cadre d’accueil dans lequel se déroule le projet, et enfin à la présentation du thème de stage qui nous a été soumis.
  • 9. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 3 Rédigé par AGOTSI Komi Gédéon Cyrille I. Présentations 1.Brève présentation de l’IAI-TOGO L’Institut Africain d’informatique (IAI) est une école inter-Etat, créée en 1971 à Fort-Lamy actuelle N’Djamena, au Tchad dont le siège est basé à Libreville au Gabon. Il compte onze (11) Etats membres à savoir le Bénin, le Burkina Faso, le Caméroun, la Centrafrique, la Cote d’Ivoire, la République du Congo, le Niger, Le Sénégal, le Tchad, le Togo et le Gabon. Il forme des Ingénieurs informaticiens, des Maitres (MIAGE), des Analystes-programmeurs. Une représentation nationale pour le cycle d’Analyste Programmeur a été ouverte dans certains pays membres, notamment au Cameroun, au Niger et au Togo. Ces représentations ont été mises en place dans le but de mettre à disposition des Etat membres un centre de formation adéquat et conforme aux normes internationales pour répondre aux besoins des pays. L’Institut Africain d’Informatique, représentation du Togo, qui forme en trois ans des Ingénieurs de Travaux Informatiques en Génie Logiciel depuis 2002, a élargi son programme de formation en y intégrant les Systèmes et Réseaux Informatiques et, depuis l’année dernière, la filière « MultiMedia Technologique Web et Infographie (M-TWI) ». Figure 1: Plan de localisation IAI-TOGO
  • 10. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 4 Rédigé par AGOTSI Komi Gédéon Cyrille 2.Présentation du centre d’accueil : Médiasoft 2.1 Statut Opérateur économique N° 1000211052, Médiasoft est créé en Septembre 2003 de la rencontre de professionnels ayant en commun la passion des projets informatiques et ayant choisi d’investir dans les domaines de l’expertise pédagogique et technique pour être au cœur des changements et des nouveautés informatiques dans un monde technologique en constante évolution. Médiasoft était un établissement informatique spécialisé dans le développement de logiciels de gestion, dans la création de sites web et fourniture de matériels et consommables informatiques. Depuis 2012, Médiasoft devient une société de Consulting et Intégration de systèmes, de Développement d’applications, de Formation et de conseil professionnel réunissant plusieurs compétences sous une même entité commerciale afin de focaliser principalement son activité sur le développement et la mise en œuvre de système d’information internet /intranet. 2.2 Mission  Localiser les besoins et y apporter des solutions informatiques ;  Doter les entreprises de logiciels performants et qui répondent aux règles de gestion de ces structures et surtout à prix raisonnables ;  Rechercher l’excellence ;  Effectuer permanemment des recherches pour anticiper les attentes du client. 2.3 Activités Les activités de la société Médiasoft se résument en :
  • 11. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 5 Rédigé par AGOTSI Komi Gédéon Cyrille  Conception et développement d’application informatiques de gestion ;  Conception de sites web ;  Distribution de matériels et consommables informatiques ;  Câblage et intégration de réseaux informatique ;  Formation et audit informatique ;  Maintenance. 2.4 Quelques réalisations  Microfina : versions client lourd et web, est une solution intégrée spécialement développée pour les IMF (Institutions de Microfinance) ;  Tontine Mobile : Application de gestion de tontine, à travers les smartphones et des tablettes ;  Caisse Mobile : Utilitaire de caisse, à travers les smartphones et les tablettes ;  E-ecole : Application de gestion des écoles ;  Mop : Application de gestion de la main d’œuvre portuaire ;  QuickTransport : Application de gestion des transports. 2.5 Organigramme Médiasoft dispose d’un personnel très dynamique qui est au cœur de toutes ses activités et qui se compose comme suit :  La Direction : le Directeur Général assisté par une assistante de Direction ;  Le Service Génie Logiciel : composé de onze (11) Ingénieurs développeurs dont le Chef Projet ;  Le Service Marketing et Support : composé de sept (07) personnes ;  Le Service Comptabilité : composé d’une (01) personne ;  Le Service Maintenance et Réseau : composé de deux (02) techniciens;  Le Service Distribution: composé de deux (02) personnes.
  • 12. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 6 Rédigé par AGOTSI Komi Gédéon Cyrille Ainsi l’organigramme de Médiasoft se présente comme suit : 2.6 Service d’accueil Afin de nous permettre de mener à bien notre travail Médiasoft nous a offert pour cadre de stage le service génie logiciel. Ce service constitue l'un des plus importants services car il est le pilier de la conception, du développement des applications informatiques et sites web. Il regroupe en son sein deux subdivisions à savoir :  Développeurs Java & Android ;  Développeurs Delphi, PHP,… Il a pour attributions :  La conception et développement d’application informatiques de gestion ;  La conception de sites web ; Figure 2 : Organigramme de Médiasoft Directeur Général Service Marketing & Supports Service Génie Logiciels Développeurs JAVA & ANDROÏD Développeurs (Delphi, PHP, ...) Service Comptabilité Service Maintenance Service Distribution Assistante de Direction
  • 13. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 7 Rédigé par AGOTSI Komi Gédéon Cyrille  La maintenance et l’évolution des applications développées ;  L’assistance technique et intervention aux niveaux des clients. 2.6.1 Architecture matérielle Le parc informatique de Médiasoft comprend les différents types de matériels qui sont consignés dans le tableau ci-dessous : MATERIEL MARQUE ou MODELE CARATERISTIQUES QUANTITE Imprimante et scanner HP psc 1510 all in one 14 ppp- 600ppp-8Mo et USB- bac 250feuilles-600 ppp-Photo < 160, texte<160, dessein<100- USB-copies, OCR et numérisé 05 PC Desktop HP/DELL 1,8 GHz de fréquence, RAM de 1 à 2 Go disques durs de 120 à 300 Go 10 PC Laptop HP/DELL/TO SHIBA Core (TM) 2 ; 2 ,4 GHz ; 2 à 4 Go de RAM 20 Switch D-link 24 ports 01 16 ports 01 Routeur LinkSys, Cisco Routeur Wifi, Interface Ethernet IEEE 802.11b, IEEE 802.11g 02 Serveur Serveur HP ProLiant Raid 0,1 et 10 (Raid 5 après ajout de mémoire cache) 2 Tableau 2 : Récapitulatifs de l'architecture matériel informatique de Médiasoft
  • 14. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 8 Rédigé par AGOTSI Komi Gédéon Cyrille 2.6.2 Architecture logicielle Les principaux outils utilisés par Médiasoft sont les suivantes :  Outils de développement :  Netbeans ;  PhpStorn ;  Borland Delphi ;  Adobe Master Collection CS5.  Outils de gestion de projet :  Redmine.  Outils de gestion de base de données :  SQL Server 2005, 2008, 2014 tournant sur Windows server 2003 et 2008 ;  PostgreSQL.  Autres  Suite bureautique (Microsoft Office 2007) pour traitements de textes, calculs, la réalisation de diapositives pour présentation. 2.7 Plan de localisation Autrefois située sur la rue Radio Bonne Nouvelle (Cassablanca), elle se localise aujourd’hui dans le quartier Sagbado, à côté de la maison du chef canton ou de l’Ecole Primaire Publique d’Aflao Sagbado. Ses contacts sont donnés ci-dessous : BP : 13331 /Lomé-Togo Téléphone : (+228) 22 20 17 29/99 47 06 39 Email : mediasofthome@yahoo.fr
  • 15. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 9 Rédigé par AGOTSI Komi Gédéon Cyrille Site web : www.mediasofthome. Figure 3 : Plan de localisation de Médiasoft
  • 16. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 10 Rédigé par AGOTSI Komi Gédéon Cyrille II. Thème du stage 1.Présentation du sujet L’informatique est de plus en plus présente dans notre vie de tous les jours avec l’avènement des Nouvelles Technologies de l’Information et de la Communication (NTIC). Les données informatiques sont au centre de la révolution numérique. A cet effet il s’avère important que les éditeurs de logiciels intègrent des fonctionnalités de sauvegarde et, de restauration dans chacune de leurs applications développées et commercialisées afin de permettre aux clients d’anticiper sur toute éventuelle perte de données. C’est dans ce but que nous avons entrepris le projet : « Mise en place d’un système générique de sauvegarde et restauration de bases de données » qui consiste à développer une librairie de sauvegarde et, de restauration de bases de données intégrable dans les applications développées par Médiasoft. 2.Problématique du sujet Les données informatiques nécessaires au fonctionnement de l’activité de l’entreprise sont d’une importance capitale pour l’entreprise. La perte de ces données pourrait la paralyser et même dans les cas extrêmes, lui être fatale. Il faut donc être capable d’anticiper la perte inattendue des données et être en mesure de proposer un plan de récupération de ces données si précieuses. C’est pourquoi, il est nécessaire de les sauvegarder régulièrement. Conscient de l’importance relative des données, MEDIASOFT intègre dans la plupart des applications développées et commercialisées des fonctionnalités pour sauvegarder et restaurer la base de données en guise de mesures préventives pour revenir à l’image existante avant le sinistre sans aucune perte de données et aussi résoudre le problème majeur d’administration de bases de données de ses clients puisque ces derniers n’ont, le plus souvent aucune compétence en la matière .
  • 17. Mise en place d’un système de sauvegarde et restauration de base de données Rapport d’insertion 11 Rédigé par AGOTSI Komi Gédéon Cyrille Il se trouve que ces applications développées ne sont pas modularisées .Et donc de telles fonctionnalités communes sont développées à chaque fois et même faite manuellement en utilisant les fonctionnalités par défaut proposées par les SGBD. Cela constitue une perte de temps précieux pour les développeurs ainsi que des problèmes importants de maintenance et de sécurités. La suite de notre travail répondra donc aux interrogations suivantes :  Comment normaliser l’implémentation de la sauvegarde et de la restauration de bases de données par les développeurs indépendamment du SGBD utilisé ?  Comment modulariser les applications développées pour cette fonctionnalité?  Comment faciliter la réutilisabilité du code source d’un module donné?  Comment faciliter la maintenance des applications ? Comment faciliter (au client) la planification de la sauvegarde de sa base de données ainsi que sa restauration en cas de sinistre ? 3.Intérêt du sujet 3.1 Objectifs La librairie permettra : 1) La sauvegarde générique de base de données ; 2) La restauration générique de base de données à partir des sauvegardes 3) La planification des sauvegardes, pour des exécutions automatiques. 3.2 Résultats attendus La librairie devra fournir les fonctionnalités  Sauvegarde manuelle de données effectuée ;  Planification de sauvegarde de données effectuée;  Restauration de base de données effectuée ;  Interface d’intégration des fonctionnalités ci-dessus au d’autre application.
  • 18. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 12 Rédigé par AGOTSI Komi Gédéon Cyrille Conclusion Parvenus au terme du présent rapport d’insertion, nous avons pu recenser les contours de notre thème de stage portant sur la « Mise en place d’un système générique de sauvegarde et restauration de base de données : cas de médiasoft ». Ce document a également présenté toutes les informations sur notre centre d’accueil et l’IAI-TOGO. Connaissant ainsi les contours de notre thème de stage, nous allons entamer la prochaine phase (la phase de pré-programmation).
  • 19. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 13 Rédigé par AGOTSI Komi Gédéon Cyrille PARTIE II : RAPPORT DE PRE-PROGRAMMATION
  • 20. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 14 Rédigé par AGOTSI Komi Gédéon Cyrille Introduction Le rapport de pré-programmation fait suite au rapport d’insertion. Cette partie constitue une phase importante dans le développement de notre librairie. Nous allons dans un premier temps faire une étude préalable, ensuite proposer des solutions et retenir celle qui fera l’objet d’une implémentation informatique. Dans un second temps nous aborderons la phase de modélisation et de conception proprement dite en recensant d’abord les fonctionnalités ( besoins) grâce au diagramme de cas d’utilisation, ensuite nous décrirons la structure de notre librairie à travers les diagrammes structurels que sont les diagrammes de composants ,de déploiement et enfin le comportement de la librairie à travers le diagrammes d’activités avec Unified Modeling Language (UML) comme langage de modélisation et Two Track Unified Process (2TUP) comme processus .
  • 21. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 15 Rédigé par AGOTSI Komi Gédéon Cyrille I. Etude de l’existant MEDIASOFT utilise divers SGBD tels que MySQL, SQL Server, Postgresql, Oracle pour le stockage des données des applications développées. Ainsi pour sauvegarder et restaurer une base de données, il utilise les fonctionnalités de sauvegarde et de restauration par défaut depuis l’interface d’administration du SGBD. Nous ferons une étude dans cette pratique en se référant au SGBD SQL Server. Nous décrirons les processus de sauvegarde et de restauration. 1.SQL Server Microsoft SQL Server permet de sauvegarder et restaurer des bases de données. Le composant de sauvegarde et restauration de SQL Server apporte une sécurité importante pour la protection des données cruciales stockées dans les bases de données SQL Server. Une stratégie de sauvegarde et de restauration correctement planifiée permet de protéger les bases de données contre toute perte de données provoquée par différentes défaillances. Nous pouvons donc tester cette stratégie en restaurant un ensemble de sauvegardes, puis en récupérant notre base de données pour nous préparer à réagir efficacement en cas de sinistre. Une copie de données qui peut être utilisée pour restaurer et récupérer des données porte le nom de sauvegarde. Les sauvegardes permettent de restaurer les données après :  Une défaillance du support ;  Des erreurs utilisateur, telle que la suppression d'une table par inadvertance ;  Des défaillances matérielles, telles qu'un lecteur de disque endommagé ou la perte d'un serveur ;  Des catastrophes naturelles. Par ailleurs, il peut être utile d'effectuer des sauvegardes d'une base de données afin d'effectuer des tâches administratives de routine, telles que la copie d'une base de données d'un serveur vers un autre, l’archivage.
  • 22. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 16 Rédigé par AGOTSI Komi Gédéon Cyrille 1.1 Sauvegarde de base de données 1.1.1 Sauvegarde avec arrêt de la production Cette solution ne nécessite pas d’outil complémentaire mais nécessite l’arrêt du service « SQL Server (MSSQLSERVER) » qui provoque une interruption de service (dans le cas où aucune base de secours n’est mise en place. 1. Arrêt du service SQL SQLSERVER Sur le serveur hébergeant la base de données, ouvrez une console des services (menu Démarrer > Outils d’administration > Services). Une fenêtre « Services » apparaît. Cliquez droit sur le service nommé « SQL Server (MSSQLSERVER » et choisissez l’option « Arrêter » Figure 4 : Arrêt du service SQLServer(MSSQLServer)
  • 23. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 17 Rédigé par AGOTSI Komi Gédéon Cyrille 2. Copie des fichiers Copiez les fichiers correspondant à votre base de données se trouvant dans le répertoire « C:ProgramFilesMicrosoftSQL ServerMSSQL.1MSSQLData ». Pour chaque des bases de données, deux fichiers sont à copier : un fichier «.mdf » et un fichier « .ldf ». 3. Redémarrage du service SQL SQLSERVER Sur le serveur hébergeant la base de données, ouvrez une console des services (menu Démarrer Outils d’administration Services). Une fenêtre « Services » apparaît. Cliquez droit sur le service nommé « SQL Server (SQLSERVER) » et choisissez l’option « Démarrer ». Figure 5 : Copie des fichiers <<.mdf>> et <<.ldf>> de la base de données Figure 6 Démarrage du service SQLServer (MSSQLSERVER)
  • 24. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 18 Rédigé par AGOTSI Komi Gédéon Cyrille 1.1.2 Sauvegarde sans arrêt de la production Ce type de sauvegarde nécessite un outil complémentaire par l’autre : 1. Lancement de l’outil « Microsoft SQL Server Management Studio Express » et connexion au serveur de base de données hébergeant la base de données à sauvegarder. 2. Dans la fenêtre nommée « Explorateur d’objets » on trouve la base à sauvegarder et clic droit sur cette dernière. Dans le menu contextuel choisir « Tâches puis Sauvegarder… ». Figure 7 : Sauvegarde de la base de données : menu contextuel
  • 25. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 19 Rédigé par AGOTSI Komi Gédéon Cyrille 3. Configuration des options de sauvegarde et clique sur « OK » Nous pouvons voir la progression d’exécution de la sauvegarde en bas à gauche : Figure 8 : Options de sauvegarde Figure 9 : Progression de la sauvegarde
  • 26. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 20 Rédigé par AGOTSI Komi Gédéon Cyrille 4. A la fin de la sauvegarde, un message apparaît : Par défaut le fichier de backup est créé sous « C:Program FilesMicrosoft SQL ServerMSSQL.12.MSSQLSERVERMSSQLBackup » au format .bak. Ce fichier, qui a été généré sans arrêt de la production, contient alors l’ensemble des informations de la base de données. 1.2 Restauration de base de données 1. Tout d’abord, il nous faut arrêter le « service d’administration IIS » (menu Démarrer > Outils d’administration > Services) sur tous les serveurs d’administration afin de ne plus avoir d’accès vers la base de données (tables verrouillées). 2. Lancement l’outil « Microsoft SQL Server Management Studio Express » et connexion au serveur de base de données. 3. Dans la fenêtre nommée « Explorateur d’objets » y a la base pour laquelle nous voulons appliquer une restauration, clic droit sur cette dernière. Dans la fenêtre contextuelle choisir « Tâches > Restaurer > Base de données Figure 10 : Boite de dialogue
  • 27. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 21 Rédigé par AGOTSI Komi Gédéon Cyrille 4. Une fenêtre « Restaurer la base de données » s’ouvre. Dans cette fenêtre, nous trouvons par défaut dans la page de configuration « Général » (la sélection de page se trouve dans le coin supérieur gauche). Choisir une restauration de type « A partir du périphérique » et clic sur le bouton « ... » Figure 11 : Interface de restauration de la base de données : menu contextuel Figure 12 : Restaurer la base de données
  • 28. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 22 Rédigé par AGOTSI Komi Gédéon Cyrille 5 - Une fenêtre « Spécifier la sauvegarde » s’ouvre. Choisir un « Support de sauvegarde » de type « Fichier » puis cliquer sur « Ajouter ». 6 - Une fenêtre « Localiser le fichier de sauvegarde » s’ouvre. Choisir le fichier de sauvegarde de la base de données au format « .bak »que nous voulons restaurer puis cliquer sur « OK ». Figure 13 : Sélection du support de sauvegarde Figure 14 : Sélection du fichier de sauvegarde
  • 29. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 23 Rédigé par AGOTSI Komi Gédéon Cyrille 7 - Dans la fenêtre « Spécifier la sauvegarde », cliquer sur « OK ». 8 - Nous sommes à nouveau dans la fenêtre « Restaurer la base de données » et dans la liste nommée « Sélectionner les jeux de sauvegardes à restaurer », la base que nous venons de choisir est apparue, il faut lui cocher l’option « Restaurer ». Figure 15 : Emplacement de la sauvegarde Figure 16 : Sélection des jeux de sauvegarde à restaurer
  • 30. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 24 Rédigé par AGOTSI Komi Gédéon Cyrille 9 - Toujours dans la fenêtre « Restaurer la base de données » dans la page de configuration des « Options » (la sélection de page se trouve dans le coin supérieur gauche). Dans la liste « Options de restauration » sélectionner l’option « Remplacer la base de données existante ». Attention: dans la partie « Restaurer les fichiers de base de données en tant que : », se rassurer que les chemins indiqués sous « Restaurer sous » sont valides en cliquant sur le bouton « … » Cliquer sur le bouton « OK » pour lancer la restauration. 10- A la fin de la restauration, un message apparaît. Clic sur « OK » Figure 17 : Options de restauration Figure 18 : Boite de dialogue
  • 31. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 25 Rédigé par AGOTSI Komi Gédéon Cyrille II. Critique de l’existant Tous les SGBD utilisés par MEDIASOFT offre une interface d’administration pour la réalisation des opérations de sauvegarde et de restauration de base de données. Cependant ces fonctionnalités par défaut proposées par ces SGBD présentent des lacunes à MEDIASOFT dans l’administration des bases de données des applications vendues aux clients. On distingue :  Nécessité d’intervention de MEDIASOFT auprès des clients ;  La perte de temps : Les développeurs afin d’implémenter ces fonctionnalités dans une application récrivent à chaque fois les mêmes séquences de code qui sont spécifique à chaque SGBD, ce qui nécessite un temps plus ou moins long ;  Problème de maintenance : Les développeurs de MEDIASOFT ont d’énorme difficultés pour maintenir leur applications dû au fait que ceux-ci ne sont pas modularisées ;  Manque de généricité : Impossibilité de pouvoir restaurer une base de données à partir d’une sauvegarde provenant d’un autre SGBD ,on est obligé d’implémenter ces fonctionnalités suivant le SGBD utilisé ;  Travail d’équipe difficile : Puisque l’implémentation de ces fonctionnalités n’est pas standardisée. III. Propositions de solutions Pour la résolution de la problématique, deux solutions sont proposées : 1.Première solution Il s’agit de proposer aux clients un des logiciels de sauvegarde, de restauration. Ils sont en vente sur internet. Nous pourrions donc nous informer plus sur les fonctionnalités qu’ont ces différents logiciels et voir s’ils répondent bien aux attentes ou au problème posé. Exemple : Iperius Backup BD qui est un logiciel de sauvegarde, de restauration et de planification automatique de sauvegarde pouvant
  • 32. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 26 Rédigé par AGOTSI Komi Gédéon Cyrille communiquer avec plusieurs SGBD offrant une console web d’administration. 1.1 Avantage La mise en œuvre de cette solution nous permettra de gagner considérablement en temps de réalisation du projet. 1.2 Inconvénients  Ces produits sont payants ;  Ils ne répondent pas à l’objectif principal de MEDIASOFT de mettre à disposition de l’équipe de développement une librairie normalisée et générique utilisable pour implémenter ces fonctionnalités ;  Les clients de MEDIASOFT n’accepteraient pas aussi acheter un autre produit logiciel juste pour la sauvegarde de leurs bases de données, toujours la raison du coût financier de cette solution. Figure 19 : Interface de l'application Iperius backup
  • 33. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 27 Rédigé par AGOTSI Komi Gédéon Cyrille 2.Deuxième solution Cette solution consiste à développer une librairie générique (indépendante des SGBD) de sauvegarde, de restauration et de planification automatique de sauvegarde utilisable directement dans les projets de développement d’application de MEDIASOFT. 2.1 Avantages  La mise en place de cette librairie partira d’une analyse donc comportera les fonctionnalités nécessaires et suffisantes pour la mise en place du système de sauvegarde, de restauration et de planification de sauvegarde de base de données ;  Cette librairie sera générique, donc il est possible de pouvoir faire la sauvegarde et la, restauration de base de données sans se préoccuper du SGBD utilisé ;  Cette librairie permettra de pouvoir restaurer une sauvegarde de base de données provenant d’un SGBD sur un autre ;  La librairie présentera une documentation sur les différentes classes et méthodes d’implémentation. Elle disposera de même une interface web facile à utiliser, accessible depuis un navigateur. 2.2 Inconvénients  La librairie n’est pas encore développée;  La librairie n’est pas encore développée. IV. Evaluation financière des solutions 1.Première solution Notre première solution consiste à proposer pour chaque client de Médiasoft Iperius Backup, un logiciel de sauvegarde, de restauration et de planification de sauvegarde de base de données.
  • 34. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 28 Rédigé par AGOTSI Komi Gédéon Cyrille Désignation Montant (F CFA) Licence à vie de la version complète d’Iperius Backup 210 000 Coût d’intégration 150 000 Formations des utilisateurs 100 000 Total 460 000 Tableau 3 : Evaluation financière de la première solution 2.Deuxième solution La deuxième solution consiste à développer une librairie générique de sauvegarde, de restauration et de planification de sauvegarde de base de données. Puisque c’est une librairie nous n’aurons qu’à estimer les couts humains et de formation. Désignation Rôle Coût Unitaire (FCFA) Nombre d’heures Prix Total Un Ingénieur des travaux Informatique Conception de la librairie 5000 300 2 000 000 Formations des utilisateurs Formation 3000 30 180000 Total - - - 2 180 000 Tableau 4 : Evaluation financière de la deuxième solution 43 heures à raison de 03 heures par semaine du 27 Juin 2013 au 11 Juillet 2013 et 40 heures par semaine du 12 Juillet au 12 Septembre. ** : référencehttp://www.lejustesalaire.com/salaire-par-poste/salaires-stagiaire-informatique.php
  • 35. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 29 Rédigé par AGOTSI Komi Gédéon Cyrille V. Choix de solution Le choix de solution de Médiasoft s’est alors porté sur la deuxième. SPECIFICATIONS TECHNIQUES Méthode d’analyse Approche Objet (UML + 2TUP) Outils de modélisation Sybase Power AMC 15.1 Langage de programmation JEE Environnement de Développement Intégré (EDI) Netbeans 8.0.2 Tableau 5 : Spécifications techniques du projet
  • 36. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 30 Rédigé par AGOTSI Komi Gédéon Cyrille VI. Planning prévisionnel de réalisation Figure 20 : Diagramme de GANTT illustrant le planning prévisionnel de ré
  • 37. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 31 Rédigé par AGOTSI Komi Gédéon Cyrille VII. Présentation de la méthode d’analyse 1.Langage UML Le langage de modélisation unifié, en anglais Unified Modeling Langage est un langage de modélisation graphique à base de pictogrammes (dessins figuratifs stylisés ayant fonction de signe) conçu pour fournir une méthode normalisée pour visualiser la conception d’un système. Il est couramment utilisé en développement logiciel et en conception orientée objet. UML est le résultat de la fusion de précédents langages de modélisation objet : Booch, OMT, OOSE. Principalement issu des travaux de Grady Booch, James Rumbaugh et Ivar Jacobson, UML est à présent un standard adopté par l'Object Management Group (OMG). 1.1 Les diagrammes UML Figure 21 : Logo d’UML
  • 38. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 32 Rédigé par AGOTSI Komi Gédéon Cyrille UML 2.3 propose 14 types de diagrammes (contre 9 en UML 1.3). Ces diagrammes sont dépendants hiérarchiquement et se complètent, de façon à permettre la modélisation d’un projet tout au long de son cycle de vie. On a :  Les diagrammes structurels ou statiques (07) qui rassemblent : le diagramme de classes (intervenant dans le système), le diagramme d’objets (instances de classes), le diagramme de composants (du point de vue physique), le diagramme de déploiement, le diagramme des paquetages (ensembles de définitions), le diagramme de structure composite (relations entre les composants) et le diagramme de profils ;  Les diagrammes comportementaux (03) qui rassemblent : le diagramme des cas d’utilisation (acteurs et interactions avec le système), le diagramme d’états-transitions (description sous forme de machine à états finis du comportement du système et ses composants), le diagramme d’activité (description sous forme d’activités du comportement du système et ses composants) ;  Les diagrammes d’interaction ou dynamiques (04) qui rassemblent : le diagramme de séquences, le diagramme de communication (échange de messages entre les objets), le diagramme global d’interaction (variante du diagramme d’activité), diagramme de temps (variation d’une donnée au cours du temps). 1.2 UML est un formalisme UML est un langage de conception objet qui permet de modéliser les solutions informatiques par des diagrammes (cités ci-dessus). Pourtant, le langage ne propose pas l’ordre qui doit régir ces diagrammes. C’est ainsi que les méthodes viennent appuyer le langage pour rendre totale et parfaite l’approche objet. Les méthodes imposent au langage l’ordre et la démarche. Il existe une multitude de méthodes de conception objet telles que : 2TUP (Two Track Unified Process), XP (ExtremeProgramming), Scrum, RUP (Rational Unified Process). La méthode retenue pour notre projet est le 2TUP
  • 39. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 33 Rédigé par AGOTSI Komi Gédéon Cyrille 2.Processus 2TUP 2 Track Unified Process (2TUP), à prononcer "toutiyoupi" est un processus de développement Logiciel qui implémente le Processus Unifié. Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects techniques des aspects fonctionnels. Il commence par une étude préliminaire qui consiste essentiellement à identifier les acteurs qui vont interagir avec le système à construire, les messages qu’échangent les acteurs et le système. Ensuite à produire le cahier des charges et à modéliser le contexte (le système est une boîte) noire, les acteurs l’entourent et sont reliés à lui, sur l’axe qui lie un acteur au système on met les messages que les deux s’échangent avec le sens). Le processus s’articule ensuite autour de 3 phases essentielles :  Une branche technique ;  Une branche fonctionnelle ;  Une phase de réalisation. Figure 22 : Illustration du 2TUP
  • 40. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 34 Rédigé par AGOTSI Komi Gédéon Cyrille  La branche technique (droite)  La capture des besoins techniques qui recense toutes les contraintes sur les choix de dimensionnement et la conception du système. Les outils et les matériels sélectionnés ainsi que la prise en compte des contraintes d’intégration avec l’existant (prérequis d’architecture technique) ;  La conception générique, qui définit ensuite les composants nécessaires à la construction de l’architecture technique. Cette conception est complètement indépendante des aspects fonctionnels. Elle a pour objectif d’uniformiser et de réutiliser les mêmes mécanismes pour tout un système. L’architecture technique construit le squelette du système, son importance est telle qu’il est conseillé de réaliser un prototype.  La branche fonctionnelle (gauche)  Elle capture des besoins fonctionnels qui produisent le modèle des besoins focalisés sur le métier des utilisateurs. Elle qualifie au plus tôt le risque de produire un système inadapté aux utilisateurs ;  L’analyse qui consiste à étudier précisément la spécification fonctionnelle de manière à obtenir une idée de ce que va réaliser le système en terme de métier  La phase de réalisation (milieu) Elle correspond à :  Une conception préliminaire qui représente une étape délicate car elle intègre le modèle d’analyse fonctionnelle dans l’architecture technique de manière à tracer la cartographie des composants du système à développer ;  La conception détaillée qui étudie comment réaliser chaque composant ;  L’étape de codage qui produit ses composants et teste au fur et à mesure les unités de code réalisées ;  L’étape de recette, qui consiste à valider les fonctionnalités du système développé.
  • 41. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 35 Rédigé par AGOTSI Komi Gédéon Cyrille VIII. Présentations de l’outil de modélisation L’outil retenu pour la modélisation est Sybase PowerAMC version 15.1 1.Qu’est-ce que PowerAMC ? Figure 23 : Logo PowerAMC PowerAMC est un environnement graphique de modélisation d'entreprise très simple d'emploi qui permet d'effectuer les tâches suivantes :  Modélisation intégrée via l'utilisation de méthodologies et de notation standards :  Données (E/R, Merise) ;  Métiers (BPMN, BPEL, ebXML) ;  Application (UML).  Génération automatique de code via des Template personnalisables :  SQL (avec plus de 50 SGBD) ;  Java ;  .NET.  Fonctionnalités de reverse engineering pour documenter et mettre à jour des systèmes existants ;
  • 42. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 36 Rédigé par AGOTSI Komi Gédéon Cyrille  Une solution de référentiel d'entreprise avec des fonctionnalités de sécurité et de gestion des versions très complètes pour permettre un développement multiutilisateur ;  Fonctionnalités de génération et de gestion de rapports automatisés et personnalisables ;  Un environnement extensible, qui vous permet d'ajouter des règles, des commandes, des concepts et des attributs à vos méthodologies de modélisation et de codage. 2.Modéliser avec PowerAMC PowerAMC fournit un jeu unique d'outils de modélisation professionnels qui associent les techniques et notations standard de la modélisation de processus métiers, de la modélisation des données et de la modélisation des diagrammes UML et d'autres fonctionnalités puissantes afin d’aider à analyser, concevoir, construire et maintenir des applications, en utilisant les techniques les plus élaborées d'ingénierie logicielle. La solution de modélisation PowerAMC permet d'intégrer étroitement la conception et la maintenance des couches de données centrales de l'application et exigences de projet, processus métiers, code orienté objet, vocabulaires XML et informations de réplication de base de données.
  • 43. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 37 Rédigé par AGOTSI Komi Gédéon Cyrille IX. Etude détaillée de la solution 1.Le diagramme de cas d’utilisation Un diagramme de cas d’utilisation traduit tout ce que l’utilisateur exprime comme action sur le logiciel ou le système à modéliser. C’est une représentation faisant intervenir les acteurs et les cas d’utilisation. Il traduit les besoins des utilisateurs vis-à-vis du système développé. 1.1 Les acteurs Un acteur est une personne ou un système qui interagit avec le système en en échangeant des informations en entrée comme en sortie. Le diagramme de cas d’utilisation d’UML distingue deux acteurs à savoir :  Les acteurs principaux (qui modifient l’état du système ou qui consultent cet état)  Les acteurs secondaires (acteurs auxquels le système fait appel pour répondre aux sollicitations d’un acteur principal) Dans notre projet, nous avons décelé :  Un acteur principal (L’operateur de maintenance) ;  Deux acteurs secondaires : o Système de gestion de base de données (SGBD)) ; o Planificateur de tâche. 1.2 Cas d’utilisation Un cas d’utilisation (Use Case) représente un ensemble de séquences d’actions réalisées par le système et produisant un résultat observable intéressant pour un acteur particulier. Un cas d’utilisation modélise un service rendu par le système. Il exprime les interactions acteurs/système et apporte une valeur ajoutée «notable » à l’acteur concerné. Nous avons décelé comme cas d’utilisation :  Sauvegarder manuellement une base de données ;  Planifier une sauvegarde ;  Restaurer une base de données ;  Modifier le dossier de sauvegarde.
  • 44. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 38 Rédigé par AGOTSI Komi Gédéon Cyrille 1.3 Modèle du diagramme de cas d’utilisation de la librairie (du point de vue de l’utilisateur final) Figure 24 : Diagramme de cas d'utilisation de la librairie
  • 45. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 39 Rédigé par AGOTSI Komi Gédéon Cyrille 1.4 Description textuelle de certain cas d’utilisation 1.4.1 Sauvegarder une base de données Sommaire d’identification Titre : Sauvegarder une base de données Résumé : Permet de sauvegarder une base de données afin de se prémunir contre d’éventuels sinistre Acteurs : Operateur de sauvegarde (principal), SGBD (secondaire) Date de création : 15/07/2016 Date de mise à jour : 15/07/2016 Version : 1.0 Responsable : AGOTSI Komi Gédéon Cyrille Description des scénarios : Précondition  Le serveur de base de données est en service ;  Le système est fonctionnel ; Scénario nominal : 1. L’utilisateur saisit le nom du fichier de sauvegarde (E1) ; 2. L’utilisateur choisit le format et l’encodage du fichier ; 3. L’utilisateur saisit le dossier de sauvegarde ; 4. L’utilisateur choisit la méthode de compression et l’algorithme de chiffrage ; 5. L’utilisateur valide les informations ; 6. Le système vérifie les informations saisies (A1) ;
  • 46. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 40 Rédigé par AGOTSI Komi Gédéon Cyrille 7. Le système notifie à l’utilisateur que la sauvegarde a été créé avec succès. Scénario alternatif : A1 : Champ obligatoire non renseigné Ce scénario démarre au point (5) lorsque l’utilisateur n’a pas renseigné tous les champs obligatoires. 1. L’application envoie un message d’information signalant l’information manquante et met le curseur au niveau de cette dernière ; 2. L’utilisateur renseigne l’information manquante et valide. Le scénario nominal est repris au point 4. Scénario d’exceptions : E1 : L’utilisateur annule l’opération Ce scénario débute au point 1 du scénario nominal lorsque l'utilisateur quitte la page. 1. Le scénario nominal est interrompu. Post conditions :  La sauvegarde de la base de données est effectuée ;  Journal mis à jour ;  Le système est toujours fonctionnel. 1.4.2 Restaurer une base de données Sommaire d’identification Titre : Restaurer une base de données Résumé : Permet de restaurer une base de données Acteurs : Operateur de sauvegarde (principal), SGBD (secondaire) Date de création : 15/07/2016 Date de mise à jour : 15/07/2016
  • 47. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 41 Rédigé par AGOTSI Komi Gédéon Cyrille Version : 1.0 Responsable : AGOTSI Komi Gédéon Cyrille Description des scénarios : Précondition  Le serveur de base de données est en service ;  Le système est fonctionnel ;  Le fichier de sauvegarde existe. Scénario nominal : 1. L’utilisateur saisit le nom de l’unité de persistence (E1) ; 2. L’utilisateur choisit le fichier de sauvegarde ; 3. L’utilisateur valide les informations ; 4. Le système vérifie les informations saisies (A1) ; 5. Le système notifie à l’utilisateur que la restauration a été créé effectué avec succès. Scénario alternatif : A1 : Champ obligatoire non renseigné Ce scénario démarre au point (5) lorsque l’utilisateur n’a pas renseigné tous les champs obligatoires. 1. L’application envoie un message d’information signalant l’information manquante et met le curseur au niveau de cette dernière ; 2. L’utilisateur renseigne l’information manquante et valide. Le scénario nominal est repris au point 4. Scénario d’exceptions : E1 : L’utilisateur annule l’opération Ce scénario débute au point 1 du scénario nominal lorsque l'utilisateur quitte la page. 1. Le scénario nominal est interrompu. Postconditions :  La base de données est restaurée ;  Journal mis à jour ;
  • 48. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 42 Rédigé par AGOTSI Komi Gédéon Cyrille  Le système est toujours fonctionnel. 2.Diagramme de classes Le diagramme des classes est un diagramme central dans un processus de développement orienté objet. Il met en œuvre des classes comprenant des attributs et des opérations reliées par des associations ou généralisations. Une classe est une représentation abstraite d’un ensemble d’objets possédant la même caractéristique. Figure 25 : Diagramme de classes de la librairie
  • 49. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 43 Rédigé par AGOTSI Komi Gédéon Cyrille 3.Diagramme d’activité 3.1 Généralités Le diagramme d’activités est un diagramme comportemental d’UML, permettant de représenter le déclenchement d’événements en fonction des états du système et de modéliser des comportements parallélisables. Il se présente comme un organigramme qui décrit les enchainements dans le déroulement d’un cas d’utilisation ou d’un ensemble de cas d’utilisation. Conceptuellement, il décrit un algorithme. Un diagramme d’activités permet de modéliser un processus interactif, global ou partiel pour un système donné (logiciel, système d’information). Il est recommandable pour exprimer une dimension temporelle sur une partie du modèle, à partir de diagrammes de classes ou de cas d’utilisation, par exemple. La description d’un cas d’utilisation par un diagramme d’activités correspond à sa traduction algorithmique. Une activité est l’exécution d’une partie du cas d’utilisation, elle est représentée par un rectangle aux bords arrondis. Le diagramme d’activité est sémantiquement proche des diagrammes de communication (appelés diagramme de collaboration en UML 1), ou d’état- transitions, ces derniers offrant une vision microscopique des objets du système. Le diagramme d’activités présente une vision macroscopique et temporelle du système modélisé.
  • 50. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 44 Rédigé par AGOTSI Komi Gédéon Cyrille 3.2 Quelques diagrammes d’activités de notre projet Figure 26 : Diagramme d'activité de «sauvegarder manuellement »
  • 51. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 45 Rédigé par AGOTSI Komi Gédéon Cyrille Figure 27 : Diagramme d'activité « Restaurer une base de données »
  • 52. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 46 Rédigé par AGOTSI Komi Gédéon Cyrille 4.Diagramme de composants 4.1 Généralités Le diagramme de composants fait partie des diagrammes structuraux (statiques) d’UML. Il décrit l’organisation du système du point de vue des éléments logiciels (composants) comme les modules (paquetages, fichiers, sources, bibliothèques, exécutables), des données (fichiers, base de données) ou encore d’éléments de configuration (paramètres, scripts, fichiers de commandes). Un composant est un élément logiciel remplaçable et réutilisable qui fournit ou reçoit un service bien précis. Il peut être vu comme une pièce détachée du logiciel. Les plugins, les drivers, les codecs, les bibliothèques sont des composants. Il fournit des services via des interfaces. Il existe deux types d’interface :  Les interfaces requise : Ce sont des interfaces qui fournissent un service au composant et dont il a besoin pour fonctionner ;  Les interfaces fournies : Ce sont des interfaces par lesquels le composant fourni lui-même un service. 4.2 Diagramme de composants de la librairie Figure 28 : Diagramme de composants de la libraire
  • 53. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 47 Rédigé par AGOTSI Komi Gédéon Cyrille 5.Diagramme de déploiement Les diagrammes de déploiement montrent la disposition physique des matériels qui composent le système et la répartition des composants sur ces matériels.  Les ressources matérielles sont représentées sous forme de nœuds  Les nœuds sont connectés entre eux, à l’aide d’un support de communication ; La nature des lignes de communication et leurs caractéristiques peuvent être précisées ;  Les diagrammes de déploiement peuvent montrer des instances de nœuds ; (un matériel précis), ou des classes de nœuds;  Les diagrammes de déploiement correspondent à la vue de déploiement d’une architecture logicielle. Puisque notre projet consiste à développer une libraire intégrable dans les projets JEE afin de faire la sauvegarder et restauration de bases de données. La librairie ne dispose pas de diagramme de déploiement. Cependant nous allons modéliser le diagramme de déploiement d’un projet utilisant notre librairie.
  • 54. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 48 Rédigé par AGOTSI Komi Gédéon Cyrille Figure 29 : Diagramme de déploiement d’une application utilisant notre librairie
  • 55. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de pré-programmation 49 Rédigé par AGOTSI Komi Gédéon Cyrille Conclusion L’étude menée dans ce rapport de pré-programmation par rapport au thème de notre stage nous permis de réaliser une analyse complète et de spécifier les fonctionnalités de la future librairie .En outre, elle nous a permis de mettre en place de diagrammes UML en nous basant sur le processus 2TUP. Le sujet étant bien analysé, nous pouvons passer à l’étape de réalisation.
  • 56. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 50 Rédigé par AGOTSI Komi Gédéon Cyrille PARTIE III : REALISATION ET MISE EN OEUVRE
  • 57. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 51 Rédigé par AGOTSI Komi Gédéon Cyrille Introduction Apres la présentation du rapport d’insertion et du rapport de pré- programmation qui nous ont respectivement conduits à déterminer les données à utiliser dans le domaine d’étude et les traitements qui y sont effectués, nous entamerons la troisième et dernière étape de la mise en place de notre librairie : le rapport de mise en œuvre et de réalisation. Dans cette partie nous présenterons le choix des matériels de travail, les outils de développement et l’architecture de la libraire à concevoir. De coutume, une librairie se doit d’avoir un nom et nous avons appelé la nôtre « ms-Backup »
  • 58. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 52 Rédigé par AGOTSI Komi Gédéon Cyrille I. Mise en œuvre 1.Choix matériels Notre matériel de développement durant notre stage est un ordinateur portable qui présente les caractéristiques suivantes :  Marques : Hewlett-Packard (HP)  Modèle : HP-Notebook 2200  Processeur : Intel(R) Pentium(R) CPU 2020M @ 2,40GHz  Mémoire RAM : 4,00 Go  Disque dur : 500 Go  Vitesse de la carte réseau : 100 Mb/s  Lecteur : DVD-RW
  • 59. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 53 Rédigé par AGOTSI Komi Gédéon Cyrille 2.Choix logiciels 2.1 L’EDI (Environnement de développement ) NetBeans NetBeans est un environnement de développement intégré (EDI), placé en open source par Sun en Juin 2000 sous licence CDDL (Common Development and Distribution Licence) et GPLv2. Il comprend toutes les caractéristiques d’un IDE moderne (éditeur en couleur, projets multi-langage, refactoring, éditeur graphiques d’interfaces et de pages web). Conçu en Java (qui est multiplateforme), NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), MAC OS X ou sous une version indépendante des systèmes d’exploitation (requérant la machine virtuelle de Java, la JVM). Pour notre librairie, nous avons utilisé la version 8.0.2 de NetBeans et la version 1.8 de la JDK (Java Development Kit) car ce sont les dernières versions les plus stables pour le moment. Figure 30 : Logo NetBeans
  • 60. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 54 Rédigé par AGOTSI Komi Gédéon Cyrille 2.2 Base de données L’objectif de notre projet est de réaliser une librairie indépendante des SGBD. Dans le cadre de réalisation de test, nous avions utilisé les SGBD MySQL et Postgresql. Une base de données est un ensemble structuré et organisé qui permet le stockage d’informations en quantité importante afin d’en faciliter l’exploitation. Physiquement, elle se traduit par un ensemble de fichiers bien organisés sur le disque. Un Système de Gestion de bases de données (SGBD) est un logiciel qui prend en charge la structuration, le stockage, la mise à jour et la maintenance des données ; c’est l’interface entre la base de données et les utilisateurs ou leurs programmes. 2.3 Présentation du langage utilisé 2.3.1 Java Entreprise Edition (JEE) Java EE (Java Enterprise Edition) est une spécification pour la technique Java d’Oracle plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux. Dans ce but, toute implémentation de cette spécification contient un ensemble d’extensions au Framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications reparties. A l’heure où ces lignes sont écrites, Java EE est officiellement dans sa version 7. La version 8 est en cours d’édition. Notre librairie a été programmée en suivant la spécification Java EE 7. Figure 31 : Logo JEE
  • 61. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 55 Rédigé par AGOTSI Komi Gédéon Cyrille 2.3.2 Le Framework JSF/PrimeFaces JavaServer Faces (abrégé JSF) est un Framework basé sur la notion de composants et destiné au développement d’applications WEB. JSF est techniquement comparable à Swing ou SWT sauf qu’ils sont utilisés pour le développement d’applications de bureau. En JSF et en Swing, l’état d’un composant (représenté par un objet java) est enregistré lors du rendu de la page, pour être ensuite restauré au retour de la requête. L’objectif de JSF est de faciliter le développement des interfaces utilisateurs des applications WEB, or les deux composants standards de JSF (html et core) s’avèrent limités et insuffisants pour le développement d’applications d’entreprise. Des jeux de composants additionnels qui offrent de nouveaux composants plus riches sont indispensables pour le développement en JSF, PrimeFaces en offre un qui a prouvé son efficacité. L’implémentation de la technologie JSF que nous avons utilisé pour notre application est donc PrimeFaces (version 6.0). Figure 32 : Logo de PrimeFaces
  • 62. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 56 Rédigé par AGOTSI Komi Gédéon Cyrille 2.3.3 l’API Java Persistence (JPA) La Java Persistence API (JPA), est une interface de programmation Java permettant aux développeurs d'organiser des données relationnelles dans des applications utilisant la plateforme Java. Elle est une spécification Java pour accéder, persister, et gérer les données entre les objets Java / classes et une base de données relationnelle. C’est une interface d'ORM (Object/Relationnal Mapping) ; il appartient donc à des fournisseurs tierces d'en fournir les implémentations. EclipseLink, TopLink, Hibernate sont les implémentations de JPA sur le marché les plus utilisé. JPA se repose essentiellement sur l'utilisation des annotations, introduites dans Java 5 permettant de définir facilement des objets métier, qui pourront servir d'interface entre la base de données et l'application, dans le cadre d'un mapping objet-relationnel. Elle définit une API EntityManager d'exécution pour le traitement des requêtes et des transactions sur les objets de la base de données. JPA définit aussi un langage de requête de niveau objet, JPQL, pour permettre l'interrogation des objets à partir de la base de données. Figure 33 : Architecture des Classes de JPA
  • 63. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 57 Rédigé par AGOTSI Komi Gédéon Cyrille 2.3.4 JAXB JAXB (Java Architecture for XML Binding) est une spécification qui permet de faire correspondre un document XML à un ensemble de classes et vice versa au moyen d'opérations de sérialisation/désérialisation nommées marshalling/unmarshalling. JAXB permet aux développeurs de manipuler un document XML sans avoir à connaître XML ou la façon dont un document XML est traité comme cela est le cas avec SAX, DOM ou StAX. L'utilisation de JAXB met en œuvre plusieurs éléments :  Une ou plusieurs classes annotées qui vont encapsuler des données du document XML (optionnel) un schéma XML ;  (optionnel) un outil qui génère les classes annotées à partir d'un schéma avec éventuellement un fichier de configuration pour les classes à générer ;  Une API utilisée à l'exécution pour transformer un document XML en un ensemble d'objets du type des classes annotées ou vice versa et permettre des validations. Les avantages d’utiliser JAXB : •Facilite la manipulation de documents XML dans une application Java Manipulation du document XML au travers d'objets : aucune connaissance de XML ou de la manière de traiter un document n'est requise ; •Un document XML peut être créé en utilisant les classes générées •Les traitements de JAXB peuvent être configurés ; • Les ressources requises par le graphe d'objets utilisé par JAXB sont moins importantes qu'avec DOM.
  • 64. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 58 Rédigé par AGOTSI Komi Gédéon Cyrille II. Présentation de le la librairie 1.Présentation Une librairie est une collection de classes définies. Ces classes et les méthodes qu’elle fournit proposent des services dans un domaine précis. L’utilisation d’une libraire permet :  la réutilisation du code par les développeurs ;  D’économiser en temps de développement ;  Modulariser les applications. La librairie que nous avons développée est nommée ms-backup Elle est utilisable via l’interface web d’administration ou par l’appel des méthodes. Elle permet d’implémenter les fonctionnalités de sauvegarde et de restauration de base de données dans les applications dans lesquelles elle sera intégrée .Ceci permettra un gain de temps dans le développement des applications. 2.Architecture de la libraire La libraire développée est utilisable via une interface web ou soit en console par l’appel des méthodes qu’elle fournit. 2.1 Présentation de l’architecture console. Pour utiliser la librairie en mode console, l’on doit intégrer les sous module backup-api et backup-impl dans un projet sollicitant la librairie. Backup-api fournit une interface offrant les méthodes pour sauvegarder et restaurer une base de données.
  • 65. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 59 Rédigé par AGOTSI Komi Gédéon Cyrille 2.2 Diagramme de classe du sous-module backup-api Figure 34 : Composants intégrable pour une utilisation console Figure 35 : Diagramme de classe du composant backup-api
  • 66. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 60 Rédigé par AGOTSI Komi Gédéon Cyrille 2.3 Présentation de l’architecture web Afin de pouvoir utiliser l’interface web le développeur doit intégrer tous les composants (Backup-api, backup-impl et backup-web) ou créer son propre interface web pour effectuer la sauvegarde et la restauration dans son projet en utilisant les interfaces offerte par backup-api. Ainsi nous n’avons pas une architecture définie pour notre projet mais nous allons présentez l’architecture d’une application hôte. i Figure 36 : Architecture de l’interface web d’une application hôte utilisant la librairie Acceuil de l'application hôte Sauvegarder une base de données Planifié une sauvegarde Restaurer une base de données Modifier le dossier de sauvegarde
  • 67. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 61 Rédigé par AGOTSI Komi Gédéon Cyrille 3.Quelques masques de saisies et codes sources de la libraire 3.1 Quelques masques de saisies 3.1.1 Page sauvegarder une base de données Sur cette page l’utilisateur peut sauvegarder une base de données en spécifiant les paramètres de sauvegarde. Figure 37 : Page de sauvegarde de bases données
  • 68. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 62 Rédigé par AGOTSI Komi Gédéon Cyrille 3.1.2 Page restaurer une base de données Sur cette page l’utilisateur peut restaurer une base de données en spécifiant le nom de l’unité de persistence et en sélectionnant le fichier de sauvegarde. Figure 38 : Page de restauration de base de données
  • 69. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 63 Rédigé par AGOTSI Komi Gédéon Cyrille 3.1.3 Page modifié le dossier de sauvegarde Sur cette page l’utilisateur peut modifier le dossier de sauvegarde par défaut Figure 39 : Page modifier le dossier de sauvegarde
  • 70. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 64 Rédigé par AGOTSI Komi Gédéon Cyrille 3.2 Quelques codes sources 3.2.1 Interface BackupBeanSericeRemote du composant backup-api /* * Ms-Backup est une libraire de sauvegarde et de restauration de base de données. réaliser par AGOTSI Komi Gédéon Etudiant en deuxième année a l'IAI-TOGO. */ package net.mediasoft.backup.service; import javax.ejb.Remote; import net.mediasoft.backup.util.BackupConfiguration; /** * * @author gedCommit */ @Remote public interface BackupServiceBeanRemote { /** * Sauvegarde la source de données liée à l'EntityManager principale de l'application. * @param configuration */ void backup(BackupConfiguration configuration); /** * Restauration la source de données liée à l'EntityManager principale de l'application * @param configuration */ void restore(BackupConfiguration configuration); } 3.2.2 Code sources du BackupBean de la page sauvegarder une base de données (Implémentation des interfaces de backup-api)
  • 71. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 65 Rédigé par AGOTSI Komi Gédéon Cyrille /* * * Ms-Backup est une libraire de sauvegarde et de restauration de base de données. réaliser par AGOTSI Komi Gédéonm Etudiant en deuxième année a l'IAI-TOGO. */ package net.mediasoft.libs.test.libs.web; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Serializable; import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; import java.util.Map; import javax.ejb.EJB; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import net.mediasoft.backup.exception.BackupException; import net.mediasoft.backup.service.BackupServiceBeanRemote; import net.mediasoft.backup.util.BackupConfiguration; import org.primefaces.event.FileUploadEvent; import org.primefaces.model.UploadedFile; /** * * @author gedCommit */ @ManagedBean @SessionScoped public class BackupBean implements Serializable { @EJB private BackupServiceBeanRemote backupService; private BackupConfiguration configuration; private UploadedFile file; private long end; private String extension; private boolean test; private String backupfoldertemp; private boolean disablecancelbtn; private boolean renderedrestorepanel ;
  • 72. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 66 Rédigé par AGOTSI Komi Gédéon Cyrille private List<String> listFile; private String encoding; public List<String> getListFile() { return listFile; } public void setListFile(List<String> listFile) { this.listFile = listFile; } public boolean isRenderedrestorepanel() { return renderedrestorepanel; } public void setRenderedrestorepanel(boolean renderedrestorepanel) { this.renderedrestorepanel = renderedrestorepanel; } public long getEnd() { return end; } public void setEnd(long end) { this.end = end; } public String getEncoding() { return encoding; } public void setEncoding(String encoding) { this.encoding = encoding; } public UploadedFile getFile() { return file; } public void setFile(UploadedFile file) { this.file = file; configuration.setFilePath(file.getFileName()); } public String getName() { return name;
  • 73. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 67 Rédigé par AGOTSI Komi Gédéon Cyrille } public void setName(String name) { this.name = name; } public boolean isTest() { return test; } public void setTest(boolean test) { this.test = test; } public BackupServiceBeanRemote getBackupService() { return backupService; } public void setBackupService(BackupServiceBeanRemote backupService) { this.backupService = backupService; } public boolean isDisablecancelbtn() { return disablecancelbtn; } public void setDisablecancelbtn(boolean disablecancelbtn) { this.disablecancelbtn = disablecancelbtn; } private String name; /** * Creates a new instance of BackupBean */ public BackupBean() { this.configuration = new BackupConfiguration(); init(); this.disablecancelbtn=true; this.extension="Aucun fichier selectionné"; this.name="Aucun fichier selectionné"; } public void listenerRender(){ this.renderedrestorepanel=true; } public BackupConfiguration getConfiguration() {
  • 74. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 68 Rédigé par AGOTSI Komi Gédéon Cyrille return configuration; } public void setConfiguration(BackupConfiguration configuration) { this.configuration = configuration; } public String getExtension() { return extension; } public void setExtension(String extension) { this.extension = extension; } public String getBackupfoldertemp() { return backupfoldertemp; } public void setBackupfoldertemp(String backupfoldertemp) { this.backupfoldertemp = backupfoldertemp; } public void init(){ Path monRepertoire = Paths.get("C:"+File.separator+"msBackup"); try { Path file = Files.createDirectory(monRepertoire); } catch (FileAlreadyExistsException ex){ System.out.println("Le fichier de sauvegarde renseigné existe déja Veuillez renseigner un autre"); } catch (IOException ex) { System.out.println(ex.getMessage()); } configuration.setBackupFolder("C:"+File.separator+"msBackup"+File.separator); } public void executeBackup() { try { long start = System.currentTimeMillis(); System.out.println(start); this.backupService.backup(configuration); end = System.currentTimeMillis() - start; System.out.println(end);
  • 75. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 69 Rédigé par AGOTSI Komi Gédéon Cyrille System.out.println(end); configuration.setBackupName(""); System.out.println(configuration.getFormat()); System.out.println(configuration.getEncoding()); String messages = "La base de donnée a éte sauvegardée avec succès sous le fichier : " + this.configuration.getBackupName() + " au format : " + this.configuration.getFormat()+ "; durée d'execution : "+ end +" ms"; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "", "Fichier : " + messages)); reset(); }catch (BackupException ex) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "","Une erreur est survenue dans la creation du fichier de sauvegarde; Cause :" +ex.getMessage())); } } public void executeRestore() { try{ long start = System.currentTimeMillis(); this.backupService.restore(configuration); end = (long)(((System.currentTimeMillis() - start)/1000)%60); String messages = "La base de donnée a éte restauré avec succès; durée d'execution : "+ end +" s"; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "", "Fichier : " + messages)); } catch (BackupException ex) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Une erreur est survenue aucours de la restauration de la base de donnée; cause :", ex.getMessage())); } } public void modifyBackupFolder() throws IOException { this.configuration.setBackupFolder(this.backupfoldertemp + File.separator);//ici// Path monRepertoire = Paths.get(this.backupfoldertemp); try { System.out.println(this.backupfoldertemp); Path file = Files.createDirectory(monRepertoire); this.backupfoldertemp = "";
  • 76. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 70 Rédigé par AGOTSI Komi Gédéon Cyrille FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Le dossier " + this.backupfoldertemp + " a été crée avec succes")); } catch (FileAlreadyExistsException ex) { this.backupfoldertemp = ""; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Le dossier existe déja; veuillez créer un autre")); } } public void handleFileUpload(FileUploadEvent event) throws IOException { // the name of the character encoding returned String name = event.getFile().getFileName(); this.name=name.substring(1,name.indexOf(".")); Path tempFile = Files.createTempFile(name, ".tmp"); File temprealFile = tempFile.toFile(); this.setTest(true); try { //Path file = Files.createFile(monFichier); OutputStream out; try (InputStream inputStream = event.getFile().getInputstream()) { out = new FileOutputStream(temprealFile); int read = 0; byte[] bytes = new byte[1024]; while ((read = inputStream.read(bytes)) != -1) { out.write(bytes, 0, read); } } out.flush(); out.close(); System.out.println(temprealFile.toPath()); configuration.setFilePath(temprealFile.getPath()); } catch (IOException ex) { System.out.println(ex.getMessage()); } FileInputStream fis = null; System.out.println(name); // if (".test".equals(name.substring(name.lastIndexOf('.'), name.length()))) { //this.test=true; // System.out.println("vrai"); // if (".xml".equals(name.substring(name.indexOf('.'), name.length()))) { extension = "XML";
  • 77. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 71 Rédigé par AGOTSI Komi Gédéon Cyrille }else if(".json".equals(name.substring(name.indexOf('.'), name.length()))) { extension = "JSON"; } System.out.println(extension); } // pubic void activeBtn(keyup) public void cancel() { reset(); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("La sauvegarde a été annulé")); } public void reset() { configuration.setBackupName(null); configuration.setPersistenceName(null); configuration.setEncoding("aucune"); configuration.setCompressionType("aucune"); configuration.setEncryption("aucune"); } }
  • 78. Mise en place d’un système de sauvegarde et restauration de base de données Rapport de réalisation et mise en œuvre 72 Rédigé par AGOTSI Komi Gédéon Cyrille Conclusion Cette partie constitue la troisième et dernière partie. Elle nous a permis de montrer l’aspect technique de notre projet. En effet il a été question dans cette partie de montrer l’architecture, quelques codes sources et facette de notre librairie. Ceci permettra à tout développeur de pouvoir intégrer notre librairie dans leur projet afin d’implémenter les fonctionnalités de sauvegarde de restauration.
  • 79. Mise en place d’un système de sauvegarde et restauration de base de données Conclusion générale 73 Rédigé par AGOTSI Komi Gédéon Cyrille Conclusion générale Somme toute, ce stage de trois (03) mois nous a vraiment permis de nous exercer à tout ce que nous avons appris durant nos deux (02) premières années de formation. L’objectif du projet que nous avons réalisé durant le stage était de mettre en place une librairie de sauvegarde et de restauration de bases de données. Nous avons donc étudié le problème posé, trouvé des solutions, tiré la meilleure et l’avons implémenté. Ce qui nous a fait accroître nos connaissances en analyse et programmation. Le plus fascinant est l’intégration professionnelle qui en a découlé, ce qui nous fait adresser des encouragements aux responsables de l’IAI-TOGO.
  • 80. Mise en place d’un système de sauvegarde et restauration de base de données Bibliographie 74 Rédigé par AGOTSI Komi Gédéon Cyrille Bibliographie Ouvrages  UML 2 par la pratique de Pascal Roques ;  PrimeFacesUser’s Guide 6.0. Notes de cours  Cours d’UML de M. KPEGLO (Deuxième année, année académique : 2015-2016) ;  Cours d’implémentation des bases de données de M. KEOULA. Sites web consultés  http:// programcreek.com consulté le 01/07/2016  http:// objectdb.com consulté le 16/08/2016  http://stackoverflow.com consulté le 02/07/2016  http:// docs.oracle.com/javaee consulté le 05/08/2016
  • 81. Mise en place d’un système de sauvegarde et restauration de base de données Tables des illustrations 75 Rédigé par AGOTSI Komi Gédéon Cyrille Tables des illustrations Figure 1: Plan de localisation IAI-TOGO................................................................................................... 3 Figure 2 : Organigramme de Médiasoft .................................................................................................. 6 Figure 3 : Plan de localisation de Médiasoft ........................................................................................... 9 Figure 4 : Arrêt du service SQLServer(MSSQLServer)............................................................................ 16 Figure 5 : Copie des fichiers <<.mdf>> et <<.ldf>> de la base de données........................................... 17 Figure 6 Démarrage du service SQLServer (MSSQLSERVER)................................................................. 17 Figure 7 : Sauvegarde de la base de données : menu contextuel......................................................... 18 Figure 8 : Options de sauvegarde.......................................................................................................... 19 Figure 9 : Progression de la sauvegarde................................................................................................ 19 Figure 10 : Boite de dialogue................................................................................................................. 20 Figure 11 : Interface de restauration de la base de données : menu contextuel ................................. 21 Figure 12 : Restaurer la base de données ............................................................................................. 21 Figure 13 : Sélection du support de sauvegarde................................................................................... 22 Figure 14 : Sélection du fichier de sauvegarde ..................................................................................... 22 Figure 15 : Emplacement de la sauvegarde .......................................................................................... 23 Figure 16 : Sélection des jeux de sauvegarde à restaurer..................................................................... 23 Figure 17 : Options de restauration ...................................................................................................... 24 Figure 18 : Boite de dialogue................................................................................................................. 24 Figure 19 : Interface de l'application Iperius backup ............................................................................ 26 Figure 20 : Diagramme de GANTT illustrant le planning prévisionnel de ré......................................... 30 Figure 21 : Logo d’UML.......................................................................................................................... 31 Figure 22 : Illustration du 2TUP............................................................................................................. 33 Figure 23 : Logo PowerAMC .................................................................................................................. 35 Figure 24 : Diagramme de cas d'utilisation de la librairie ..................................................................... 38 Figure 25 : Diagramme de classes de la librairie................................................................................... 42 Figure 26 : Diagramme d'activité de «sauvegarder manuellement ».................................................. 44 Figure 27 : Diagramme d'activité « Restaurer une base de données »................................................. 45 Figure 28 : Diagramme de composants de la libraire............................................................................ 46 Figure 29 : Diagramme de déploiement d’une application utilisant notre librairie ............................. 48 Figure 30 : Logo NetBeans..................................................................................................................... 53 Figure 31 : Logo JEE............................................................................................................................... 54 Figure 32 : Logo de PrimeFaces............................................................................................................. 55 Figure 33 : Architecture des Classes de JPA .......................................................................................... 56 Figure 34 : Composants intégrable pour une utilisation console........................................................ 59 Figure 35 : Diagramme de classe du composant backup-api................................................................ 59 Figure 36 : Architecture de l’interface web d’une application hôte utilisant la librairie ...................... 60 Figure 37 : Page de sauvegarde de bases données............................................................................... 61 Figure 38 : Page de restauration de base de données.......................................................................... 62 Figure 39 : Page modifier le dossier de sauvegarde.............................................................................. 63 Tableau 1 : Tableau Récapitulatif des participants au projet......................................................iv Tableau 2 : Récapitulatifs de l'architecture matériel informatique de Médiasoft..................... 7 Tableau 3 : Evaluation financière de la première solution.................................................................... 28 Tableau 4 : Evaluation financière de la deuxième solution................................................................... 28 Tableau 5 : Spécifications techniques du projet............................................................................ 29
  • 82. Mise en place d’un système de sauvegarde et restauration de base de données Tables des matières 76 Rédigé par AGOTSI Komi Gédéon Cyrille Table des matières Dédicace ................................................................................................................................................... i Remerciements ........................................................................................................................................ii Sommaire ................................................................................................................................................iii Liste des participants au projet...............................................................................................................iv Introduction générale ......................................................................................................................... 1 PARTIE I : RAPPORT D’INSERTION ....................................................................................................... 1 Introduction........................................................................................................................................... 2 I. Présentations................................................................................................................................... 3 1. Brève présentation de l’IAI-TOGO............................................................................................... 3 2. Présentation du centre d’accueil : Médiasoft ............................................................................ 4 2.1 Statut................................................................................................................................... 4 2.2 Mission ................................................................................................................................ 4 2.3 Activités............................................................................................................................... 4 2.4 Quelques réalisations.......................................................................................................... 5 2.5 Organigramme..................................................................................................................... 5 2.6 Service d’accueil .................................................................................................................. 6 2.6.1 Architecture matérielle .......................................................................................................... 7 2.6.2 Architecture logicielle............................................................................................................. 8 2.7 Plan de localisation................................................................................................................... 8 II. Thème du stage............................................................................................................................. 10 1. Présentation du sujet ................................................................................................................ 10 2. Problématique du sujet............................................................................................................. 10 3. Intérêt du sujet.......................................................................................................................... 11 3.1 Objectifs............................................................................................................................. 11 3.2 Résultats attendus............................................................................................................. 11 Conclusion........................................................................................................................................... 12 PARTIE II : RAPPORT DE PRE-PROGRAMMATION......................................................................... 13 Introduction......................................................................................................................................... 14 I. Etude de l’existant......................................................................................................................... 15 1. SQL Server ................................................................................................................................. 15 1.1 Sauvegarde de base de données....................................................................................... 16 1.1.1 Sauvegarde avec arrêt de la production ............................................................................. 16