Upload
voliem
View
222
Download
2
Embed Size (px)
Citation preview
République Algérienne Démocratique et Populaire
Minstère de l’Enseignement Supérieur et de la
Recherche Scientifique
UNIVERSITÉ D’Echahid Hamma
Lakhdar-EL-OUED
FACULTE DES SCIENCES EXACTES
Mémoire de fin d’étude
pour l’obtention du diplôme de
MASTER ACADEMIQUE
Département : Mathématique et Informatique
Filière : Informatique
Spécialité : Système distribué & Intelligence Artificielle
Présenté par : GUEDIRI Khelil & NASRI Redouane
Thème
Soutenu le Septembre 2015
Devant le jury ci-dessous :
Président
Examinateur
Rapporteur Mr MEDILAH Saci
Année Universitaire 2014/2015
N° d’ordre :
N° de série :
Réalisation et conception d’un cloud computing
pour l’Université d’El-Oued
DEDICACES
Je dédie mon travail aux femmes et hommes, qui doutent
De leurs certitudes, osent aller à la difficile rencontre de l’autre
Exploitent la connaissance et cherchent des moyens
D’améliorer la qualité de vie des êtres humains
Remerciements
Nous remercions Allah le tout puissant, qui nous a donné
la force et la patience pour l’accomplissement de ce
travail.
Cette page n’aurait probablement pas pu s’écrire sans
l’appui moral des membres de nos familles. Nous les
remercions tous, particulièrement nos parents qui nous
supporter dans toutes nos vie, et nous leur dédie ce
mémoire. Nous frères pour l’amour qu’ils nous ont
apporté tous les jours, et nous amis qui ont nous supporté.
Mr
MEDILAH Saci, pour l’effort fourni, les conseils
prodigués, se patient et se persévérant dans le suivi.
Ceci a été un plaisir et un honneur de travailler avec
quelqu’un d’aussi compétent et d’aussi cultivé.
Nous adressons également nos remerciements, à tous nos
enseignants, pour leurs aides inestimables, qui nous ont
donné les bases de la science, aussi les membres de jury
d’avoir bien voulu accepter de faire partie de la
commission d’examinateur.
Nous tenons à remercier aussi l’ensemble du personnel
de l'institut des sciences et technologies et surtout
département Informatique.
Merci à nos camarades d’informatique.
A toute personne qui a participé de près ou de loin pour
l’accomplissement de ce modeste travail. Enfin, pour
finir et pour être sûre de n’oublier personne, nous
remercions tout le monde.
ملخـــــــــــــــــــــــص:
إن كبر حجم البٌانات و صعوبة نقلها من مكان آلخر، و كذا غالء تكالٌف شراء معدات ذات مواصفات عالٌة
لمعالجة بعض البٌانات الكبٌرة أو المعقدة، أدى بالمؤسسات والخواص إلى البحث عن تقنٌة تحد من هذه العوائق.
أدى هذا إلى ظهور ما ٌسمى بـالحوسبة السحابٌة.
فً الحقٌقة ال ٌمكن أن نطلق على الحوسبة السحابٌة بالتقنٌة الجدٌدة ، وإنما هً خدمة بشكل جدٌد.
و ٌمكن أن نعرف الحىسبة السحابية على أنها استخدام المصادر الحوسبٌة )العتاد والبرمجٌات( عن طرٌق االنترنت
)افتراضٌة(، حٌث أنها مقّدمة على شكل خدمات.
الهدف من بحثنا هو إنشاء حوسبة سحابٌة لجامعة الوادي، و أخذنا كمثال خدمة المكتبة اإلفتراضٌة حٌث تقدم قائمة
الكتب و المذكرات، و كذا إضافة و تحمٌل ملفات أخرى.
للحوسبة السحابٌة عدة فوائد أهمها: سهولة الوصول للبٌانات، خفض التكالٌف، ضمان عمل الخدمة بشكل دائم،
االستفادة من البنى التحتٌة الضخمة و المكلفة.
لكنها بالمقابل تحتوي على مساويء منها: ضعف تأمٌن البٌانات)خاصة السرٌة( رغم تطور وسائل األمان، انقطاع
الكهرباء أو االنترنات.
فً األخٌر ٌمكن أن نقول أن الحوسبة السحابٌة هً مستقبل خدمات االنترنات.
:يةـــــــــــات مفتاحـــــــــلمـك
افتراضية.، دمات الىيب خل نأمازو، بنية تحتيةالحىسبة السحابية،
Résumé
La grande taille des données et la difficulté de la transporté d'un endroit à l'autre, ainsi
que le coût élevé des prix de l'équipement de haute spécification pour traiter certaines des
données complexe ou volumineux, ont conduit les institutions et les propriétés à chercher
un technique pour réduire ces obstacles. Cela a mené à ce qu'on appelle le cloud
computing.
En effet, nous ne pouvons pas appeler le cloud computing comme une nouvelle
technologie, mais il est un service dans une nouvelle façon.
Cloud computing peut être définie comme l'utilisation des ressources informatiques
(matériels et logiciels) via Internet (virtuellement), où il est prévu sur la forme des
services.
Le but de notre recherche est de créer un cloud computing à l'Université de l’El-Oued, et
nous prenons comme un exemple le service de bibliothèque virtuelle, qui fournir une liste
de livres et de mémoires, et ainsi que charger et télécharger d'autres fichiers.
Cloud computing à des plusieurs avantages tel que : accès facile aux données, réduction
des coûts, assurer le service définitivement, bénéficier de l'infrastructure énorme et
coûteuse.
Mais d'autre part, il présente des inconvénients, notamment: la faiblesse de sécurité des
données (particulièrement les secrets), coupures de courant ou d’internet.
Finalement, on peut dire que le cloud computing est l'avenir de services internet.
Mots clés :
Informatique en nuages, plateforme, Web Services d’Amazon, virtualisation.
Sommaire Introduction générale
1
Chapitre I : Etat de l'art 3
I.1. Introduction 4
I.2. Définition 4
I.3. Historique 5
I.4. Eléments constitutifs du Cloud Computing 6
I.4.1. La virtualization 6
I.4.2. Datacenter 6
I.4.3. Plateforme collaborative 7
I.5. Modèles de services Cloud 7
I.5.1. Software as a Service (SaaS) 7
I.5.2. Platform as a Service (PaaS) 8
I.5.3. Infrastructure as a Service (IaaS) 8
I.5.4. Avantages et Inconvénients des services 9
I.6. Modèles de déploiement 9
I.6.1. Le cloud public 9
I.6.2. Le cloud privé 10
I.6.3. Le cloud hybride 10
I. 6.4. Le cloud communautaire 11
I.7. Plates-formes de Cloud Computing 12
I.7.1. Solution Open Source 12
I.7.1.1. OpenNebula 12
I.7.1.2. Eucalyptus 12
I.7.1.3. OpenStack 13
I.8.2. Solution propriétaire 14
I.8.2.1. Microsoft Azure 14
I.8.2.2. Redhat CloudForms 14
I.8.2.3. Amazon S3 15
I.9. comparaison entre OpenStack vs AWS 15
I.10. Conclusion
16
Chapitre II : Architecture cloud computing 18
II.1. Introduction 19
II.2. Amazon Web Services 19
II.3. Liste de services AWS 19
II.4. Description d'Amazon S3 20
II.5. Caractéristiques principales 21
II.5.1. Protection des données 21
II.5.2. Mécanismes de contrôle d'accès flexibles 21
II.5.3. Journaux d'audit 21
II.5.4. Contrôle de version 22
II.5.5. Suppression authentification multi-facteurs 22
II.5.6. Notifications d'événements 22
II.5.7. Durabilité et fiabilité des données 23
II.5.8. Stockage RRS (Reduced Redundancy Storage) 23
II.5.9. Gestion de vos données 24
II.5.10. Gestion du cycle de vie des données 24
II.6. Pourquoi Amazon S3 ? 25
II.6.1. Architecture 25
II.6.2. Croissance 26
II.6.3. Exemples d’utilisation 26
II.7. Conclusion
26
Chapitre III : Conception et Architecture générale 27
III. Introduction 28
III.2. LANGUAGE UML : 28
III.2.1. Définition UML 28
III.2.2.Pourquoi UML ? 29
III.2.3.Les diagrammes UML [Ahmed, Introduction à UML, 2011] 29
III.2.3.1. Diagrammes structurels ou diagrammes statiques (UML
Structure)
29
III.2.3.2. Diagrammes comportementaux ou diagrammes dynamiques
(UML Behavior)
30
Méthode d’analyse : Processus unifié 30
III.3. Spécification des besoins fonctionnels : 31
III.3.1. Acteurs et taches : 31
III.3.2. Les Diagrammes de cas utilisation 32
III.3.2.1. Général 32
III.3.2.2. Diagrammes des cas d'utilisation détaillées par acteur 32
III.3.2.2.1. Diagramme de cas utilisation d'Administrateur 32
III.3.2.2.2. Diagramme de cas d'utilisation d'utilisateur 33
III.3.2.2.3. Diagramme de cas d'utilisation de visiteur 34
III.3.3. Diagramme de séquence et d’activité 35
III.3.4. Diagramme de classe 40
III.4. Conclusion
41
Chapitre IV : Implémentation 42
IV.1. Introduction 43
IV.2. ENVIRONNEMENT DU TRAVAIL 43
IV.2.1. Choix du langage de programmation (PHP) 43
IV.2.2. Choix d’éditeur 43
IV.2.2.1. Dreamweaver 43
IV.2.2.2. EasyPHP 43
IV.2.2.3. Kit de développement logiciel (SDK) d’Amazon web services
de PHP
44
IV.2.3. Choix technique 44
IV.3. Configuration de plateforme Amazon S3 44
IV.3.1 :Inscription 44
IV.3.2.. Gestion de bucket sur Amazon S3 46
IV.3.2.1. Définition de bucket 46
IV.3.2.2. Création d'un Bucket 46
IV.3.2.3. Parcourir les des objets dans votre bucket 49
IV.3.2.4. Suppression ou vider un bucket Amazon S3 50
IV.3.2.5. Téléchargement des objets de bucket 52
IV.4. Spécification du logiciel 53
IV.5. Conclusion
55
Conclusion générale 56
Liste de figures Page
Figure I-1 : Cloud compting …………………………………………………………………………….. 04 Figure I-2: Service du Cloud Computing …………………………………………..………….……….. 08
Figure I-3: Cloud public ……………………………………………………………………….………….. 09
Figure I-4:Cloud Privé ……………………………………………………………………………………….… 10
Figure I-5:Cloud Hybride ……………………………………………………………………..…………. 10
Figure I-6:Cloud Communautaire ………………………………………………………….………... 11
Figure III -1 : Diagramme de cas utilisation générale de notre système ……..…... 32
Figure III -2 : Diagramme de cas utilisation d'Admin ………………………………………. 33 Figure III -3 : Diagramme de cas utilisation d'utilisateur ………………………………….. 34 Figure III -4 : Diagramme de cas utilisation de visiteur ……………………………………. 35 Figure III-5: Diagramme de séquence de chargement un fichier pour
l’administrateur ………………………………………………………………………………………………..
36 Figure III-6: Diagramme de séquence de téléchargement un fichier pour
l’administrateur …………………………………………………………………………………………………
37
Figure III-9: Diagramme de séquence de chargement un fichier pour l’utilisateur 38
Figure III-10: Diagramme de séquence de téléchargement un fichier pour
l’utilisateur………………………………………………………………...........
38 Figure III-11: Diagramme de séquence de création de compte ……………………… 39
Figure III-12: Diagramme d’activité ………………………………………………………………. 39
Figure III-13: Diagramme de classe ………………………………………………………………. 41 Figure IV-1 : inscrire à Amazon Web Service ………………………………………………… 45
Figure IV-2 : les service d’Amazon Web Service …………………………………………… 45
Figure IV-3 : création de bucket – select le nom et région ……………………………… 46 Figure IV-4 : création de bucket - consignation de configuration …………………… 48
Figure IV-5 : les buckets créé …………………………………………………………………………. 48 Figure IV-6 :panneau de saut ………………………………………………………………………….. 49 Figure IV -7 :passer à un objet dans un liste …………………………………………………… 50 Figure IV-8 : gestion de bucket ………………………………………………………………………. 51
Figure IV-9 : validation ou annulation de suppression …………………………………………… 51
Figure IV-10 :validation ou annulation de vider un bucket ……………………………… 52
Figure IV-11 : page accueil de site ………………………………………………………………….. 53 Figure IV-12 : page de bibliothèque (charger/télécharger) ………………………………. 53
Figure IV-13 : remplir les détails de fichier à charger …………………………………….. 54
Figure IV -14 : charger un fichier ……………………………………………………………………. 54 Figure IV-15 : télécharger un fichier ……………………………………………………………….. 55
Liste de tableaux Page
Tableau I-1 : avantages et Inconvénients des services cloud ……………………..……. 08
Tableau I-2 : comparaison entre OpenStack vs AWS………………………………………. 15
Tableau II-1 : Nombre de fichiers informatiques enregistrés sur Amazon S3 …. 25
Tableau III-1 : Les tâches des acteurs …………………………………………..…………..……. 32
Tableau III-1 : Les classe et les Attributs ……………………………………………….….……. 40
Table IV-1 : include de SDK…………………………………………………….. 44
Page 1
Introduction générale
Introduction
De nombreux organismes et entreprises utilisent des ordinateurs pour stocker leurs
ressources de données ou d'exécuter des applications ou à développer leurs programmes.
Ces dispositifs ont besoin de maintenir et gérer et a fourni un endroit pour travailler et à
garantir l'utilisation efficiente aussi, La nécessité de ces dispositifs varie de temps à
autre. Alors, ces institutions et ces entreprises ont commencé à chercher d'autres solutions
qui se basent sur deux facteurs importants qui sont: fournir des ressources et travailler de
manière efficace.
Il y'a beaucoup de solutions qui offrent ces deux facteurs, de ces solutions on a ce qu'on
appelle "cloud computing" ce qui offrent à l'utilisateur de nombreuses options pour les
services d'information à travers le Web.
Cloud computing (en français, l'informatique dans le nuage) est devenu un concept
majeur faisant référence à l'utilisation de la mémoire et des capacités de calcul des
ordinateurs et des serveurs répartis dans le monde entier et liés par un réseau, tel Internet .
Les utilisateurs (le plus souvent des entreprises, mais aussi vous ou nous) ne sont plus
propriétaires de leurs serveurs informatiques mais peuvent ainsi accéder de manière
évolutive à de nombreux services en ligne sans avoir à gérer l'infrastructure sous-jacente,
souvent complexe. Les applications et les données ne se trouvent plus sur l'ordinateur
local, mais sur le Cloud; composé d'un certain nombre de serveurs distants interconnectés
au moyen d'une excellente bande passante indispensable à la fluidité du système. L'accès
au service se fait par une application standard facilement disponible, la plupart du temps
un navigateur Web. Dans notre projet, on a choisi le service de stockage en cloud.
A la demande croissante pour l'utilisation des appareils mobiles tels que les téléphones
intelligents et les tablettes de différentes tailles, le concept de stockage de données a été
changé de sorte que le stockage local est déminué sur les disques dur de PC et les
smartphones, au même temps l'incrise de cloud stockage. Stockage Cloud offre plusieurs
caractéristiques, les plus importantes est: accès facile aux données à partir de n'importe
où vous êtes, et offrant une plus grande fiabilité et disponibilité, parce que elle est
protégée contre les catastrophes et dommages, ainsi que la possibilité de partager des
fichiers avec d'autres personnes et la coopération dans divers réalisations de différentes
activités.
Page 2
Problématique
A cause du cout élevé de serveur de stockage, leur gestion, sécurité et maintenance, en
plus elle a besoin de grands lieux à installer. D’un autre côté, notre université nécessite
une Grande espace de stockage pour leurs données tel que l’archive les documents
(livres, mémoires, cours ...etc.).comme le cloud offre une espace de stockage et une
sécurité élevée, on l'a choisi comme une solution.
A ces points, l’objectif de ce projet est de réaliser un cloud pour l’université d’El Oued.
Organisation de mémoire
Dans le premier chapitre, on a présenté une vue générale sur le cloud, en commençant par
les définitions de cloud, historique, éléments constitue de cloud. Après, on a passé vers
les modèles de services, et déploiement. Ensuite, on a présenté les modèles plateformes le
plus connu et comparaissant. On conclue par une présentation d’avantages et
inconvénients.
Le deuxième chapitre contient la présentation de plateformes choisis, et la justification de
notre choix, ainsi que la description et les caractéristiques de la plateforme.
Ensuite, dans le troisième chapitre on fait la conception et l’architecture générale, en
utilisant le langage de modélisation UML.
Enfin, dans le dernier chapitre nous présentons les moyens et les outils pour
l’implémentation de notre projet et illustre avec des exemples.
Page 3
Chapitre I :
Cloud computing, Etat de l'art
Page 4
I.1. Introduction Lorsque vous stockez vos photos en ligne plutôt que sur votre ordinateur à la maison, ou
de l'utilisation webmail ou d'un site de réseau social, vous utilisez un service de "cloud
computing". Si vous êtes une organisation, et que vous voulez utiliser, par exemple, un service de
facturation en ligne est un service de «cloud computing ».
Cloud computing fait référence à la livraison de ressources informatiques plus l'Internet.
Au lieu de garder des données sur votre propre disque dur ou la mise à jour applications pour vos
besoins, vous utilisez un service sur Internet, à un autre emplacement, pour stocker vos
informations ou utiliser ses applications.
Les synonymes du Cloud Computing en français sont : nuage informatique, l’informatique
virtuelle, informatique dans les nuages, informatique en nuage ou encore informatique
dématérialisée.
I.2. Définition Selon la définition du National Institute of Standards and Technology (NIST), le cloud
computing est l'accès via un réseau de télécommunications, à la demande et en libre-service, à
des ressources informatiques partagées configurables (réseaux, serveurs, stockage, applications et
services), qui peuvent être provisionnées rapidement et libérées avec un effort de gestion
minimale ou prestataire de services interaction. Ce modèle de nuage est composé de cinq
caractéristiques essentielles, trois modèles de services et quatre modèles de déploiement. [the
NEST 2011]
Pour CISCO Le Cloud Computing est une plateforme de mutualisation informatique
fournissant aux entreprises des services à la demande avec l’illusion d’une infinité de ressources.
[CISCO 2009]
Alors, le Cloud Computing est un concept qui consiste à transférer des fichiers ou des bases
de données sur des serveurs à distance, qui étaient auparavant stockés dans la machine de client.
Il permet d’accéder sur demande aux mêmes informations par plusieurs personnes.
Page 5
Figure I-1 : Cloud compting
I.3. Historique
Le Cloud Computing existait déjà sous différents noms comme « externalisation » et «
hébergement sur serveur». Mais la faible performance des processeurs employés, la lenteur des
connexions internet et les coûts exorbitants des matériels employés, ne permettaient pas
l’exploitation des services et des espaces de stockage. Et les progrès de la technologie actuelle
ont ouvert la voie pour ces opérations. Elle a apporté des serveurs nettement plus performants
mais moins coûteux. De plus, les connexions en hauts débits, ont permis un traitement plus rapide
des fluctuations des demandes.
Le Cloud Computing en version exploitable, est le fruit des investigations effectuées par
Amazon Web Services (IaaS) en 2002. Cette société leader du e-business, satisfaisait
régulièrement les grosses commandes ponctuelles sur son site, lors des fêtes de Noël. Elle a
investi dans un parc gigantesque de machines. Et ces dernières ne sont pas exploitées
correctement le reste de l’année. La diminution de la puissance du parc, ne pouvait pas résoudre
le problème. En effet, il subsistait toujours des pointes d’appels, lors des fêtes. Et l’indisponibilité
de leur site serait cruciale pour leurs affaires, car elle représentait la majorité de son chiffre
d’affaire. Ce sera un impact négatif difficile à rattraper.
L’idée est alors venue chez Amazon, de louer ces ressources à des entreprises, durant les
périodes hors fêtes, et à la demande. Le résultat ne s’est pas fait attendre, puisque les avantages
de ce concept sont nombreux pour les entreprises. Elles n’ont pas à se soucier de l’investissement
Page 6
en grosses machines, ou de la gestion de machines et d’hommes, alors que ses services sont
effectués dans les normes et au moindre coût.
Ses clients augmentent continuellement, et Amazon effectue des extensions de ses parcs et
de ses prestations pour satisfaire les demandes. D’autres sociétés de service IT comme Google et
Microsoft, ont suivi le courant. Elles se sont mises dernièrement à fournir des services identiques.
Il y a également FlexiScale, RackSpace et GoGrid. On les classe comme des fournisseurs
d’environnement Cloud. Selon l’Institut de consulting Gartner, une forte référence pour le
domaine, le Cloud Computing arrivera bientôt au même niveau d’affaire que celui du E-business
en son temps. 2013 était l’année de son adoption massive par les entreprises.
Beaucoup de gens utilise le Cloud quotidiennement sans le savoir. On le retrouve par
exemple dans toutes les versions de mails, Web mail, Hotmail, ou Gmail, dans les offices comme
le Word et l’excell de microsoft. Les usagers de ces moyens informatiques accèdent, grâce à
l’internet, à des ressources qu’ils ne peuvent pas situer physiquement. Ces accès, comme avec le
webmail, peuvent être gratuits, tandis que d’autres fonctionnent par abonnement. Pour ce dernier
cas, le service est garanti jusqu’à un certain niveau. L’abonné paye ce qu’il a consommé, comme
la facturation d’électricité ou d’eau. La différence, c’est que la consommation en Cloud est
pratiquement illimitée. [1]
I.4. Eléments constitutifs du Cloud Computing
I.4.1. La virtualization
La virtualisation consiste à faire fonctionner un ou plusieurs systèmes d'exploitation sur
un ou plusieurs ordinateurs. Cela peut sembler étrange d'installer deux systèmes
d'exploitation sur une machine conçue pour en accueillir qu'un, mais comme nous le verrons
par la suite, cette technique a de nombreux avantages.
Il est courant pour des entreprises de posséder de nombreux serveurs, tels que les serveurs
de mail, de nom de domaine, de stockage pour ne citer que ceux-ci. Dans un contexte
économique où il est important de rentabiliser tous les investissements, acheter plusieurs
machines physiques pour héberger plusieurs serveurs n'est pas judicieux. De plus, une
machine fonctionnant à 15 % ne consomme pas plus d'énergie qu'une machine fonctionnant à
90 %. Ainsi, regrouper ces serveurs sur une même machine peut donc s'avérer rentable si
leurs pointes de charge ne coïncident pas systématiquement.
Enfin, la virtualisation des serveurs permet un bien plus grande modularité dans la
répartition des charges et la reconfiguration des serveurs en cas d'évolution ou de défaillance
momentanée. [Noumsi 2012]
I.4.2. Datacenter
Un centre de traitement de données (data centre en anglais) est un site physique sur lequel
se trouvent regroupés des équipements constituants du système d'information de l'entreprise
Page 7
(mainframes, serveurs, baies de stockage, équipements réseaux et de télécommunications,
etc.). Il peut être interne et/ou externe à l'entreprise, exploité ou non avec le soutien de
prestataires. Il comprend en général un contrôle sur l'environnement (climatisation, système
de prévention contre l'incendie, etc.), une alimentation d'urgence et redondante, ainsi qu'une
sécurité physique élevée.
Cette infrastructure peut être propre à une entreprise et utilisée par elle seule ou à des fins
commerciales. Ainsi, des particuliers ou des entreprises peuvent venir y stocker leurs données
suivant des modalités bien définies. (Noumsi 2012)
I.4.3. Plateforme collaborative
Une plate-forme de travail collaboratif est un espace de travail virtuel. C'est un site qui
centralise tous les outils liés à la conduite d'un projet et les met à disposition des acteurs.
L'objectif du travail collaboratif est de faciliter et d'optimiser la communication entre les
individus dans le cadre du travail ou d'une tâche. Les plates-formes collaboratives intègrent
généralement les éléments suivant :
· Des outils informatiques
· Des guides ou méthodes de travail en groupe, pour améliorer la communication, la production,
la coordination.
· Un service de messagerie.
· Un système de partage de ressources et de fichiers.
· Des outils de type forum, pages de discussions
· Un trombinoscope, ou annuaire des profils des utilisateurs.
· Des groupes, par projet ou par thématique.
· Un calendrier. [Noumsi 2012]
I.5. Modèles de services Cloud
I.5.1. Software as a Service (SaaS)
Ce modèle de service est caractérisé par l’utilisation d’une application partagée qui
fonctionne sur une infrastructure Cloud. L’utilisateur accède à l’application par le réseau au
travers de divers types de terminaux (souvent via un navigateur web). L’administrateur de
l’application ne gère pas et ne contrôle pas l’infrastructure sous-jacente (réseaux, serveurs,
Page 8
applications, stockage). Il ne contrôle pas les fonctions de l’application à l’exception d’un
paramétrage de quelques fonctions utilisateurs limitées. On prend comme exemple les logiciels
de messagerie au travers d’un navigateur comme Gmail ou Yahoo mail. [2]
I.5.2. Platform as a Service (PaaS)
L’utilisateur a la possibilité de créer et de déployer sur une infrastructure Cloud PaaS ses
propres applications en utilisant les langages et les outils du fournisseur. .L’utilisateur ne gère pas
ou ne contrôle pas l’infrastructure Cloud sous-jacente (réseaux, serveurs, stockage) mais
l’utilisateur contrôle l’application déployée et sa configuration. Comme exemple de PaaS, on
peut citer un des plus anciens -Intuit Quickbase- qui permet de déployer ses applications bases de
données en ligne ou -Google Apps Engine (GAE)- pour déployer des services Web. Dans ces
deux cas l’utilisateur de ces services n’a pas à gérer des serveurs ou des systèmes pour déployer
ses applications en ligne et dimensionner des ressources adaptées au trafic. [2]
I.5.3. Infrastructure as a Service (IaaS)
L’utilisateur loue des moyens de calcul et de stockage, des capacités réseau et d’autres
ressources indispensables (partage de charge, pare-feu, cache). L’utilisateur a la possibilité de
déployer n’importe quel type de logiciel incluant les systèmes d’exploitation.
L’utilisateur ne gère pas ou ne contrôle pas l’infrastructure Cloud sous-jacente mais il a le
contrôle sur les systèmes d’exploitation, le stockage et les applications. Il peut aussi choisir les
caractéristiques principales des équipements réseau comme le partage de charge, les pare-feu, etc.
L’exemple emblématique de ce type de service est Amazon Web Services qui fournit du calcul
(EC2), du stockage (S3, EBS), des bases de données en ligne (SimpleDB) et quantité d’autres
services de base. Il est maintenant imité par de très nombreux fournisseurs. [2]
Figure I-2: modèles de services du Cloud Computing
Page 9
I.5.4. Avantages et Inconvénients des services
Avantage Inconvénient
SaaS
Pas d’installation
Plus de licence
Migration
Logiciel limité
Sécurité
Dépendance de prestataire
PaaS
Pas d'infrastructure
nécessaire
Pas d'installation
Environnement hétérogène
Limitation des langages
Pas de personnalisation dans la
configuration des machines
virtuelles
IaaS
Administration
Personnalisation
Flexibilité d'utilisation
Sécurité
Besoin d'un administrateur
système
Tableau I-1 : avantages et Inconvénients des services cloud
I.6. Modèles de déploiement
Certains distinguent quatre modèles de déploiement. Nous les citons ci-après bien que ces
modèles n’aient que peu d’influence sur les caractéristiques techniques des systèmes déployées.
I.6.1. Le cloud public
Un service dans le cloud public est l'équivalent d'un service sur Internet. L'infrastructure et
les applications du client sont hébergées chez un prestataire de services dans le cloud, à l'endroit
où celui-ci est installé. Le client n'a aucune visibilité ni aucun contrôle sur l'endroit où les
services sont hébergés dans le cloud. L'infrastructure principale est partagée par plusieurs
entreprises, mais les données et l'usage des applications sont séparés logiquement, de manière à
ce que seuls les utilisateurs autorisés y aient accès. Le service dans le cloud public intéresse les
décideurs car il réduit la complexité et les délais de mise en œuvre, imputables aux tests et au
déploiement de nouvelles applications. [3]
Page 10
Figure I-3: Cloud public
I.6.2. Le cloud privé
On parle de service dans le cloud privé, ou encore de cloud interne ou de cloud
d'entreprise, lorsque l'infrastructure informatique est hébergée sur une plateforme privée, dans le
centre de données du client. Cette infrastructure est dédiée à l'entreprise et n'est pas partagée avec
d'autres. La virtualisation est la clé de la mise en œuvre d'un cloud privé par les entreprises. Elle
permet aux entreprises d'économiser sur les coûts en utilisant l'infrastructure matérielle existante,
sans avoir à acquérir d'équipement supplémentaire, comme dans le cas du cloud public. La
grande différence, bien sûr, est que le cloud privé est situé dans les locaux du client et que celui-
ci peut mieux contrôler l'infrastructure. Il faut garder à l'esprit que le cloud privé offre également
des capacités à la demande, grâce auxquelles des services peuvent être ajoutés aussi rapidement
qu'il est nécessaire. [3]
Figure I-4:Cloud Privé
I.6.3. Le cloud hybride
Un service de cloud hybride combine le cloud privé et le cloud public. Dans le cas du
cloud hybride, l'entreprise garde certaines de ses opérations dans le cloud privé sur site et utilise
les services de cloud public chez un hébergeur pour les autres. Par exemple, pour une entreprise
qui a des besoins variables et travaille à la fois avec des données sensibles et non sensibles, le
cloud hybride donne le meilleur des deux configurations de cloud. L'approche hybride permet de
Page 11
bénéficier de l'extensibilité et de l'efficacité du cloud public, tout en conservant les applications
importantes sur un cloud privé. [3]
Figure I-5:Cloud Hybride
I.6.4. Le cloud communautaire
L'infrastructure Cloud est partagée par plusieurs organisations pour les besoins d’une
communauté qui souhaite mettre en commun des moyens (sécurité, conformité, etc..). Elle peut
être gérée par les organisations ou par une tierce partie et peut être placée dans les locaux ou à
l’extérieur. [2]
Figure I-6:Cloud Communautaire
Page 12
I.7. Plates-formes de Cloud Computing
I.7.1. Solution Open Source
I.7.1.1. OpenNebula
OpenNebula est une plate-forme de cloud computing pour la gestion hétérogène de données
distribuées infrastructures des centres. La plate-forme gère OpenNebula infrastructure virtuelle
d'un centre de données pour construire des implémentations privées, publics et hybrides de
l'infrastructure en tant que service(IaaS). OpenNebula est un logiciel libre et open-source. [5]
OpenNebula est soutenu par le projet européen RESERVOIR, qui propose une architecture
complète pour la gestion de Datacenter et la création de services Cloud. [6]
Les principes conception d’OpenNebula sont :
L'ouverture de l'architecture, interfaces, et le code.
Flexibilité pour se adapter dans ne importe quel centre de données.
L'interopérabilité et la portabilité pour prévenir lock-in fournisseur.
Stabilité pour l'utilisation dans des environnements de classe entreprise de production.
L'évolutivité d'infrastructures à grande échelle.
SysAdmin-centrisme avec un contrôle complet sur le cloud.
Simplicité, facile à déployer, exploiter et utiliser.
Légèreté pour une haute efficacité. [6]
I.7.1.2. Eucalyptus
Eucalyptus est un logiciel médiateur (anglais middleware) open-source pour
l'implémentation du cloud computing sur une grappe de serveurs (computer cluster). Son nom fait
référence à l'acronyme anglais « Elastic Utility Computing Architecture for Linking Your
Programs To Useful Systems » qui peut se traduire en « Utilitaire d'Architecture informatique
élastique pour relier vos programmes à des systèmes fonctionnels ». Eucalyptus est compatible
avec Amazon Web Services. Il est intégré dans la distribution Gnu/Linux Ubuntu 9.04 en tant
qu'outils de « cloud computing ». [7]
En Septembre 2014, Eucalyptus fut racheté par Hewlett-Packard. [7]
Ces Fonctionnalités sont :
Compatible avec Amazon Web Services API.
Installation et déploiement avec l'outil de gestion de grappe de serveurs Rocks Linux.
Communication sécurisée entre les processus interne via SOAP et WS-Security.
Outils d'administration basique.
Capacité à configurer de multiples grappes de serveurs comme un seul « cloud ». [7]
Page 13
I.7.1.3. OpenStack
OpenStack est un ensemble de logiciels open source permettant de déployer des
infrastructures de cloud computing (infrastructure en tant que service). La technologie possède
une architecture modulaire composée de plusieurs projets corrélés (Nova, Swift, Glance...) qui
permettent de contrôler les différentes ressources des machines virtuelles telles que la puissance
de calcul, le stockage ou encore le réseau inhérents au centre de données sollicité.
Le projet est porté par la Fondation OpenStack, une organisation non-commerciale qui a
pour but de promouvoir le projet OpenStack ainsi que de protéger et d'aider les développeurs et
toute la communauté OpenStack. C'est un logiciel libre distribué selon les termes de la licence
Apache.
En juillet 2010, Rackspace Hosting et la NASA ont lancé conjointement un nouveau projet
open source dans le domaine du cloud computing sous le nom d'OpenStack. L'objectif du projet
OpenStack est de permettre à toute organisation de créer et d'offrir des services de cloud
computing en utilisant du matériel standard. La première version livrée par la communauté, dont
le surnom est Austin, fut disponible seulement quatre mois après. Il est prévu de livrer
régulièrement des mises à jour logicielles à quelques mois d'intervalle.
OpenStack possède une architecture modulaire qui comprend de nombreux composants.
Voici la liste des composants dits intégrés à OpenStack.
Compute : Nova (application).
Object Storage: Swift (stockage d'objet).
Image Service : Glance (service d'image).
Dashboard : Horizon (interface Web de paramétrage et gestion).
Identity : Keystone (gestion de l'identité).
Network : Neutron (auparavant nommé Quantum) (gestion des réseaux à la demande).
Storage : Cinder (service de disques persistants pour les machines virtuelles).
Orchestration : Heat (service d'orchestration à base de template).
Telemetry : Ceilometer (service de métrologie notamment pour la facturation).
Database Service : Trove (Service de Base de donnée à la demande).
Data Processing : Sahara ( Service de Big data grâce à Hadoop ).
Il existe aussi des composants qui sont dits en incubation car ils ne sont pas encore
suffisamment stables pour être intégrés.
Ironic: Service de Bare Metal provisioning.
Manila: Service de gestion des systèmes de fichier partagés.
Zaqar: Service de Middleware à la demande.
Designate: Service de gestion des DNS.
Barbican: Service de gestion des clés et secrets.
Page 14
TripleO: OpenStack On OpenStack. Service de déploiement de cloud OpenStack grâce à
OpenStack. [8]
I.8.2. Solution propriétaire
I.8.2.1. Microsoft Azure
Microsoft Azure est le nom de la plate-forme applicative en cloud de Microsoft. Son nom
évoque le concept de « cloud computing » ou informatique en cloud (l'externalisation des
ressources informatiques d'une entreprise vers des datacenters distants). Il s'agit d'une offre
d'hébergement (applications et données) et de services (workflow, stockage et synchronisation
des données, bus de messages, contacts…). Le projet a été annoncé par le PDG de Microsoft
Steve Ballmer lors de sa Professional Developers Conference, qui se tenait du 26 au 30 octobre
2008 à Los Angeles. [9]
Il est organisé autour de quatre composants principaux :
AppFabric: il réalise le premier rôle de la plateforme. C'est la plateforme de développement des
applications entreprises qui seront externalisées vers le cloud.
Windows Azure: il réalise le second rôle de la plateforme. C'est lui qui déploie et exécute les
VM dans l'IaaS (grâce à son composant Frabric Controller conçu pour le système de
virtualisation Hyper-V).
SQL Azure : C'est le système de gestion de base de données d'Azure.
Marketplace : C'est une plateforme de vente et d'achat de composants logiciels développés sur
AppFabric. En effet, dans le but de faciliter les développements sur AppFabric, les clients
peuvent se procurer des briques logiciels prédéveloppées et mises en vente sur Marketplace.
[Akbi, Zehri 2013]
I.8.2.2. Redhat CloudForms
Est une plateforme propriétaire de Redhat permet de mettre en place un cloud privé, public
et hypride du type IAAS. [Akbi, Zehri 2013]
Le fonctionnement de CloudForms s’appuyé sur cinq composants principale voir :
Cloud interface : fournit l'interface principale pour les utilisateurs de CloudForms, Une API est
également disponible en tant que méthode d'accès alternatif.
Content Provision Management : fournie par le composant Katello qui fournit une collection
des logiciels qui alimente l’image, lors de la construction et la modification des images. Ce
contenu peut provenir d'une variété de ressources
Page 15
Application Description Generation : est l'ensemble des fonctionnalités qui permet au
consommateur de Cloud pour créer une recette décrivant une application qu'ils souhaitent
déployer.
Image Lifecycle Management : permet de crée, stocke et conserve les images, elle est assurée
par des multiples produits composants:
• Conductor
• Image Factory
• Image Warehouse
Application Lifecycle Management : permet au consommateur de Cloud pour contrôler l'état
des instances dans le cloud, soit le lancement, l'arrêt, la surveillance, son fonctionnement est
assuré par plusieurs composant :
• Conductor
• Condor
• Audrey
• Deltacloud
• Image Warehouse [Akbi, Zehri 2013]
I.8.2.3. Amazon S3
Amazon Simple Storage Service (Amazon S3) offre aux développeurs et aux équipes
informatiques un espace de stockage d'objets sécurisé, durable et hautement évolutif. Amazon S3
est facile à utiliser et doté d'une interface de services Web simple pour stocker et récupérer toute
quantité de données depuis n'importe où sur le Web. Avec Amazon S3, vous ne payez que le
stockage que vous utilisez réellement. Il n'y a aucun frais minimum ni frais d'installation.
Amazon S3 peut être utilisé seul ou conjointement avec d'autres services AWS tels
qu'Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Block Store (Amazon EBS)
et Amazon Glacier, ainsi qu'avec des passerelles et des référentiels de stockage tiers. Amazon S3
fournit un espace de stockage d'objets économique pour de nombreux et divers cas d'utilisation,
notamment les applications dans le cloud, la distribution de contenu, la sauvegarde et l'archivage,
la reprise après sinistre et les analyses Big Data. [10]
I.9. comparaison entre OpenStack vs AWS
Caractéristique OpenStack Amazon Web Service
Stockage Bien ; juste l’essentiel, espace
de stockage partagé.
Très bien ; un service spécial
S3.
Hyperviseur Xen,KVM Xen,KVM,VMware
Réseau
Vous pouvez créer des réseaux et
des fonctions de mise en réseau,
par exemple. Forwarding L3,
NAT, pare-feu de pointe, et IPsec
VPN.
Routeurs ou commutateurs
virtuels peuvent être ajoutés.
Orientation Cloud public et privé. Cloud public et privé.
Page 16
Sécurité
Très bien ; Lorsque vous
lancez une machine virtuelle,
vous pouvez injecter une paire
de clés, qui offre un accès SSH
à votre instance.
Très bien ; Pour vous
connecter à votre exemple,
indiquer le nom de la paire de
clés lorsque vous lancez
l'instance, et de fournir la clé
privée lorsque vous vous
connectez à l'instance.
Installation Facile ; installation
automatisée et documentée.
Facile ; installation très facile.
Documentation
Excellente ; site bien fourni et
facile d’accès avec à la fois un
wiki contenant l’essentiel et
une documentation officielle
disponible et très détaillée.
Excellente ; site bien fourni et
facile d’accès, contenant
l’essentiel et une
documentation officielle
disponible et très détaillée.
Langage supporté Python Ruby, Python, C, java, PHP
Flexibilité
Bonne ; OpenStack se décline
en deux versions : une version
orientée stockage et une
version orientée applications,
ce qui permet d’adapter le
cloud à ses besions.
Très bonne ; tant que l’on
reste dans une architecture
classique, sa grande modularité
est un atout qui permet de
facilement le déployer sur une
architecture multi-sites et
permet également de l’étendre
à la demande.
simplicité
Bonne ; en effet, grâce à la
documentation et les scripts
d’installation fortement
commentés tout se passe bien
en suivant le pas-à-pas du
wiki.
Très bonne ; Arpège Web
Suite est une solution simple
d'utilisation, organisée sous
forme de menus qui parlent à
l'utilisateur.
Tableau I-2 : comparaison entre OpenStack vs AWS
I.10. Conclusion
On conclusion, nous donnons les avantages et les inconvénients de coud computing.
Les avantages :
Un démarrage rapide :
Le cloud computing permet de tester le business plan rapidement, à coûts réduits
et avec facilité.
Page 17
L'agilité pour l'entreprise :
La résolution des problèmes de gestion informatique simplement sans avoir à vous
engager à long terme.
Un développement plus rapide des produits :
La réduction du le temps de recherche pour les développeurs sur le paramétrage des
applications.
Pas de dépenses de capital :
On a plus besoin des locaux pour élargir vos infrastructures informatiques.
Les inconvénients :
La bande passante peut faire exploser votre budget :
La bande passante qui serait nécessaire pour mettre cela dans le Cloud est
gigantesque, et les coûts seraient tellement importants qu'il est plus avantageux
d'acheter le stockage nous-mêmes plutôt que de payer quelqu'un d'autre pour s'en
charger.
Les performances des applications peuvent être amoindries :
Un Cloud public n'améliorera définitivement pas les performances des applications.
La fiabilité du Cloud :
Un grand risque lorsqu'on met une application qui donne des avantages compétitifs
ou qui contient des informations clients dans le Cloud.
Taille de l'entreprise :
Si l’entreprise est grande alors les ressources sont grandes, ce qui inclut une
grande consommation du cloud. Les concepteurs trouvent peut-être
plus d'intérêt à mettre au point un Cloud privé plutôt que d’utiliser un externalisé.
Les gains sont bien plus importants quand on passe d'une petite consommation
de ressources à une consommation plus importante.
Page 18
Chapitre II :
Architecture de cloud computing
Page 19
II.1. Introduction
Pour la gestion de bibliothèque on a besoin d’un service de stockage, il y a
plusieurs plateformes qui assurent le stockage et la gestion de données et métadonnées
dans le cloud par exemple, Google Storage, Amazon Simple Storage Service (S3),
Dropbox , et notre choix sera Amazon S3 . Dans ce chapitre on va voir pourquoi on a
choisi (Amazon S3)?
II.2. Amazon Web Services
Amazon Web Services (AWS) est une collection de services informatiques
distants (aussi appelés services Web) fournis via internet par le
groupe américain de commerce électronique Amazon.com. [13]
II.3. Liste de services AWS
Amazon Elastic Compute Cloud (EC2), fournissant des serveurs virtuels évolutifs
utilisant Xen.
Amazon Virtual Private Cloud, fournissant un réseau virtuel privé au sein d'AWS.
Amazon Elastic Block Store (EBS), fournissant un niveau de blocs persistants pour
les volumes de stockage EC2.
Amazon Simple Storage Service (S3), fournissant un stockage basé sur les services
web.
Amazon Glacier, fournissant un stockage basé sur les services web. Ce service est
moins dispendieux qu’Amazon S3 et il est destiné aux données rarement accédées.
Amazon Simple Queue Service (SQS), fournissant un fil de messages hébergés pour
les applications web.
Amazon Simple Email Service (SES), service d'envoi en nombre et transactionnel
d'emails.
Amazon Mechanical Turk (Mturk), gérant des petites unités de travail distribué à de
nombreuses personnes.
Alexa Web Services, fournissant des données de trafic, des vignettes et d'autres
informations à propos des sites web.
Amazon Associates Web Service (A2S, anciennement Amazon E-Commerce
Service ou ECS), fournissant un accès aux données produit d'Amazon et des données
de commerce électronique.
Page 20
Amazon Historical Pricing, fournissant un accès à l'historique des prix d'Amazon
pour ses affiliés.
Amazon Flexible Payments Service (FPS), actuellement en beta fermée, fournissant
une interface pour le micropaiement.
Amazon DevPay, actuellement en beta fermée, est un système de facturation et de
gestion de comptes pour les applications que les développeurs ont conçu avec les
Amazon Web Services.
Amazon SimpleDB, actuellement en beta fermée, permet aux développeurs
d'exécuter des requêtes sur des données structurées. Il fonctionne de concert avec
AC2 et S3 pour fournir "les fonctionnalités d'un noyau de base de données"
Amazon AWS Authentication est un service implicite, l'infrastructure
d'autentification utilisée pour authentifier l'accès aux différents services.
Amazon Fulfillment Web Service fournit une API pour les vendeurs pour expédier
des articles vers et depuis Amazon.
Amazon CloudFront, un Content Delivery Network (CDN) pour distribuer des
objets stockés sur S3 vers un emplacement proche de l'appelant.
AWS Management Console (AWS Console), est une interface point and click basé
sur le web pour gérer et surveiller les infrastructures Amazon,
incluant EC2, EBS, S3, et SQS.
II.4. Description d'Amazon S3
Amazon S3 stocke les données en tant qu'objets dans des ressources appelées
« compartiments ». Vous pouvez stocker autant d'objets que vous le souhaitez au sein
d'un compartiment, et écrire, lire et supprimer des objets dans votre compartiment. Les
objets peuvent atteindre une taille maximale de 5 téraoctets.
Vous pouvez contrôler l'accès au compartiment (les utilisateurs autorisés à créer,
supprimer et récupérer les objets dans le compartiment par exemple), consulter les
journaux d'accès au compartiment et à ses objets et choisir la région AWS (Amazon Web
Services) où est stocké un compartiment pour optimiser la latence, limiter les coûts et
répondre aux exigences réglementaires. [11]
Page 21
II.5. Caractéristiques principales
II.5.1. Protection des données
Les données stockées dans Amazon S3 sont sécurisées par défaut ; seuls les
propriétaires du compartiment et de l'objet ont accès aux ressources Amazon S3 qu'ils
créent. Amazon S3 prend en charge plusieurs mécanismes de contrôle d'accès, ainsi que
le cryptage à la fois pour un transit sécurisé et un stockage sécurisé au repos. Avec les
fonctions de protection de données d'Amazon S3, vous pouvez protéger vos données à la
fois de pannes logiques et physiques, parer à la perte de données à la suite d'actions
utilisateurs involontaires, des erreurs d'applications et des pannes d'infrastructure. Pour
les clients qui doivent se conformer aux normes réglementaires telles que PCI et HIPAA,
les fonctions de protection de données d'Amazon S3 peuvent être utilisées comme partie
d'une stratégie globale pour atteindre la conformité. Les diverses fonctions de sécurité et
de fiabilité offertes par Amazon S3 sont décrites en détail ci-dessous. [11]
II.5.2. Mécanismes de contrôle d'accès flexibles
Amazon S3 prend en charge plusieurs mécanismes qui vous donnent la possibilité
de contrôler les personnes qui peuvent accéder à vos données et de connaître la manière,
le moment et le lieu où elles le font. Amazon S3 fournit quatre mécanismes de contrôle
d'accès différents : les politiques d'AWS Identity and Access Management (IAM),
Access Control Lists (ACL), les politiques de compartiment et l'authentification par
chaîne d'interrogation. IAM permet aux organisations de créer et gérer des utilisateurs
multiples sous un seul compte AWS. Avec les politiques IAM, vous pouvez autoriser aux
utilisateurs IAM un contrôle dense sur votre compartiment ou objets Amazon S3. Vous
pouvez utiliser les listes de contrôle d'accès pour ajouter (accorder) sélectivement
certaines autorisations sur des objets individuels. Les politiques de compartiment
Amazon S3 peuvent être utilisées pour ajouter ou refuser des autorisations au travers
certains ou tous les objets dans un seul compartiment. Avec l'authentification par chaîne
d'interrogation, vous avez la capacité de partager des objets Amazon S3 par le biais
d'URL qui sont valides pendant une durée prédéfinie. [11]
II.5.3. Journaux d'audit
Amazon S3 supporte aussi la journalisation de requêtes faites contre vos
ressources Amazon S3. Vous pouvez configurer votre compartiment Amazon S3 pour
créer des enregistrements de journal d'accès pour les requêtes faites conte lui. Ces
journaux d'accès serveur capturent toutes les requêtes faites contre un compartiment ou
les objets à l'intérieur et peuvent être utilisé dans le but d'un audit. [11]
Page 22
II.5.4. Contrôle de version
Amazon S3 fournit encore plus de protection par l'intermédiaire de la
fonctionnalité de contrôle de version. Vous pouvez utiliser le contrôle de version pour
préserver, récupérer et restaurer chaque version de chaque objet stocké dans votre
compartiment Amazon S3. Ceci vous permet de récupérer facilement les objets perdus
suite à des actions involontaires d'utilisateurs et des défaillances d'applications. Par
défaut, les demandes récupéreront la version écrite la plus récente. Les versions plus
anciennes d'un objet peuvent être récupérées en indiquant une version dans la demande.
Les taux de stockage s'appliquent pour chaque version stockée. Vous pouvez configurer
des règles de cycle de vie pour contrôler automatiquement la durée de vie et le coût de
stockage de plusieurs versions. [11]
II.5.5. Suppression authentification multi-facteurs
Amazon S3 fournit un niveau de sécurité supplémentaire avec l'option
Suppression authentification multi-facteurs (MFA). Lorsque cette fonctionnalité est
activée, elle requiert l'utilisation d'un appareil d'authentification multi-facteurs pour
supprimer des objets stockés dans Amazon S3 afin de vous aider à protéger les versions
précédentes de vos objets.
En activant l'option Suppression MFA sur votre compartiment Amazon S3, vous
pouvez uniquement modifier l'état du contrôle de version de votre compartiment ou
supprimer de façon définitive la version d'un objet lorsque vous fournissez deux
formulaires d'authentification conjointement :
Vos identifiants de compte AWS
L'enchaînement d'un numéro de série valide, d'un espace et du code à six chiffres
affiché sur un appareil d'authentification approuvé [11]
II.5.6. Notifications d'événements
Les notifications d'évènements Amazon S3 peuvent être envoyées en réponse à
des actions réalisées sur des objets chargés ou stockés sur Amazon S3. Les messages de
notification peuvent être diffusés via Amazon SNS ou Amazon SQS, ou être transmis
directement à AWS Lambda pour appeler des fonctions AWS Lambda.
Les notifications d'événements Amazon S3 vous permettent d'exécuter des flux de
travail, d'envoyer des alertes ou de réaliser d'autres actions en réponse aux modifications
apportées à vos objets stockés dans Amazon S3. Vous pouvez utiliser les notifications
Page 23
d'événements Amazon S3 pour configurer des déclencheurs en vue de réaliser des actions
telles que le transcodage de fichiers multimédia lorsqu'ils sont chargés, le traitement des
fichiers de données lorsqu'ils sont disponibles, et la synchronisation des objets
Amazon S3 avec d'autres magasins de données. Vous pouvez également configurer des
notifications d'événements en fonction des préfixes et suffixes de noms d'objet. [11]
II.5.7. Durabilité et fiabilité des données
Amazon S3 offre une infrastructure de stockage hautement durable, pensée pour
le stockage de données primaires et essentielles. Amazon S3 stocke les données de façon
redondante sur plusieurs sites et sur des périphériques multiples sur chaque site. Pour
accroître la durabilité, Amazon S3 stocke vos données de façon synchrone sur différentes
installations avant d'indiquer que les données ont bien été stockées. De plus, Amazon S3
calcule les totaux de contrôle sur tout le trafic du réseau pour détecter d'éventuels
compartiments de données endommagées lors du stockage ou de la récupération des
données. Contrairement aux systèmes classiques qui requièrent de lourdes opérations de
vérification et de réparation manuelles des données, Amazon S3 effectue des vérifications
régulières et systématiques de l'intégrité de vos données. De plus, sa conception lui
permet de réaliser une auto-régénération automatique.
Le stockage Amazon S3 standard est:
Renforcé par l'Accord de niveau de service Amazon S3 en termes de disponibilité.
Conçu pour fournir aux objets une durabilité de 99,999999999 % et une disponibilité
de 99,99 % sur une période d'un an.
Conçu pour résister à la perte simultanée de données dans deux installations. [11]
II.5.8. Stockage RRS (Reduced Redundancy Storage)
Le stockage à redondance réduite (RRS) est une option de stockage d'Amazon S3
qui permet aux clients de réduire leurs coûts en stockant les données non critiques et
reproductibles à des niveaux de redondance inférieurs à ceux du stockage standard
Amazon S3. Il fournit une solution économique et hautement disponible pour distribuer
ou partager du contenu durablement stocké ailleurs, ou pour stocker des miniatures, des
contenus multimédias transcodés ou d'autres données traitées et faciles à reproduire.
L'option RRS stocke les objets sur plusieurs périphériques dans différentes installations,
fournissant 400 fois la durabilité d'un disque dur classique, mais ne réplique pas les objets
autant de fois que le stockage standard Amazon S. [11]
Page 24
II.5.9. Gestion de vos données
Amazon S3 facilite la gestion de vos données. Grâce aux fonctions d'Amazon S3
gérant le cycle de vie de vos données, vous pouvez archiver automatiquement des objets
dans le stockage Amazon Glacier à moindre coût ou effectuer des suppressions
récurrentes, ce qui vous permet de limiter vos dépenses tout au long de la durée de vie
d'un objet. Amazon S3 vous permet également de surveiller et de contrôler les coûts de
vos différents postes métier. Toutes ces fonctionnalités de gestion sont très faciles à
administrer à l'aide des API Amazon S3 ou de sa console. Les diverses fonctionnalités de
gestion des données proposées par Amazon S3 sont décrites en détail ci-après. [11]
II.5.10. Gestion du cycle de vie des données
La gestion du cycle de vie des données concerne la façon dont vos données sont
gérées et stockées, depuis leur création et leur stockage jusqu'au moment où elles
deviennent obsolètes et sont supprimées. Amazon S3 fournit diverses fonctionnalités
permettant de simplifier la gestion du cycle de vie des données, en ce qui concerne
notamment l'administration de la capacité de stockage, l'archivage automatique visant à
réduire les coûts de stockage ou encore les suppressions programmées.
Lorsque vous devez stocker de nouvelles données, vous n'avez plus besoin de
planifier la capacité de stockage. En effet, Amazon S3 vous permet non seulement de
l'adapter à la demande, mais aussi de ne payer qu'en fonction de votre utilisation réelle.
Avec les systèmes de stockage classiques, la planification de la capacité peut être à
l'origine de nombreuses erreurs, en particulier lorsque la croissance des besoins de
stockage est imprévisible, comme c'est souvent le cas. En sur dimensionnant vos
capacités de stockage, vous vous exposez à un risque de sous-utilisation et à des coûts
élevés et, inversement, avec un dimensionnement insuffisant, vous devrez probablement
réaliser une mise à niveau matérielle onéreuse plus tôt que prévu.
Au fil du cycle de vie de vos données, lorsque votre matériel présente des
défaillances ou arrive en fin de vie, Amazon S3 se charge de migrer vos données, de
façon automatique et entièrement transparente, vers de nouveaux supports matériels.
Ainsi, vous n'avez plus besoin d'effectuer la moindre migration matérielle risquée,
onéreuse et chronophage. Amazon S3 vous permet également d'archiver
automatiquement vos données à mesure qu'elles arrivent en fin de cycle, afin de réduire
vos coûts de stockage. Vous pouvez définir des règles visant à archiver automatiquement
des ensembles d'objets Amazon S3 dans Amazon Glacier, en fonction de leur durée de
vie. Les règles d'archivage des données sont prises en charge pour les objets Amazon S3
Page 25
dans les régions USA Standard, USA Ouest (Californie du Nord), USA Ouest (Oregon),
UE (Irlande), UE (Francfort) et Asie-Pacifique (Japon).
Lorsque vos données arrivent en fin de vie, Amazon S3 fournit des options de
programmation pour la suppression de volumes importants et l'exécution de suppressions
récurrentes. Pour les suppressions récurrentes, des règles peuvent être définies de sorte à
effacer des ensembles d'objets après un intervalle de temps prédéfini. Ces règles peuvent
s'appliquer aux objets standards, aux objets RRS ou aux objets archivés dans
Amazon Glacier.
Vous pouvez définir des règles de cycle de vie sur les versions de vos objets
Amazon S3 afin d'en réduire les coûts de stockage. Vous pouvez, par exemple, créer des
règles pour supprimer automatiquement les anciennes versions de vos objets quand
celles-ci ne sont plus nécessaires. Vous pouvez également créer des règles pour archiver
automatiquement les anciennes versions de la classe de stockage Glacier, afin de réduire
vos coûts de stockage. [11]
II.6. Pourquoi Amazon S3 ?
II.6.1. Architecture
Les détails de l'architecture du service Amazon S3 n'ont pas été révélés par
Amazon. Selon Amazon, l'architecture a été conçue pour fournir extensibilité,
disponibilité, rapidité d'accès et prix abordable.
Amazon S3 accepte des fichiers informatiques jusqu'à 5 téraoctets ayant
des métadata allant jusqu'à 2 kilooctets. [12]
II.6.2. Croissance
Année Nombre de fichiers
Octobre 2007 10 milliards
Octobre 2008 29 milliards
Aout 2009 64 milliards
Mars 2010 102 milliards
Juin 2012 1000 milliards
Tableau II-1 : Nombre de fichiers informatiques enregistrés sur Amazon S3
Page 26
II.6.3. Exemples d’utilisation
Le site d'hébergement de photos SmugMug a utilisé le service depuis avril 2006.
Au début le site a expérimenté des pannes et des ralentissements, mais après un an, le site
décrivait S3 comme considérablement plus fiable que son stockage interne et affirmait
avoir réalisé des économies de près de 1 million de dollars.
Dropbox, StoreGrid, SyncBlaze, Tahoe-LAFS -on-S3, Zmanda et Ubuntu
One sont quelques-uns des nombreux services de stockage en ligne et synchronisation qui
utilisent S3 pour le stockage et le transfert de fichiers.
Minecraft héberge les mises à jour de ses jeux et les habillages des joueurs sur les
serveurs de S3.
LogicalDOC, le système de gestion électronique des documents fournit un outil
pour la reprise après sinistre basée sur S3.
S3 a été utilisé par quelques compagnies comme solution de stockage à long
terme jusqu'à l'apparition du service Amazon Glacier en 2012, lequel permet des
économies de 90 %, au prix d'une augmentation du temps d'accès à quelques heures. [12]
II.7. Conclusion
Afin de voir les caractéristiques et les moyens d’Amazon S3, on conclut qu’il est
l’un de meilleur choix pour assurer et garantir notre travail. On observe qu’en 2012, plus
1000 milliards de fichiers sont stockés sur S3, ce que veut dire les utilisateurs de net on
fait confiance à ce plateforme.
Page 27
Chapitre III :
Conception et Architecture générale
Page 28
III.1. INTRODUCTION
Les techniques de programmation n’ont cessé de progresser depuis l’époque de la
programmation en langage binaire à nos jours. Cette évolution a toujours été dictée par le
besoin de concevoir et de maintenir des applications toujours plus complexes.
La taille des applications ne cessant, alors, de croître, la programmation
structurée(Pascal en 1970, C en 1972, Modula et Ada en 1979, …) a également rencontré
ses limites, faisant alors place à la programmation orientée objet (Simula 67 en 1967,
Smalltalk en 1976, C++ en 1982, Java en 1995, …). La technologie objet est donc la
conséquence ultime de la modularisation dictée par la maîtrise de la conception et de la
maintenance d’applications toujours plus complexes. Cette nouvelle technique de
programmation a nécessité la conception de nouvelles méthodes de modélisation.
[Ahmed, Introduction à UML, 2011]
Notre travail consiste à réaliser un cloud computing sur le Web de l’université
d’El-oued. Afin de pouvoir atteindre notre objectif, il est indispensable de procéder par
des méthodes d’analyse et modélisation, qui nous permet d’analyser la situation et de
spécifier les besoins et les tâches à réaliser. Dans ce qui suit, on va présenter le langage
de modélisation UML et la démarche à suivre dans le processus de développement de
notre solution.
III.2. LANGUAGE UML :
III.2.1. Définition UML
UML (Unified Modeling Language) c’est-à-dire, langage unifié pour la
modélisation. C’est une notation graphique (Ce n’est pas une méthode) destinée à la
création de modèles orientés objet en vue de l’analyse et de la modélisation de logiciels
orientés objet. [Ahmed, balicours, 2011]
Un langage de Modélisation (standard).
Basé sur une approche solide Objecter.
Un support important de stratégies et d’heuristiques.
Page 29
Adapté au développement Objet.
Adapté au développement Itératif.
Adaptable au processus d’une équipe.
Supporté par des outils.
III.2.2.Pourquoi UML ?
Obtenir une modélisation de très haut niveau indépendante des langages et des
environnements.
Faire collaborer des participants de tous horizons autour d'un même document de
synthèse.
Faire des simulations avant de construire un système.
Exprimer dans un seul modèle tous les aspects statiques, dynamiques, juridiques,
spécifications, etc...
Documenter unprojet.
Générer automatiquement la partie logicielle d'un système. [D.Revuz, 2004]
III.2.3. Les diagrammes UML
UML 2.0 comporte treize types de diagrammes représentant autant de vues
distinctes pour représenter des concepts particuliers du système d’information. Ils se
répartissent en deux grands groupes :
III.2.3.1. Diagrammes structurels ou diagrammes statiques (UML
Structure)
diagramme de classes (Class diagram)
diagramme d’objets (Object diagram)
diagramme de composants (Component diagram)
diagramme de déploiement (Deploymentdiagram)
Page 30
diagramme de paquetages (Package diagram)
diagramme de structures composites (Composite structure diagram) [Ahmed,
Introduction à UML, 2011]
III.2.3.2. Diagrammes comportementaux ou diagrammes dynamiques
(UML Behavior)
diagramme de cas d’utilisation (Use case diagram)
diagramme d’activités (Activitydiagram)
diagramme d’états-transitions (State machine diagram)
Diagrammes d’interaction (Interaction diagram)
diagramme de séquence (Sequencediagram)
diagramme de communication (Communication diagram)
diagramme global d’interaction (Interaction overviewdiagram)
diagramme de temps (Timing diagram)
Méthode d’analyse : Processus unifié
Définition
Le processus unifié est un processus de développement logiciel itératif, centré sur
l'architecture, piloté par des cas d'utilisation et orienté vers la diminution des risques.
C'est un patron de processus pouvant être adapté à une large classe de systèmes logiciels,
à différents domaines d'application, à différents types d'entreprises, à différents niveaux
de compétences et à différentes tailles de l'entreprise.
Vie du processus unifié
L'objectif d'un processus unifié est de maîtriser la complexité des projets informatiques
en diminuant les risques.
UP est un ensemble de principes génériques adapté en fonctions des spécificités des
projets. UP répond aux préoccupations suivantes :
Page 31
QUI participe au projet ?
QUOI, qu'est-ce qui est produit durant le projet ?
COMMENT doit-il être réalisé ?
QUAND est réalisé chaque livrable ? [16]
III.3. Spécification des besoins fonctionnels :
III.3.1. Acteurs et taches :
Le tableau ci-après récapitule l'ensemble des cas d'utilisation qui seront détaillés par la
suite, en mettant en exergue les notions suivants : acteur, diagramme de cas d'utilisation,
les enchaînements (scénarios), le diagramme de séquence, le diagramme d'activité.
Acteurs Tâches
Administrateur
Créer un compte
Ménager un compte
Charger un fichier
Télécharger un fichier
Consulter un fichier
Gérer un utilisateur
Utilisateur
Ménager un compte
Charger un fichier
Télécharger un fichier
Consulter un fichier
Visiteur Créer un compte
Consulter un fichier
Tableau III-1 : Les tâches des acteurs.
Page 32
III.3.2. Les Diagrammes de cas utilisation
III.3.2.1. Général
Le diagramme de cas d'utilisation général illustre la structure des grandes
fonctionnalités nécessaires aux utilisateurs du système. Il permet de recueillir, d’analyser
et d’organiser les besoins.
Notre diagramme de cas d'utilisation est représenté dans la figure Suivante:
Figure III-1 : Diagramme de cas utilisation générale de notre système.
III.3.2.2. Diagrammes des cas d'utilisation détaillées par acteur
III.3.2.2.1. Diagramme de cas utilisation d'Administrateur
L'acteur "Admin" peut faire les taches (fonctions) suivantes :
Créer un compte: l'administrateur peut créer un compte d'utilisateur, et dans ce cas il
devient un utilisateur normal avec les mêmes aptitudes que les autres utilisateurs.
Gérer un compte d'utilisateur: l'administrateur peut gérer les comptes d'utilisateurs, il
peut accepter ou refuser une demande de créer un nouveau compte ainsi peut envoyer des
notifications vers les utilisateurs.
Gestion des fichiers: l'administrateur peut gérer les fichiers, il peut consulter, charger,
télécharger et supprimer un fichier.
Page 33
Le diagramme de cas d'utilisation d'admin est représenté dans la figure Suivante:
Figure III-2 : Diagramme de cas utilisation d'Admin.
III.3.2.2.2. Diagramme de cas d'utilisation d'utilisateur
L'acteur "Utilisateur" peut faire les taches (fonctions) suivantes :
Ménager un compte: l'utilisateur peut modifier ou supprimer son compte après
l'authentification et l'accusée de l'administrateur.
Gestion des fichiers : l'utilisateur peut consulter, charger et télécharger un fichier après
l'authentification et l'accusée de l'administrateur.
Le diagramme de cas d'utilisation d'utilisateur est représenté dans la figure Suivante:
Page 34
Figure III-3 : Diagramme de cas utilisation d'utilisateur.
III.3.2.2.3. Diagramme de cas d'utilisation de visiteur
L'acteur "Visiteur" peut faire les taches (fonctions) suivantes :
Créer un compte: un visiteur peut créer un compte après l'authentification et l'accusée
de l'administrateur il devient un utilisateur.
Consulter détails des fichiers : un visiteur peut aussi consulter les détails d’un fichier.
Le diagramme de cas d'utilisation d'utilisateur fait l’objet de la figure Suivante:
Page 35
Figure III-4 : Diagramme de cas utilisation de visiteur.
III.3.3. Diagramme de séquence et d’activité
Scénario:
Après la connexion au système et la vérification de l’information de compte
par l’application, l’administrateur accepte ou refuse les nouveaux comptes que les
visiteurs en créer.
L’administrateur a deux façons pour charger un fichier dans le cloud, la
première est d’accédé directement au cloud et le charger. La deuxième, est en utilisant
l’application qui connecte avec le cloud. Si le fichier est chargé correctement la S3
envoie un message de réussite, si non un message d’erreur est affiché.
Page 36
Figure III-5: Diagramme de séquence de chargement un fichier pour l’administrateur
Aussi pour le téléchargement, il y a de moyen : par application, il choisit un
fichier pour télécharger, l’application demande de S3 d’envoyer le fichier choisi, elle
renvoie le fichier et puis l’administrateur peut télécharger. Ou directement par
connexion à l’Amazon S3. Avant le téléchargement, il peut consulter les détails de
fichier, aussi consulter les informations d’utilisateur et envoie des notifications.
Page 37
Figure III-6: Diagramme de séquence de téléchargement un fichier pour
l’administrateur
Figure III-7: Diagramme de séquence de regarder les détails d’un fichier
Figure III-8: Diagramme de séquence de regarder l’information d’un utilisateur
Page 38
D’autre part, quand un utilisateur veut charger un fichier, d’abord
l’administrateur doit donner l’autorisation à l’utilisateur pour charger le fichier. Par la
suite, l’application envoie le fichier au plateforme Amazon S3, et de son côté le cloud
renvoie un message qui confirme le chargement ou l’infirme.
Figure III-9: Diagramme de séquence de chargement un fichier pour l’utilisateur
Avant de télécharger un fichier, l’utilisateur peut consulter les détails de
fichier. Après le choix de fichier à télécharger, l’application demande de S3 d’envoyer
le URL de fichier. Enfin, Le cloud envoie le fichier.
Figure III-10: Diagramme de séquence de téléchargement un fichier pour
l’utilisateur
Page 39
Finalement, un visiteur peut créer un compte ; l’application vérifie les
informations données par le visiteur. Ensuite, envoie un message à l’administrateur
pour qu’il autorise le compte. Aussi, il peut consulter un fichier.
Figure III-11: Diagramme de séquence de création de compte
On peut aussi présenter les activités possibles dans le diagramme d’activités suivant :
Figure III-12: Diagramme d’activité
Page 40
III.3.4. Diagramme de classe
D'étude et de diagrammes précédents nous pouvons dessiner le diagramme de
classe de notre système.
On trouve dans ce diagramme les classes suivant avec leurs attributs :
Classe Attribut
Fichier -cod_fich
-titre
-auteur
-année
-niveau
-lien
Utilisateur -id_user
-nom_user
Compte -id_cmp
-mot_pass
-type (administrateur, utilisateur)
Département -num_dep
-nom_dep
Faculté -num_fac
-nom_fac
Spécialité -cod_spe
-nom_spe
Tableau III-1 : Les classes et les Attributs
Page 41
Figure III-13: Diagramme de classe
III.4. Conclusion
Dans le but de faciliter l'implémentation de notre solution, dans ce chapitre, nous
avons présenté la démarche de modélisation avec des digrammes en UML afin de définir
un modèle de données et un modèle de traitements et des activités pour notre application.
Les résultats de ce chapitre seront utilisés et enrichis par des détails d'implémentation
dans le chapitre suivant pour la phase de réalisation.
Page 42
Chapitre IV :
Implémentation
Page 43
IV.1. Introduction
Les chapitres précédents, ont abordés une étude théorique et conceptuelle d’un
cloud computing. D Le présent chapitre donne les étapes de mettre en œuvre la solution
proposée et la configuration pratique de plateforme choisi.
Premièrement, on a parlé de langage de programmation que nous avons utilisé et
les outils logiciel. Ensuite, comment faire pour s’inscrire dans la plateforme de cloud
d’Amazon Web Service. On a fait une fait une explication détaillée de configuration et
l’exploitation de plateforme dans notre solution, tel que la gestion de bucket, stockage,
contrôle et récupération de données.
IV.2. ENVIRONNEMENT DU TRAVAIL
IV.2.1. Choix du langage de programmation (PHP)
Le PHP (Personal Home Page ou bien Hyper text Preprocessor) est un langage de
programmation qui permet de créer des pages html.
Le script PHP est exécuté sur le serveur et non sur le poste client. Cela permet de créer
des pages web interactives (réponse à des formulaires, liaison avec des bases de
données...).
Le PHP est un langage dérivé du C. [14]
IV.2.2. Choix d’éditeur
IV.2.2.1. Dreamweaver
Dreamweaver est un logiciel qui sert à la création de pages, de sites et
d'applications web développé par la société Adobe System. Originalement édité par
Macromedia, Adobe System en est aujourd'hui le principal éditeur depuis qu'il a racheté
cette première en 2005. Dreamweaver est facile à employer car il intègre déjà les
fonctions de base qui accélèrent la conception de la page du site web. Il est l'un des
meilleurs logiciels d'édition de sites web.[15]
IV.2.2.2. EasyPHP
EasyPHP fut le premier package WAMP à voir le jour (1999). Il s'agit d'une
plateforme de développement Web, permettant de faire fonctionner localement (sans se
connecter à un serveur externe) des scripts PHP. EasyPHP n'est pas en soi un logiciel,
mais un environnement comprenant deux serveurs (un serveur web Apache et un serveur
de bases de données MySQL), un interpréteur de script (PHP), ainsi qu'une
Page 44
administration SQL phpMyAdmin. Il dispose d'une interface d'administration permettant
de gérer les alias (dossiers virtuels disponibles sous Apache), et le démarrage/arrêt des
serveurs. Il permet donc d'installer en une seule fois tout le nécessaire au développement
local du PHP. Par défaut, le serveur Apache crée un nom de domaine virtuel (en local)
127.0.0.1 ou local host.[BELGACEM, BOUAZZA 2014]
IV.2.2.3. Kit de développement logiciel (SDK) d’Amazon web services
de PHP
Grâce au kit de développement logiciel AWS pour PHP on peut commencer rapidement à
utiliser AWS. Le kit SDK est une bibliothèque PHP moderne et à code source libre qui
facilite l'intégration de votre application PHP aux services AWS tels qu'Amazon S3,
Amazon Glacier et Amazon DynamoDB. Dans notre application on a utilisé la version
2.8.18.
Technique d’installation Déclaration include
En utilisant composeur require '/path/to/vendor/autoload.php';
En utilisant Phar require '/path/to/aws.phar';
En utilisant Zip require '/path/to/aws-autoloader.php';
Table IV-1 : include de SDK
IV.2.3. Choix technique
L’implémentation est effectuée dans un PC HP de caractéristiques suivantes :
Processeur : intel core™ i3 2,40 ghz
Taille de disque dur : 500 Go
Taille de la mémoire vive (RAM) : 4Go
Le système d’exploitation : Windows 7, 32bit
Le PC jous le rôle d’un serveur pour l’application et d’un client pour le plateforme
Amazon S3.
IV.3. Configuration de plateforme Amazon S3
IV.3.1. Inscription
Après la création de compte Amazon sur le site www.aws.amazon.com, on peut s’inscrire
comme ce dessous.
Page 45
Figure IV-1 : inscrire à Amazon Web Service
Figure IV-2 : les services d’Amazon Web Service
Page 46
IV.3.2. Gestion de bucket sur Amazon S3
IV.3.2.1. Définition de bucket
Un bucket est une unité logique de stockage dans Amazon Web Services (AWS)
service de stockage d'objets, Simple Storage Solution S3. Les buckets sont utilisés pour
stocker des objets, qui se composent de données et de métadonnées qui décrit les
données.
IV.3.2.2. Création d'un Bucket
Avant de pouvoir télécharger des données dans Amazon S3, vous devez créer un
bucket pour stocker les données dans. buckets ont des propriétés de configuration, y
compris leur région géographique, qui a accès aux objets dans le bucket, et d'autres
métadonnées, telles que la classe de stockage de les objets dans le bucket.
La console vous permet d'utiliser les dossiers, que vous pouvez stocker des objets
dans. Dossiers, comme des objets, doivent résider dans un bucket.
Pour créer un bucket sur le plateforme, procéder comme se suit :
1. Connectez-vous à la console de gestion AWS et ouvrez la console Amazon S3 à
https://console.aws.amazon.com/s3.
2. Cliquez sur Créer un bucket.
3. Dans la boîte de dialogue Créer bucket, dans la zone Nom bucket, tapez un nom
pour votre bucket.
Figure IV-3 : création de bucket – select le nom et région
Page 47
Le nom que vous choisissez doit être unique parmi tous les noms buckets existants
dans Amazon S3. Une façon d'aider à assurer l'unicité est de préfixer vos noms buckets
avec le nom de votre organisation.
Le nom du bucket est visible dans l'URL qui pointe vers les objets que vous allez
mettre dans votre bucket. Pour cette raison, bucket choisir un nom de compartiment qui
reflète les objets dans le bucket.
Pour assurer une approche unique, des règles de nommage pour les buckets Amazon
S3 entre les régions et d'assurer noms buckets sont conformes aux conventions de
nommage DNS, les noms de buckets doivent se conformer aux exigences suivantes.
Peut contenir des lettres minuscules, des chiffres(.), et traits d'union(-).
Doit commencer par un chiffre ou une lettre.
Doit être comprise entre 3 et 63 caractères.
Ne doit pas être formatée comme une adresse IP (par exemple, 192.168.5.4).
Ne doit pas contenir de soulignement ( _ ).
Ne doit pas se terminer par un trait d'union.
Ne peut pas contenir deux, périodes adjacentes.
Ne peut pas contenir des tirets à côté de périodes (par exemple, my-.bucket.com et
my.-bucket sont invalides).
4. Dans la boîte de Région, cliquez sur la région où vous voulez le bucket de résider.
Vous devez choisir une région proche de vous pour optimiser la latence,
minimiser les coûts, ou pour répondre aux exigences réglementaires. Objets
stockés dans une région ne quittent jamais cette région, sauf si vous les transférer
explicitement à une autre région.
5. Effectuez l'une des opérations suivantes :
Pour... Faire ceci...
Créer un bucket sans configuration de la journalisation Cliquez sur Créer
Mettre en place la journalisation des accès du serveur
pour le bucket que vous créez
Cliquez sur Configurer
Enregistrement
6. Si vous avez cliqué configurez le log dans le Créez un Bucket - Configurer boîte
de dialogue Enregistrement, procédez comme suit:
Page 48
Figure IV-4 : création de bucket - consignation de configuration
a) Activez la case à cocher Activé.
b) Dans la zone cible Seau, sélectionnez le seau où vous voulez que les fichiers
de log stockés.
c) Dans la boîte cible préfixe, spécifier un préfixe pour le nom des fichiers
logs.
Amazon S3 ajoute le préfixe aux noms de fichiers logs lors de leur stockage
dans votre bucket. Par exemple, si vous spécifiez le préfixe "logs /," tous les
journaux stockées dans le bucket cible sont préfixés par logs /, donc, tous
les logs seront stockés dans le dossier des logs.
7. Cliquez sur Créer.
8. Si Amazon S3 crée avec succès votre bucket, la console affiche votre bucket
vide.
Figure IV-5 : les buckets créé
Page 49
IV.3.2.3. Parcourir les des objets dans votre bucket
Pour répertorier les objets dans un bucket, Cliquez sur le bucket dont les objets
que vous souhaitez afficher.
La liste des objets et des dossiers, affiche les objets et les dossiers dans le bucket
sélectionné.
Lorsque vous cliquez sur un nom de bucket, la console répertorie tous les objets
dans le bucket dans l'ordre alphanumérique. Toutefois, si votre bucket contient grand
nombre d'objets, défiler la longue liste pour rechercher un objet peut être lourd. La
fonction de saut vous permet de taper une chaîne, et la console, vous avancez à l'objet
spécifique dans la liste d'objets. S’il n'y a pas des objets dont le nom de clé correspondre
à la chaîne spécifiée, la console passe à l'objet suivant dans la liste dans l'ordre
alphanumérique.
Par exemple, supposons que vous avez un bucket (ExampleBucket) avec les objets
suivants :
Figure IV-6 : panneau de saut
Pour passer à un objet dans votre liste :
1. Cliquez sur le nom d'un bucket pour afficher ses objets.
2. Commencez à taper le nom d'un objet clé.
Comme vous commencez à taper des caractères, par exemple, une lettre c, la
console effectue les actions suivantes:
Ouvre une boîte de dialogue de saut montrant le caractère que vous avez saisi.
Saute à l'avance pour le premier objet dont le nom de clé commence par la chaîne
que vous avez saisi.
Ajoute la chaîne de saut au fil d'ariane de navigation existante.
Page 50
Figure IV -7 : passer à un objet dans une liste
3. Alors que la boîte de dialogue de saut est visible, faire une des actions suivantes:
Appuyez sur Entrée - Cette ferme la boîte de dialogue de saut. Les
résultats de saut (tels que les cDo indiqués dans l'exemple d'écran
précédent) restent.
Appuyez sur Echap - Cela annule l'opération de saut et la boîte de
dialogue de saut ferme.
IV.3.2.4. Suppression ou vider un bucket Amazon S3
Vous pouvez supprimer un bucket et tous les objets contenus dans le bucket.
Pour supprimer un bucket :
1. Se connecter à la console de gestion AWS et ouvrez la console Amazon S3 à
https://console.aws.amazon.com/s3/.
2. Cliquez-droit sur le bucket que vous souhaitez supprimer, puis cliquez sur
Supprimer Bucket.
Page 51
Figure IV-8 : gestion de bucket
3. Quand un message de confirmation apparaît, saisissez le nom du bucket et puis
cliquez sur Supprimer.
Figure IV-9 : validation ou annulation de suppression
Vous pouvez vider un bucket, qui supprime tous les objets dans le bucket sans
supprimer le bucket.
Pour vider un bucket :
1. Se connecter à la console de gestion AWS et ouvrez la console Amazon S3 à
https://console.aws.amazon.com/s3/.
Page 52
2. Cliquez-droit sur le bucket que vous voulez vider, puis cliquez sur bucket vide
(Figure IV-8).
3. Quand un message de confirmation apparaît, saisissez le nom du bucket et puis
cliquez sur bucket vide.
Figure IV-10 : validation ou annulation de vider un bucket
IV.3.2.5. Téléchargement des objets de bucket
Lorsque vous téléchargez un dossier, Amazon S3 télécharge tous les fichiers et
sous-dossiers du dossier spécifié à votre bucket. Il attribue ensuite une valeur de clé qui
est une combinaison du nom du fichier téléchargé et le nom du dossier.Par exemple, si
vous téléchargez un dossier / images contenant deux fichiers, sample1.jpg et sample2.jpg,
Amazon S3 télécharge les fichiers, puis attribue les noms clés de l'objet correspondant
images / sample1.jpg et images / sample2.jpg. Notez que les noms clés comprennent le
nom du dossier comme préfixe. Si vous téléchargez un ou plusieurs fichiers qui ne sont
pas dans un dossier, Amazon S3 télécharge les fichiers et attribue les noms de fichiers
que les valeurs clés pour les objets créés.
Page 53
IV.4. Spécification du logiciel
On construit un site, et l’implémenter sur Amazon S3.
Figure IV-11 : page accueil de site
Enfin, de pouvoir charger et télécharger un fichier dans le cloud on passe l’étape
monter dans le figure suivant :
Figure IV-12 : page de bibliothèque (charger/télécharger)
Page 54
Nous essayons de détailler et d’expliquer lesdeux tâches présentés dans le site:
Tache1: Charger un fichier
Dans ce tache nous présentons comment un utilisateur peut charger un fichier
dans le cloud à travers le site. On montre le dans les figures suivant :
Figure IV-13 : remplir les détails de fichier à charger
Figure IV -14 : charger un fichier
Page 55
Tache2: Télécharger un fichier
Après la clique sur téléchargement qui se trouve dans le lien de bibliothèque
(Figure IV-12), on peut télécharger ou regarder le fichier. Plus de détails concernant
l’utilisation de l’application
Figure IV-15 : télécharger un fichier
IV.5. Conclusion
Nous avons présenté dans le présent chapitre, les différents modules implémentés
dans notre projet, enrichi par des captures écran, afin d’éclairci les explications aux
lecteurs.
Le cloud computing joue un rôle très important dans web service parce qu’il est
l’élément responsable de créer les softwares et hardwares virtuel.
Comme tout travail de développement, nous n’allons jamais satisfaire par notre
travail, nous cherchons toujours les lacunes pour améliorer et pour donner mieux.
Page 56
Conclusion générale
Face au phénomène médiatique que représente le Cloud Computing actuellement,
nous avons ici effectué une définition pragmatique de cette technologie à partir de la
littérature d'experts en Cloud. Cette technologie en plein essor permet aux entreprises de
disposer d'infrastructures et de progiciels directement en ligne sur Internet. On a distingué
les différents types de Cloud possibles avec l'IAAS pour les infrastructures techniques, le
PAAS pour les infrastructures habillées avec des outils de middleware comme les bases
de données par exemple et le SAAS pour les services logiciels. Ces trois types peuvent se
déployer sous quatre formes de topologies différentes : le Cloud public pour du déporté
en ligne, le Cloud privé pour l'utilisation des concepts du Cloud en interne à
l'organisation, le Cloud hybride pour l'utilisation commune du public et du privé.Aussi,
on a présenté les plateformes les plus connus.
Les plateformes actuels tel que (OpenStack, OpenNebula, MS Azure, AWS…) sont
les plus connus pour faire une cloud computing efficace. De notre part, on a choisi
Amazon Web Service pour plusieurs raisons, y compris : Simplicité d'utilisation,
Flexibilité, Rentabilité, Fiabilité, Evolutivité et hautes performances, Sécurité,…
AWS est une plateforme très puissante qui offre plusieurs services, comme
exemple (EC2, Lambda, S3…). Et comme nous ne pouvons pas exploiter tous ces
services, nous avons choisi le service de stockage dans le cloud. S3 est le meilleur choix
pour l’exploiter. Protection des données, durabilité et fiabilité des données etsuppression
authentification multi-facteurs, ces derniers et autres sont les points forts de notre choix.
Le travail présenté dans ce mémoire essaye de se bénéficier au maximum des
notions de cloud computing, et plus précisément, sur la réalisation d’une bibliothèque
numérique pour l’Université EchahidHamma Lakhdar d’EL-oud sur le cloud, en
profitons des avantage de service de stockage de données distant et la gestion de meta-
données.
Pour atteindre ce but, la réalisation de l’application a était divisée en deux objectifs
:
Choisir une plateforme, selon une étude comparative des solutions
existantes.
Implémentation et configuration de la solution choisie et les services à
exploiter .
En perspectives de notre études peuvent apporter plus de performance et
d’efficacité à l'outil de cloud computing, ces perspectives sont :
Profiter le maximum des services présenter par AWS
Transfert le serveur d’université vers le cloud.
Page 57
Développer plusieurs services et applications sur le cloud
Connecter et partager les ressources de cloud avec d’autre solution cloud
des autres universités.
Généraliser la solution pour toutes les universités algériennes.
Bibliographie
[Ahmed, 2011] Ahmed, B. (2011). balicours. Récupéré sur
http://sites.google.com/site/balicours.
[Akbi, Zehri 2013] Mémoire master academique « Etude et mise en place d’une
solution cloud computing privé au sein de l'université d’Ouargla » par Akbi khalil
Zehri mohammed 2013.
[BELGACEM, BOUAZZA 2014] Mémoire de fin d’études Pour l’obtention du
diplôme de Licence en Informatique : Gestion d’une agence de voyages selon le
modèle client/serveur avec Swing et MySQL.
[CISCO 2009] CISCO Cloud Computing Data Center Strategy , Architecture,
and Solutions 2009.
[D.Revuz, 2004] D.Revuz. (2004). UML Elaboration.
[Noumsi 2012] Etude et mise en place d’une solution « cloud computing » privée
dans une entreprise moderne : cas de CAMTEL. Par Landry Fossouo Noumsi
2012.
[the NEST 2011] the NEST definition of cloud computing by Peter Mell and
Timothy Grance September 2011.
Webographie
[1] http://www.claranet.fr/cloud.html
[2] http://www.figer.com/Publications/nuage.htm#.VRiCleFWpal
[3] http://en.wikipedia.org/wiki/OpenNebula
[4] http://opennebula.org
[5] http://fr.wikipedia.org/wiki/Eucalyptus_%28informatique%29
[6] http://fr.wikipedia.org/wiki/OpenStack
[7] http://fr.wikipedia.org/wiki/Microsoft_Azure
[8] http://aws.amazon.com/fr/ec2/
[9] http://fr.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud
[11] https://aws.amazon.com/fr/s3/details/#durability
[12] https://fr.wikipedia.org/wiki/Amazon_S3
[13] https://prezi.com/iyorsv2ibgn9/amazon-web-services
[14] http://jacxl.free.fr/cours_xl/cours_xl_jac.html#accueil_php
[15] http://www.web-libre.org/dossiers/dreamweaver,9018.html
[16] http://sabricole.developpez.com/uml/tutoriel/unifiedProcess/