Rapport de stage d’été 2009 Développement et déploiement d’une application web dans le cloud de Microsoft Windows Azure (MS PaaS version CTP) Réalisé par Soumow ATITALLAH Version 1.0.0 Auteur(s) Soumow ATITALLAH Type projet Exploration (Early) Stage Proposé par Khaled BEN DRISS Statut encours de validation Classification interne Référence Interne OXIA 11, Rue Claude Bernard • 1002 Tunis Belvédère Tunisie Tel. +216 71 28 27 00 • Fax +216 71 28 27 05 Http://www.oxia-group.com Stage d’été 2009 :OXIA Http://www.oxia-group.com ppa.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Rapport de stage d’été 2009
Développement et déploiement d’une application web dans le cloud de Microsoft
Windows Azure (MS PaaS version CTP)
Réalisé par Soumow ATITALLAH
Version 1.0.0
Auteur(s) Soumow ATITALLAH
Type projet Exploration (Early)
Stage Proposé par Khaled BEN DRISS
Statut encours de validation
Classification interne
Référence
Interne OXIA11, Rue Claude Bernard • 1002 Tunis Belvédère Tunisie
Chapitre I : Présentation du cadre du Projet Faculté des Sciences de TunisLa Plateforme de Services Azure est actuellement en CTP (« Community Technology
Preview » ou pré-bêta) et est attendue pour la fin de l’année 2009.
Comparons le schéma « On-Premises » intégrant pour sa part Windows Serveur, SQL Server,
Biztalk Server ainsi que SharePoint et Microsoft Dynamics avec l’univers dit « Cloud
Services ou Azure Services Platform » intégrant quant à lui Windows Azure, Live
Services, .NET Services, SQL Services ainsi que Sharepoint Services et Dynamics CRM
Services !
La différence majeure entre les deux mondes ne réside pas uniquement dans le fait d’ajouter
le terme Services. La plateforme des Services Azures vous met ainsi à disposition un
environnement complet d’hébergement de vos applications et de services vous permettant de
vous détacher complètement de toutes les notions ou problématiques liées à l’hébergement de
vos applications : déploiement, montée en charge, géo-localisation, gestion des licences
serveurs, …
Mais comment la société Microsoft pourra-t-elle se charger de l’hébergement en masse
Chapitre I : Présentation du cadre du Projet Faculté des Sciences de Tunisdémarche est à ce premier stade bien au point avec Visual Studio 2008 SP1 ainsi que le .NET
Framework 3.5.
Tentons de mieux découvrir et mieux comprendre les éléments constituants de la plateforme
de services Azure.
Pour ce faire, démarrons par l’élément constitutif de base, soit « Windows Azure » :
3.2. Windows Azure
Windows Azure est un « OS on the Cloud » servant tout comme son binôme « on-premises » (soit Windows Serveur) de plateforme de développement mais aussi et surtout de plateforme d’hébergement et de management de services dans le cadre de la nouvelle stratégie et plateforme des services Azure.
La particularité de cet OS on the Cloud est de mettre à disposition :
- Stockage et hébergement à la demande- Une forte capacité de montée en charge et gestion automatisée du balancing- Géo-localisation automatique de l’hébergement de vos applications- La possibilité de manager toute application dite online ou dite on the cloud (gestion
automatique ou manuelle de la montée en charge, de la géo localisation ou proximité des serveurs, …).
- …
Windows Azure est également supporté par Visual Studio 2008 et 2010 permettant ainsi à tout développeur .NET de profiter et capitaliser son expérience au travers de ce nouveau genre d’applications / solutions .NET !
Chapitre I : Présentation du cadre du Projet Faculté des Sciences de TunisMicrosoft annonce, dans un futur proche, la capacité de programmer vos applications dites « on the cloud » au travers de langages comme Ruby, Python ou encore PHP
3.3. Live Services
Les Live Services sont un ensemble de briques technologiques permettant de gérer de façon cohérente les données utilisateurs et les données des applications. Ils permettent aux développeurs de construire, par exemple, des applications pouvant stocker, partager et synchroniser documents, photos, fichiers et autres informations à travers PCs, téléphones et sites Web.
3.4. .NET Services
Les .NET Services sont la version « Cloud » de concepts familiers du framework .NET telles que la gestion du Contrôle d’accès, de Workflow et de la Connectivité entre des briques applicatives. Consommables sous forme de Services Cloud, ils peuvent être utilisés ensembles ou séparément que ce soit pour des applications résidant dans Windows Azure mais également dans l’entreprise.
3.5. SQL Azure
Microsoft SQL Azure correspond à l’extension des fonctionnalités de SQL Server aux environnements de type Cloud. Bâtie sur une architecture de Services, Microsoft SQL Azure vous permet de stocker des données structurées, semi-structurées et non-structurées. La première version de SQL Azure exposera un service de type gestion de données relationnelle sous le nom SQL Azure Database. A terme, la gamme de services SQL Azure proposeront un ensemble de fonctionnalités riches allant de l’exécution de requêtes de type relationnelles, à la recherche, la génération de rapports, l’analyse de données, l’intégration de données et enfin la synchronisation de données vers des utilisateurs mobiles, des sites déportés ou encore des partenaires commerciaux.
3.6. Microsoft Sharepoint Services / Dynamics CRM Services
Ces deux dernières briques, non encore disponibles à ce jour, permettront dans le futur aux développeurs sur la plateforme Azure d’accéder aux fonctionnalités de SharePoint ainsi que
Chapitre I : Présentation du cadre du Projet Faculté des Sciences de Tuniscelles de CRM afin de leur permettre la construction d’application collaborative ou encore de gestion de la relation client. Ces deux dernier Services, bien qu’annoncés, ne sont pas encore disponibles à ce stade.
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
Chapitre II : Spécification des besoins
I. Présentation du Projet :Cette application a pour objectif de regrouper les informations autours des projets de fin d’étude, des blogs, des travaux des étudiants et des événements universitaires ayant une relation avec le monde de l’entreprise. Il permettra un partage des ces informations.
Ce site permettra de créer un lieu de rencontre des étudiants et des entreprises à partir des projets de fin d’études ainsi que des stages d’étés qui seront disponibles et téléchargeables.
1. Objectif du site :C’est un site de partage de connaissances et d’informations à traves duquel les étudiants pourront avoir une idée sur les projets proposés, le travail qui a été fait et pourront comparer leur travaux respectifs. Les entreprises pourront voir les travaux des étudiants.
Le site contiendra aussi des concours et des événements de différentes facultés ce qui permettra aux étudiants ainsi que les entreprises d’avoir une idée sur ces événements de pouvoir s’inscrire et y assister.
Le site comportera un détecteur de plagiat (en arrière plan) et permettra de noter le taux de risque de plagiat pour chaque document
Le site permettra de proposer des statistiques de différents types selon le profile de l’utilisateur.
Il permettra aussi de créer une page de profile en liaison avec les sites de réseaux sociaux (LinkedIn, viadeo, Twitter,…)
2. A qui s’adresse le site :
Administrateur :L’administrateur est le gestionnaire du site, il aura à :
- Valider les demandes d’inscription.- Changer les mots de passe sur demande de l’utilisateur- Ajouter des événements, des concours.- Modérer les commentaires.- Envoyer des emails aux utilisateurs.- Valider les fichiers uploadés.
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
Etudiant:L’étudiant sera autorisé à avoir un profil à accéder grâce à un login et un mot de passe. Un profil avec des champs à remplir : nom, prénom, date de naissance, numéro de téléphone, adresse mail, adresse, université, catégorie, sujet, avec ou sans binôme. Il pourra mettre sa photo personnelle dans son profil. Il aura à uploader son rapport de stage ou de PFE, sa présentation et préciser s’il veut participer avec son projet dans l’un des concours proposés. Il pourra choisir s’il veut que ses données soient confidentielles ou accessibles à tous le monde.
Professionnel:Un membre de jury aura un profil. L’accès sera accordé via un login et un mot de passe. Il aura un profil avec des champs à remplir : nom, prénom, date de naissance, adresse mail, numéro de téléphone, adresse, profession, université, catégorie, une photo personnelle. Il pourra choisir s’il veut que ses données soient confidentielles ou accessibles à tous le monde. Il aura à voir les rapports de PFE et les présentations, les télécharger s’il veut, et il aura à donner une note et une remarque.
Utilisateur anonyme :Un invité est un utilisateur sans profil qui peut surfer dans le site, voir les profils qui lui sont accessibles, ajouter des commentaires, télécharger des rapports et des présentations. Il aura la possibilité de faire de recherches indexées.
3. ContenusCe site contiendra
- Les rapports des PFE - Les présentations des PFE des étudiants en Tunisie.- Les données sur les utilisateurs du site.
o Les profils de l’étudiant Ses coordonnées Un lien vers son blog
o Des photos de profil
-Les événements universitaires en relations avec l’entreprise.
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
Les utilisateurs du site se divisent en invité, inscrit et administrateur.
Les utilisateurs inscris sont les étudiants et les professionnels (jury), une page s’ajoute à l’arborescence : la page Mon Profil.
L’administrateur est le gestionnaire du site, il aura à contrôler les utilisateurs inscrits, leurs fichiers ainsi que les commentaires ajoutés au site. C’est lui qui va ajouter des articles sur les événements. Il pourra envoyer des mails aux inscrits pour leurs mentionner une nouvelles ou les avertir en cas de commentaire sur leurs fichiers ou profil.
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
II. Liste des cas d’utilisation :Cette partie présente en détail les cas d’utilisation de l’application. Pour chaque cas on présente les actions de l’utilisateur et le détail de l’écran de saisie et des opérations qui seront réalisés par le serveur.
1. Utilisateur
Cas d’utilisation 1 : demander une inscriptionL’utilisateur rempli un formulaire contenant les informations suivantes :
- Nom- Prénom- Date de naissance (format standard)- Adresse mail (un message d’erreur s’affiche si le format n’est pas standard)- Fonction (choisir entre étudiant ou jury) - Université (liste de choix des universités en Tunisie)- Spécialité (liste des choix spécialité disponible dans l’université choisie
précédemment)- Année (liste de choix)- Uploader une photo du profil avec une limite de sa taille maximale, grâce à un
bouton parcourir. (un message d’erreur s’affiche si le fichier uploadé n’est pas une photo ou si sa taille est supérieure à la taille maximale donnée).
Il valide le formulaire en cliquant sur un bouton « valider ». Le bouton « valider » ne sera cliquable que si tous les champs sont pleins.
L’inscription sera matérialisée par l’envoi d’un email de vérification.
S’il y a une réponse dans les 24 heures l’inscription est validée, sinon la demande est annulée.
Un Captcha de vérification doit être ajouté.
Etudiant
Cas d’utilisation 1 : Compléter son profil.Apres son authentification, l’étudiant voit apparaitre un bouton « MonProfil » grâce auquel il pourra voir son profil : ses données précédentes qu’il pourra changer et il pourra aussi compléter son profil par les données suivantes :
- Sujet du PFE.- Uploader le rapport avec un bouton parcourir.- Uploader la présentation avec un bouton parcourir.- Blog- Site Web
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
- Centres d'intérêts- Groupes et associations - Participer à un concoure (liste de choix des concours disponibles durant cette
période)
Il valide avec un bouton « valider ».
Jury
Cas d’utilisation 1 : Compléter son profil.Apres son authentification, le jury voit apparaitre un bouton « MonProfil » grâce auquel il pourra voir son profil : ses données précédentes qu’il pourra changer et il pourra aussi compléter son profil par les données suivantes :
- Blog- Site Web- Centres d'intérêts- Groupes et associations
Il valide avec un bouton « valider ».
Cas d’utilisation 2 : Donner une noteLe membre de jury sera amené à associer une note aux étudiants dont il est responsable.
Cette tache sera faite en cliquant sur un lien « attribuer une note », il sera mené à introduire les données suivantes :
- Nom et prénom- La note associée- Remarques
Il valide avec un bouton « valider ».
2. Administrateur
Cas d’utilisation 1 : Modérer les profilsL’administrateur reçoit une notification par mail qu’il y un nouvel inscrit au site.
Il consulte son profil pour contrôler ses données.
S’il remarque qu’il y a quelque chose qui n’est pas conforme :
- Il pourra effacer une donnée.- Avertir l’utilisateur par mail.- Bloquer un utilisateur (dans des cas extrêmes).
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
Cas d’utilisation 2 : Changer le mot de passeL’administrateur reçoit une notification par mail qu’un utilisateur voudrait changer son mot de passe.
Il lui valide le nouveau mot de passe et lui envoi une notification par mail.
Cas d’utilisation 3 : modérer les fichiersL’administrateur reçoit une notification par mail qu’un utilisateur a uploadé un fichier (rapport, présentation).
Il l’ouvre :
- S’il respecte les normes, il le valide- Sinon il l’efface et envoi un mail à son utilisateur- Il pourra dans des cas extrêmes bloquer l’utilisateur.
Cas d’utilisation 4 : modérer les commentairesL’administrateur reçoit par mail une notification qu’il un nouveau commentaire à modérer.
Il lit le commentaire : le valide s’il respecte les normes, l’efface sinon.
Cas d’utilisation 5 : ajouter des articles dans la rubrique événementL’administrateur peut écrire des articles sur les concours, journées et conférences à venir dans la rubrique événement.
Il pourra recevoir une proposition d’un utilisateur.
Il vérifie que cet événement existe et il pourra ajouter l’article proposé.
3. Utilisateur anonyme
Cas d’utilisation 1 : ajouter un commentaireUn utilisateur anonyme peut parcourir le site, et ajouter des commentaires via un lien « ajouter un commentaire ».
Il aura à fournir les données suivantes :
- Nom et prénom (obligatoire)- Email (obligatoire)- Lien personnel: Site web ou blog (optionnel)- Le commentaire
Cas d’utilisation 2 : proposer un événement Un utilisateur anonyme pourra proposer un événement via un lien « proposer un événement ».
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
- Nom et Prénom (obligatoire)- Profession (obligatoire)- Lien personnel : site web ou blog (optionnel)- Lien de l’événement (optionnel)- L’article proposé
III. Liste des écrans
1. Utilisateur anonyme :
Accueil : La page d’accueil contiendra :
- Les liens vers les autres pageso PFEo Evénementso Contacts
- Authentification- Des icones publicitaires
PFELa page PFE contiendra :
- Les derniers PFE mis dans le site - Lien vers l’utilisateur qui a mis le PFE
o Profil de l’utilisateur (étudiant) Ses données Sa photo de profil Son rapport de PFE Sa présentation Sa note s’il est accordée
- Authentification - Des icones publicitaires
EvénementsLa page événements présentera les derniers événements à venir, avec des liens vers :
- Concourso Les derniers articles mis à propos des concours : le lieu, la date, le thème,
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
o Les derniers articles mis à propos des conférences : le lieu, la date, le thème, les commentaires, des photos.
- Journées portes ouverteso Les derniers articles mis à propos des journées : le lieu, la date, le thème,
les commentaires, des photos.- Un lien « proposer un événements »
o Nom et prénomo Date de naissanceo Professiono L’événement :
Lieu Date Thème Remarques
o Valider l’événement- Authentification - Des icones publicitaires
ContactsCette page contiendra :
- L’adresse mail de l’administrateur.- L’utilisateur peut laisser une remarque, il laisse :
o Nom et prénomo Date de naissanceo Professiono La remarqueo Un lien « envoyer la remarque à l’administrateur ».
- Authentification - Des icones publicitaires
2. Utilisateur inscritIl aura les mêmes pages de l’utilisateur anonyme, mais en plus la page « mon profil » qu’elle contient :
- Le profil de l’utilisateuro Ses donnéeso Sa photoo Son rapport (si c’est un étudiant)o Sa présentation (si c’est un étudiant)o Sa note (si c’est un étudiant et si elle est accordée)
Chapitre II : Spécification des besoins Faculté des Sciences de Tunis
- Un bouton « changer mes données »- Des icones publicitaires
Pour les autres pages, l’icône authentification se remplace par le nom de l’utilisateur et sa photo.
3. AdministrateurLes pages sont les mêmes que celles de l’utilisateur anonyme avec quelques changements :
- L’icône authentification se remplace par le nom de l’utilisateur et sa photo.- Sous chaque article, s’ajoute les liens « modifier », « effacer »- Sous chaque commentaire s’ajoute les liens « modifier », « effacer »- Un lien s’ajoute dans la page « ajouter un article ».
Page de Gestion des inscritsEtudiant :
Cette page contient les étudiants affichés dans une matrice dont les colonnes sont :
- Nom- Prénom- Date de naissance- Adresse mail- Université- Spécialité - Année- Sujet du PFE.- Rapport- présentation - Blog- Site Web- Centres d'intérêts- Groupes et associations - Concoure- Note
Jury :
Cette page contient les jurys affichés dans une matrice dont les colonnes sont :
Chapitre III : Conception Faculté des Sciences de Tunis
Chapitre III : Conception de la base de données
1. INTRODUCTION Dans le présent chapitre, on va commencer d’abord par définir les outils de
conception. Par la suite, nous présenterons une conception générale du système contenant le
digramme des classes du système. Enfin, nous allons parler de l’architecture utilisée en
définissant les différentes couches et composants.
1.1. OUTIL DE MODÉLISATION
PowerAMC est un logiciel de modélisation. Il permet de modéliser les traitements informatiques et leurs bases de données associées.
Il permet de réaliser tous les types de modèles informatiques. Il reste un des seuls qui permet de travailler avec la méthode Merise.
1.2. MODÈLE DE CONCEPTION DE DONNÉES Le modèle conceptuel des données (MCD) a pour but d'écrire de façon formelle les données qui seront utilisées par le système d'information. Il s'agit donc d'une représentation des données, facilement compréhensible, permettant de décrire le système d'information à l'aide d'entités.
Chapitre IV : Réalisation Faculté des Sciences de Tunis
2.3. PRÉPARATION DE L'ENVIRONNEMENT
2.3.1. Créer un compte Azure:http://www.microsoft.com/azure/register.mspx
En cliquant sur « Register for Azure Services », ce lien vous demandera de se connecter à Microsoft Connect ou d’en créer un compte, si vous en n’avez pas.
2.3.2. Créer un compte Microsoft Connect :Pour cela il faut avoir un Windows Live ID.
Chapitre IV : Réalisation Faculté des Sciences de Tunis
Apres avoir confirmer votre inscription, Microsoft connect vous demandera d’indiquer un pseudonyme et voila vous êtes inscrit à Micrsoft Connect.
Etant connecté, le reste est d’attendre une invitation de Windows Azure, qui arrivera dans 4 à 5 jours.
Vous aurez le droit à des projets « Live Services » sans la reception de l’invitation et à des projets de « Storage and Hosted Services », en plus, aprés la reception de l’invitation.
Avant la reception de l’invitation : les projets de Windows Azure sont desactivés.
Apres la reception de l’invitation :
Le mail d’invitation Windows Azure vous donnera un code « Token ID » .
Chapitre IV : Réalisation Faculté des Sciences de Tunis
Enfin les projets de Windows Azure sont activés mais on remarque qu’on a le droit qu’à 2 projets du type « Storage Account » et un seul projet du type « Hosted Services ».
2.3.3. Configuration requise: Système d’exploitation: Windows 7; Windows Server 2008; Windows Vista Service
Pack 1; Windows Vista Service Pack 2. IIS 7.0 (activation de ASP.NET, WCF HTTP et optionnellement CGI) Microsoft Visual Studio 2008 SP1, Microsoft Visual Studio 2010 Beta 1 ou Microsoft
Visual Web Developer 2008 Express Edition with SP1 SQL Server 2005 Express Edition ou SQL Server 2008 Express Edition.
Remarque: tous les outils doivent avoir la même langue.
2.3.4. Activation de IIS7, WCF, ASP.NET et http :
Windows Vista et Windows 7
1. Menu -> Settings | Control Panel | Programs | Programs and Features.2. Cliquez sur Turn Windows Features On or Off.3. Sous Microsoft .NET Framework 3.0, selectionnez Windows Communication
Foundation HTTP Activation.Stage d’été 2009 :OXIA Http://www.oxia-group.com
Chapitre IV : Réalisation Faculté des Sciences de Tunis
4. Sous Internet Information Services, ouvrir World Wide Web Services, ensuite Application Development Features, puis sélectionnez ASP.NET and CGI.
5. Installez the selected features.
Windows Server 2008
1. Menu -> Programs | Administrative Tools | Server Manager.2. Server Manager, sous Features Summary, choisissez Add Features.3. Dans le Add Features, sous .NET Framework 3.0 Features, sélectionnez the .NET
Framework 3.0. Sous WCF Activation, sélectionnez HTTP Activation. Cliquez sur Next pour installer.
4. Dans Server Manager, sous Roles Summary, verifiez que le Web Server (IIS) apparait dans la liste available roles. Sinon , cliquez sur Add Roles to install Internet Information Services.
5. Dans Server Manager, sous Roles Summary, clicquez Web Server (IIS).6. Dans la fenêtre Web Server (IIS), cliquez sur Add Role Services.7. Dans Add Role Services, ouvrir Web Server, ensuite Application Development,
sélectionnez ASP.NET et CGI et cliquez sur Next pour installer.
Chapitre IV : Réalisation Faculté des Sciences de Tunis
3. DESCRIPTION
3.1. ACCUEIL
3.1.1. InscriptionLa page d'accueil du site contient un formulaire d'inscription, dans lequel l'utilisateur peut fournir des données et avoir un profil.
3.1.2. AuthentificationApres avoir eu un compte, l'utilisateur peut s'authentifier via un login et un mot de passe.
Chapitre IV : Réalisation Faculté des Sciences de Tunis
3.4. GESTION DES EVÉNEMENTS
3.4.1. Ajout d'événementLes membres du site ainsi que les utilisateurs anonymes peuvent proposer des événements, choisir la catégorie: Journée ou Concours; lui ajouter la liste des sponsors, les conférences associé ainsi que toutes les informations relatives à cet événement.
Chapitre IV : Réalisation Faculté des Sciences de Tunis
Ajout de sponsor
Ajout de conférence
3.5. CONTACT
Un utilisateur anonyme peut contacter l'administrateur du site en laissant un commentaire qui sera directement envoyé au mail de l'administrateur via l'interface de contact:
Chapitre IV : Réalisation Faculté des Sciences de Tunis
4. Déploiement dans les nuagesLe déploiement dans les nuages est très simple. En effet il suffit de cliquer avec le bouton droit de la souris sur le projet et choisir publish.
Un répertoire contenant le fichier de configuration et le pacquage de l’application s’ouvre ainsi qu’une page internet, c’est celle qui contient votre compte Azure.