69
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

IV.1. Introduction

  • Upload
    voliem

  • View
    222

  • Download
    2

Embed Size (px)

Citation preview

Page 1: IV.1. Introduction

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

Page 2: IV.1. Introduction

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

Page 3: IV.1. Introduction

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.

Page 4: IV.1. Introduction

ملخـــــــــــــــــــــــص:

إن كبر حجم البٌانات و صعوبة نقلها من مكان آلخر، و كذا غالء تكالٌف شراء معدات ذات مواصفات عالٌة

لمعالجة بعض البٌانات الكبٌرة أو المعقدة، أدى بالمؤسسات والخواص إلى البحث عن تقنٌة تحد من هذه العوائق.

أدى هذا إلى ظهور ما ٌسمى بـالحوسبة السحابٌة.

فً الحقٌقة ال ٌمكن أن نطلق على الحوسبة السحابٌة بالتقنٌة الجدٌدة ، وإنما هً خدمة بشكل جدٌد.

و ٌمكن أن نعرف الحىسبة السحابية على أنها استخدام المصادر الحوسبٌة )العتاد والبرمجٌات( عن طرٌق االنترنت

)افتراضٌة(، حٌث أنها مقّدمة على شكل خدمات.

الهدف من بحثنا هو إنشاء حوسبة سحابٌة لجامعة الوادي، و أخذنا كمثال خدمة المكتبة اإلفتراضٌة حٌث تقدم قائمة

الكتب و المذكرات، و كذا إضافة و تحمٌل ملفات أخرى.

للحوسبة السحابٌة عدة فوائد أهمها: سهولة الوصول للبٌانات، خفض التكالٌف، ضمان عمل الخدمة بشكل دائم،

االستفادة من البنى التحتٌة الضخمة و المكلفة.

لكنها بالمقابل تحتوي على مساويء منها: ضعف تأمٌن البٌانات)خاصة السرٌة( رغم تطور وسائل األمان، انقطاع

الكهرباء أو االنترنات.

فً األخٌر ٌمكن أن نقول أن الحوسبة السحابٌة هً مستقبل خدمات االنترنات.

:يةـــــــــــات مفتاحـــــــــلمـك

افتراضية.، دمات الىيب خل نأمازو، بنية تحتيةالحىسبة السحابية،

Page 5: IV.1. Introduction

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.

Page 6: IV.1. Introduction

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

Page 7: IV.1. Introduction

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

Page 8: IV.1. Introduction

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

Page 9: IV.1. Introduction

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

Page 10: IV.1. Introduction

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 11: IV.1. Introduction

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 12: IV.1. Introduction

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 13: IV.1. Introduction

Page 3

Chapitre I :

Cloud computing, Etat de l'art

Page 14: IV.1. Introduction

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 15: IV.1. Introduction

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 16: IV.1. Introduction

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 17: IV.1. Introduction

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 18: IV.1. Introduction

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 19: IV.1. Introduction

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 20: IV.1. Introduction

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 21: IV.1. Introduction

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 22: IV.1. Introduction

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 23: IV.1. Introduction

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 24: IV.1. Introduction

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 25: IV.1. Introduction

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 26: IV.1. Introduction

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 27: IV.1. Introduction

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 28: IV.1. Introduction

Page 18

Chapitre II :

Architecture de cloud computing

Page 29: IV.1. Introduction

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 30: IV.1. Introduction

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 31: IV.1. Introduction

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 32: IV.1. Introduction

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 33: IV.1. Introduction

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 34: IV.1. Introduction

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 35: IV.1. Introduction

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 36: IV.1. Introduction

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 37: IV.1. Introduction

Page 27

Chapitre III :

Conception et Architecture générale

Page 38: IV.1. Introduction

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 39: IV.1. Introduction

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 40: IV.1. Introduction

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 41: IV.1. Introduction

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 42: IV.1. Introduction

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 43: IV.1. Introduction

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 44: IV.1. Introduction

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 45: IV.1. Introduction

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 46: IV.1. Introduction

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 47: IV.1. Introduction

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 48: IV.1. Introduction

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 49: IV.1. Introduction

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 50: IV.1. Introduction

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 51: IV.1. Introduction

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 52: IV.1. Introduction

Page 42

Chapitre IV :

Implémentation

Page 53: IV.1. Introduction

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 54: IV.1. Introduction

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 55: IV.1. Introduction

Page 45

Figure IV-1 : inscrire à Amazon Web Service

Figure IV-2 : les services d’Amazon Web Service

Page 56: IV.1. Introduction

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 57: IV.1. Introduction

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 58: IV.1. Introduction

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 59: IV.1. Introduction

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 60: IV.1. Introduction

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 61: IV.1. Introduction

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 62: IV.1. Introduction

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 63: IV.1. Introduction

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 64: IV.1. Introduction

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 65: IV.1. Introduction

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 66: IV.1. Introduction

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 67: IV.1. Introduction

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.

Page 68: IV.1. Introduction

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.

Page 69: IV.1. Introduction

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/