Développement d'une application Web avec ASP.NET MVC

Dimension: px
Commencer à balayer dès la page:

Download "Développement d'une application Web avec ASP.NET MVC"

Transcription

1 Développement d'une application Web avec ASP.NET MVC A. Introduction A.1. Présentation Depuis la version 3.5 du Framework.NET, Microsoft propose sous forme d'extensions, un nouveau modèle de conception et de développement d'applications Web, nommé ASP.NET MVC. Nous verrons qu'il ne s'agit en aucun cas d'une technologie remplaçant la technologie ASP.NET WebForms, que nous avons utilisé dans le chapitre précédent, mais d'une alternative. En effet, le modèle MVC est un modèle de développement reconnu ayant fait ses preuves dans d'autres technologies telles que les technologies J2EE et PHP. Microsoft a simplement décidé de proposer une implémentation de ce modèle, que nous allons étudier pour créer une application Web. A.2. Présentation du modèle ASP.NET MVC Le modèle ASP.NET MVC, où MVC est l'acronyme de Modèle Vue Contrôleur, permet de créer des applications Web composée : D'un modèle, constitué d'un ensemble de classes permettant de créer les objets métiers manipulés dans l'application, et d'exécuter les traitements métiers. De vues constituant des éléments graphiques tels que des contrôles utilisateurs, des pages Web ou encore des Master Pages. Ces éléments graphiques sont implémentés de manière radicalement différente par rapport à leurs homologues en ASP.NET WebForms. De contrôleurs permettant de piloter l'application, d'exécuter des actions et fournir une vue en réponse aux requêtes reçues. L'une des fonctionnalités fondamentales des contrôleurs est d'assurer la communication entre le modèle et la vue. A.3. ASP.NET VS ASP.NET MVC A.3.a. Les différences entre les applications ASP.NET WebForms et ASP.NET MVC Même si leur but est identique, à savoir construire des applications Web, la conception et le développement d'une application ASP.NET MVC est très différente d'une application ASP.NET WebForms. Voici les principales caractéristiques d'asp.net MVC qui le différencient : Page 1 sur 41

2 ASP.NET MVC permet de structurer davantage l application, en créant des composants avec des rôles bien identifiés. ASP.NET MVC ne supporte pas les posts-backs classiques et l'utilisation du ViewState. L utilisation des contrôles ASP.NET n est pas encouragée. Même s il s agit d un facteur de ralentissement dans le développement d une application Web, il permet de mieux contrôler le flux XHTML renvoyé au client Web (rendu des contrôles, données dans le flux, ). Pour échanger des informations entre les clients Web et le serveur IIS, ASP.NET MVC utilise le modèle REST (REpresentational State Transfer). Chaque page est divisée en deux composants distincts (un contrôleur et une vue) qui agissent sur le même modèle de données. ASP.NET MVC utilise un modèle nommé Front Controller, qui permet de traiter les requêtes de l'application Web par l'intermédiaire du routage et d'un contrôleur. ASP.NET MVC ne considère pas une URL comme un point de terminaison vers un fichier d une application. Une URL est considérée comme un moyen d accéder à une ressource (logique) sur le serveur, mais pas nécessairement un fichier ASPX à exécuter. Nous aurons alors l occasion de voir que les URLs possèdent un format particulier de type /Controleur/action/id. ASP.NET MVC offre un meilleur support pour le développement dirigé par les tests (Test Driven Development). Lors de la création d un projet de type ASP.NET MVC, Microsoft propose de créer un projet de test, qui permettra de tester au fur et à mesure du développement de l application. A.3.b. Choisir entre ASP.NET WebForms et ASP.NET MVC Le modèle MVC est un modèle de développement ayant fait ses preuves dans d autres technologies de développement d applications Web telles que la technologie J2EE. Quand aux pages ASP.NET Web Forms, la vue (page ASPX) manque de souplesse dans le sens où elle doit souvent contenir trop de traitements ne facilitant pas le découpage en couche de l application. Le modèle MVC permet d agir sur la conception et le développement de l application en assurant un découpage en couche. Mais sa contrepartie réside dans un développement plus coûteux en temps. Le choix entre les pages WebForms et les pages MVC se fera en fonction de l évaluation des critères suivants : nombre de pages Web dans le projet, exigence en matière d architecture (la présence d un architecte étant souhaitée), connaissances des développeurs en matière d architecture, temps alloué pour développer le projet B. Exécution d'une requête HTTP Pour créer une application avec ASP.NET MVC, il est important de comprendre comment est traitée une requête HTTP à destination d'une page ASP.NET MVC : Page 2 sur 41

3 1 - Un utilisateur envoie au travers d'un client Web une requête vers une application ASP.NET MVC. 2 - Le module UrlRoutingModule intercepte la requête pour la router en fonction des routes définies dans la table de routage (créée lors du démarrage de l'application). Cette requête ne vise pas une page directement une page. Elle désigne une action d'un contrôleur. Si aucune action n'est précisée dans la requête HTTP, alors il s'agit de l'action Index par défaut qui est exécutée sur le contrôleur. Si le contrôleur n'est pas présent, alors l'action Index est exécutée sur le contrôleur Home. Ce contrôleur et action par défaut sont définis dans le fichier global.asax. Le module UrlRoutingModule est défini dans le fichier de configuration : <httpmodules> <add name="urlroutingmodule" type="system.web.routing.urlroutingmodule, System.Web.Routing, Version= , Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpmodules> Page 3 sur 41

4 3 ; 4 et 5 - Le contrôleur s'exécutant, peut faire appel au modèle pour consulter de la base de données, exécuter des traitements métiers, mettre à jour des données 6 - Le contrôleur demande à un vue de s'exécuter, afin de présenter des données à l'utilisateur et recueillir ses futures demandes. C. Création de l'application MVC C.1. Création du projet ASP.NET MVC Après avoir lancé Visual Studio 2010, créons un nouveau projet de type Application ASP.NET MVC. Après avoir cliqué sur le bouton OK, la fenêtre suivante apparaît : Page 4 sur 41

5 Cette fenêtre propose de créer un projet de test, permettant de tester notre application ASP.NET MVC au fur et à mesure de son développement. Nous refusons cette proposition et cliquons sur le bouton OK. Dans l'explorateur de solutions de Visual Studio, nous observons la présence d'un ensemble de répertoires et de fichiers : Page 5 sur 41

6 Notre application ASP.NET MVC possède une structure particulière, que nous allons devoir respecter. Elle est constituée : D'un répertoire Content, qui contiendra les éléments graphiques et de présentation de notre application : feuilles de styles CSS et XSLT, images... D'un répertoire Controllers, qui contiendra tous les contrôleurs de notre application. D'un répertoire Models, qui contiendra les classes qui constituent le modèle de l'application ASP.NET MVC. Dans notre cas, le modèle est existant et externalisé dans le projet de type bibliothèque de classes nommé LearningCompany_DAO. D'un répertoire Scripts, contenant les scripts JavaScript de l'application. Par défaut, ce répertoire contient les fichiers JavaScript composant les Frameworks JQuery et Ajax spécifiques pour ASP.NET MVC. Le fichier global.asax définit le routage par défaut de notre application. Il s'agit d'un concept déjà présent dans la version 3.5 du Framework.NET. Dans les applications ASP.NET MVC, Microsoft l'utilise pour permettre d'exécuter une Page 6 sur 41

7 action d'un contrôleur à partir d'une URL. Il est aussi possible de personnaliser le routage en définissant ses propres règles. Par exemple, soit l'url suivante : Pour définir une route correspondant à cette URL, nous ajoutons le bloc de code suivant la méthode RegisterRoutes du fichier Global.asax, où routes est le paramètre de cette méthode de type RouteCollection. routes.maproute( "NomRoute", "UnControleur/UneAction/UnParametre", new // valeurs par défaut UnControleur = "Formation", UneAction = "Gestion", UnParametre = "" ); D'un répertoire Views, contenant toutes les vues. Lors de leur création, nous auront l'occasion de définir les caractéristiques suivantes : Le type de la vues (!!! Revoir les noms!!!) : vues pages (pages ASP.NET à part entière), vues de contenu (pages s'exécutant au sein d'une Master Page) et vues partielles (aussi appelée vues contrôles utilisateurs Web). S'il s'agit d'une vue typée ou non typée. Une vue typée permet de gérer un objet ou une collection d'objets d'un type particulier, par exemple un type du modèle de l'application. Le mode de gestion, permettant de définir le comportement de la vue en fonction de son rôle : "List" pour afficher le contenu d'une collection d'objets, "Detail" pour consulter l'ensemble des propriétés d'un objet, "Edit" pour modifier l'ensemble des propriétés d'un objet, Le répertoire Views contient un répertoire Shared, dont le rôle est particulier au sein de l'application. Comme son nom l'indique, il contient des vues qui partagées entre tous les contrôleurs de l'application. Lorsqu'un contrôleur souhaite exécuter une vue, le process de recherche d'une vue est le suivant : La vue (page ou contrôle utilisateur) est d'abord recherchée dans le répertoire ~/Views/<nomControleur>, où le nom du contrôleur est celui du contrôleur ayant demandé l'exécution de la vue. Si cette vue n'est pas trouvée, alors elle est recherchée dans le répertoire ~/Views/Shared. C.2. Préparation de l'application Le projet créé contient des fichiers que nous pouvons utiliser comme modèle pour accélérer le développement de notre application. Nous allons préparer notre projet, en supprimant les fichiers que nous n'utiliserons pas, et en indiquant ceux dont nous modifierons le contenu. Dans la copie-écran présentée ci-dessous, les Page 7 sur 41

8 fichiers encadrés en rouge sont ceux que nous supprimons, et les fichiers encadrés en vert sont ceux que nous modifierons : Ce projet va s'appuyer sur notre composant d'accès aux données LearningCompany_DAO, afin de pour lire et modifier les données de la base de données LearningCompany. Page 8 sur 41

9 Pour cette raison, nous ajoutons deux références dans notre projet, référençant les composants suivants : LearningCompany.dll. System.Data.Entity.dll. Il s'agit d'un composant du Framework.NET, permettant de pouvoir manipuler les entités exposées par notre composant d'accès aux données dans notre application. Pour le bon fonctionnement de notre composant d'accès aux données, nous devons définir dans le fichier de configuration de notre application ASP.NET MVC, la chaîne de connexion qu'il utilise. Conformément à ses spécifications (!!! A REVOIR, le contenu aussi!!!), il est elle doit être identifiée par le nom "CS_DataBase" : <connectionstrings> <add name="cs_database" connectionstring="metadata=res://*/learningcompany.csdl res://*/l earningcompany.ssdl res://*/learningcompany.msl;provider=system.d ata.sqlclient;provider connection string="data Source=localhost\sql2008;Initial Catalog=LearningCompany;Persist Security Info=True;User ID=userTest;Password=passwd;MultipleActiveResultSets=True"" providername="system.data.entityclient"/> </connectionstrings> C.3. Création de l'application C.3.a. Structure de l'application Voici la structure de l'application que nous allons réaliser : Page 9 sur 41

10 Ce design est composé de trois zones distinctes : Une zone "bandeau" contenant une présentation du centre de formation, et permettant à un utilisateur de se connecter afin de pouvoir utiliser des fonctionnalités avancées, de se déconnecter, et de modifier les informations le concernant. Une zone "fonctionnalités" permettant d'accéder à l'ensemble des fonctionnalités de l'application, à savoir : Accéder à la liste des formations par thème. Rechercher une formation à partir d'un libellé. Une zone "corps" affichant le contenu principal de la page, résultant des fonctionnalités, ou d'une action même au sein du corps. Pour implémenter cette structure, nous utiliserons une Page Maître, qui contiendra des panneaux (contrôle de type ContentPlaceHolder), dont le contenu du corps sera fourni lors de l'exécution des pages de contenu de l'application. Par défaut, notre application contient déjà une Page Maître, dont le nom est Site.Master, et contenue dans le répertoire /Views/Shared de l'application ASP.NET MVC. Nous modifions le code XHTML de cette page, de manière à créer trois divisions où chaque division correspond à une zone décrite ci-dessus : <body> <form runat="server"> <div id="bandeau"> </div> <div id="fonctionnalites"> </div> Page 10 sur 41

11 <div id="corps"> <asp:contentplaceholder ID="MainContent" runat="server" /> </div> </form> </body> Nous modifions aussi la feuille de style Site.css, afin de positionner et mettre en forme ces divisions : /******************************************************** *** Général. ********************************************************/ * padding:0px; margin:0px; /******************************************************** *** Zones de la Master Page. ********************************************************/ #Bandeau width:1000px; height:70px; background-color:#e7e7d9; #Fonctionnalites width:200px; height:800px; background-color:#bcb7ff; position:relative; float:left; padding:5px; #Corps width:750px; padding:5px; position:relative; float:left; /******************************************************** *** Liste de puces. ********************************************************/ ul padding-left:20px; /******************************************************** *** Sélecteurs d'éléments. ********************************************************/ h1 Page 11 sur 41

12 h2 padding-bottom:25px; text-align:center; margin-bottom:16px; text-align:center; /******************************************************** *** Alignements. ********************************************************/.CentrerConteneur margin-left: auto; margin-right: auto; Lors de l'exécution de la page de contenu WelCom.aspx, nous obtenons le résultat suivant : C.3.b. Réalisation du bandeau Le bandeau de notre application doit permettre à tout client de s'authentifier, afin de pouvoir modifier les informations le contenant ou pouvoir effectuer une demande d'informations complémentaire sur une formation (proposition de dates, formateur dispensant la formation, ). Pour ce faire, nous ajoutons dans le Page 12 sur 41

13 bandeau un lien hypertexte permettant de se connecter. Dès que l'utilisateur est connecté, alors le texte du lien doit être modifié, afin de l'inviter à se déconnecter, et un nouveau lien hypertexte intitulé "Mon compte" apparaît afin de lui permet de modifier les informations le concernant. Pour un utilisateur non connecté, le bandeau aura l'apparence suivante : Dans le cas inverse, l'utilisateur connecté verra le bandeau suivant : Nous aborderons l'implémentation de cette interface une fois que nous aurons implémenté la sécurité dans notre application. C.3.c. Réalisation de la zone des fonctionnalités Voici le design de la zone des fonctionnalités : La zone du libellé peut contenir tout ou partie d'un libellé d'une formation. Lorsque l'utilisateur clique sur le bouton intitulé "OK", alors la liste des formations correspondant dont le libellé contient le libellée recherché apparaissent dans le corps. Par exemple, si nous recherchons les formations contenant la chaîne de caractères "2007", le résultat suivant apparaît : Page 13 sur 41

14 Il en va de même si nous cliquons sur un thème, excepté que les formations affichées sont celles lui appartenant. C.4. Identification d'un client C.4.a. Mise en œuvre du service de gestion de la sécurité dans ASP.NET Avant de pouvoir déterminer quelles fonctionnalités de l'application auxquelles un client peut accéder, nous devons l'identifier au travers d'une fenêtre de connexion, dans laquelle il sera invité à saisir sa référence client et son mot de passe : En cas d'échec de l'identification, un message doit apparaître signalant que la référence client ou le mot de passe est incorrect. Pour implémenter l'identification des utilisateurs dans notre application, nous utiliserons le service d'authentification proposé par ASP.NET. Ce service peut être mis en œuvre avec un faible effort de développement. Il est possible de l'utiliser avec une base de données SQL Server proposée par Microsoft avec un schéma prédéfini, que nous pouvons créer avec l'outil aspnet_regsql (soit en ligne de commande, soit via un assistant graphique). Le Framework.NET fournit un provider nommé AspnetMembershipProvider permettant à ce service d'utiliser cette base de données. Il est aussi possible de définir notre propre base de données avec notre propre schéma. Ce sera le cas dans notre application. Pour ce faire, nous commercerons par créer un provider personnalisé permettant au service d'authentification d'utiliser notre base de données. Le schéma ci-dessous explicite le fonctionnement de ce service : Page 14 sur 41

15 La source de données sera la base de données de l'application. Le composant permettant d'accéder et gérer les données sera le composant LearningCompany_DAO. Etant donné que nous souhaitons authentifier les clients du centre de formation, l'entité utilisée au sein de ce composant d'accès aux données sera l'entité Client. Pour que le service de gestion de la sécurité puisse utiliser cette entité, nous devons créer un provider personnalisé, que nous déclarerons dans le fichier de configuration de l'application ASP.NET. C.4.b. Création du provider personnalisé Dans notre application ASP.NET MVC, nous créons un répertoire nommé Securite. Dans ce répertoire, nous créons une classe nommée OffreFormationMembershipProvider, qui spécialise la classe System.Web.Security.MembershipProvider du Framework.NET. Il s'agit d'une classe abstraite que toute classe constituant un provider personnalisé d'authentification doit hériter, et redéfinir les méthodes abstraites de cette classe. Pour les besoins de notre application nous redéfinirons uniquement la méthode ValidateUser, qui permet de savoir si une référence client et un mot de passe correspondent à un client enregistré dans notre base de données. Dans l'implémentation de cette méthode, nous utiliserons la méthode statique GetInstance de la classe Client. Si elle retourne un objet de type Client, alors cette méthode retournera la méthode true. Si elle retourne la valeur null, alors cette méthode retournera la méthode false. Page 15 sur 41

16 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using LearningCompany_DAO; namespace LearningCompany_OffreFormations.Securite public class OffreFormationMembershipProvider : MembershipProvider // Autres méthodes abstraites... public override bool ValidateUser(string areference, string amotdepasse) return Client.GetInstance(aReference, amotdepasse)!= null; Chacune des méthodes abstraites jouent un rôle particulier. Pour compléter cette classe vous devrez implémenter celles qui correspondent aux fonctionnalités du service d'authentification ASP.NET que vous souhaitez utiliser. C.4.c. Authentification d'un utilisateur et vérification des autorisations Voici un schéma présentant le processus d'identification d'un utilisateur souhaitant exécutée une page ASP.NET sécurisée : Page 16 sur 41

17 Un utilisateur demande l'accès à une page de l'application, en envoyant une requête HTTP au travers d'un navigateur Web. Le processus d'authentification commence. Il vérifie si la requête HTTP contient des preuves d'authentification (connues sous le nom de credentials en anglais), permettant d'identifier l'utilisateur ayant envoyée la requête. Si ces preuves ne sont pas trouvées ou insatisfaisantes, alors l'utilisateur est automatiquement rediriger vers la page d'identification. On remarque dans la barre d'adresse du navigateur la présence du paramètre nommé ReturnUrl, contenant l'url de la page vers laquelle l'utilisateur doit être redirigé si l'identification réussie et si les autorisations sont satisfaisantes. Tant que l'utilisateur ne saisit pas une référence client et un mot de passe correct, il reste sur la page d'identification. Dès qu'il saisit des informations correctes, le processus ASP.NET ajoute un cookie d'identification crypté à la réponse HTTP qui sera faite au client (action par défaut, qu'il est possible de paramétrer. Puis il vérifie que le compte identifié possède les autorisations nécessaires pour accéder à la page demande. Si c'est le cas, alors la page initialement demandée est exécutée, et le résultat de l'exécution est renvoyé au client. Le cas échéant, il est automatiquement renvoyé vers la même page d'identification. Lors de l'envoi des requêtes HTTP suivantes, le cookie d'identification est automatiquement attaché à la requête, afin que le serveur IIS puisse authentifier l'utilisateur. C.4.d. Enregistrement du provider personnalisé Pour que le service d'authentification puisse utiliser le provider que nous avons défini, nous devons l'enregistrer dans le fichier de configuration de l'application ASP.NET MVC. Dans ce fichier, nous nous positionnons sous l'élément System.Web et ajoutons les éléments XML suivants : <membership defaultprovider="custommembershipprovider"> <providers> <clear/> <add name="custommembershipprovider" type="learningcompany_offreformations.securite.offreformationmemb ershipprovider" /> </providers> </membership> Ces éléments XML permettent de déclarer une instance de notre provider OffreFormationMembershipProvider, que nous nommons CustomMembershipProvider. C.4.e. Définition du type d'authentification Pour utiliser le service de sécurité, toujours dans l'élément System.Web, nous ajoutons les lignes suivantes : <authentication mode="forms"> Page 17 sur 41

18 <forms loginurl="~/connexion/connecter" /> </authentication> Ces lignes permettent de déclarer que nous utilisons l'authentification par formulaire, ainsi que le l'url permettant d'accéder au formulaire de connexion. Cette URL est constituée du nom d'un contrôleur (Connexion) et d'une action (Connecter). Nous détaillerons cette écriture d'url ultérieurement dans ce chapitre. C.4.f. Connexion / déconnection des utilisateurs De manière à pouvoir enregistrer un client identifié et déconnecter un client, nous ajoutons dans le répertoire Securite de notre application, une classe que nous nommons FormsAuthenticationService. L'implémentation de cette classe est la suivante : public class FormsAuthenticationService public void Connecter(string areference, bool createpersistentcookie) FormsAuthentication.SetAuthCookie(aReference, createpersistentcookie); public void Deconnecter() FormsAuthentication.SignOut(); Le rôle de cette classe est d'assurer, au sein de notre application, un couplage faible entre le service d'authentification ASP.NET et les pages et contrôles utilisateurs qui l'utiliseront. Autrement dit, si nous utilisons un autre mécanisme d'authentification pour nos utilisateurs, nous limitons les modifications à apporter dans le code de l'application. Elle contient deux méthodes permettant de piloter le service d'authentification ASP.NET : La méthode Connecter permet de créer un cookie d'identification crypté qui sera automatiquement associé à la réponse renvoyée à l'utilisateur. Pour ce faire, nous appliquons la méthode statique SetAuthCookie de la classe FormsAuthentication, en lui fournissant la référence client permettant d'identifier le client connecté, et une valeur booléenne indiquant si le cookie est persistant (cookie utilisable par un même client au travers de différentes sessions ASP.NET). La méthode Deconnecter permet de déconnecter un utilisateur, en supprimant le cookie d'identification de la réponse renvoyée à l'utilisateur. Si l'utilisateur renvoie une nouvelle requête HTTP, il sera automatiquement redirigé vers la page d'authentification précédemment défini dans le fichier de configuration. Page 18 sur 41

19 C.4.g. Identification d'un utilisateur Dans le répertoire Securite, nous ajoutons une classe nommée ClientMembershipService. L'implémentation de cette classe est la suivante : public class ClientMembershipService private MembershipProvider Provider get; set; public ClientMembershipService() Provider = Membership.Provider; public bool CompteExiste(string areference, string amotdepasse) return Provider.ValidateUser(aReference, amotdepasse); Cette classe définit une propriété simplifiée nommé Provider, qui doit contenir une instance du provider créé par le service d'authentification ASP.NET, à partir des informations du provider Membership défini dans le fichier de configuration. Pour ce faire nous ajoutons un constructeur, qui initialise cette propriété via la propriété statique Provider de la classe System.Web.Security.Membership. Pour déterminer si un client existe dans notre base de données à partir d'une référence client et d'un mot de passe, nous créons une méthode acceptant en paramètre ces informations et retournant une valeur booléenne. Dans cette méthode nous exécutons la méthode ValidateUser sur la propriété Provider. Cette instruction permet d'exécuter la méthode de même nom de notre provider personnalisé. Ainsi dans cette méthode, retourne la valeur true si un client a été trouvé à partir de la référence et du mot de passe passé en paramètre, et false le cas échéant. C.4.h. Gestion des autorisations Une fois notre mécanisme d'authentification implémenté dans notre application, nous devons gérer les autorisations. Nous souhaitons que les utilisateurs soient authentifiés pour exécuter toutes les actions du contrôleur Client et l'action DemanderInfos du contrôleur Formation. Pour ce faire, nous appliquons la métadonnée System.Web.Mvc.AuthorizeAttribute au contrôleur Client et à l'action DemanderInfos du contrôleur Formation. Cette métadonnée, appliquée à un contrôleur, permet de s'assurer que tous les utilisateurs qui demandent l'exécution d'une action lui appartenant doivent être authentifiés. Appliqué à une action, cette règle s'applique uniquement sur l'action. => Plus d'actualité. A changer (juste une possibilité). Page 19 sur 41

20 C.4.i. Connexion / déconnection d'un utilisateur Dans le bandeau de l'application, le lien hypertexte permettant initialement de s'identifier est un lien à deux états. Un premier état permet à l'utilisateur de s'identifier ne l'est pas. Un second état permettant de demander à se déconnecter, le lien affichant le libellé Deconnexion. Lors de l'évolution de l'application, ce lien hypertexte peut être utilisé dans différentes pages, tout en conservant le même comportement. Afin d'implémenter une seule fois ce comportement dans notre application, nous ajoutons dans le répertoire ~/Views/Shared, un contrôle utilisateur MVC, que nous nommons AccesConnexion.ascx. Le code contenu dans ce contrôle présenté ci-dessous implémente cette fonctionnalité : Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <% if (Request.IsAuthenticated) %> <%= Html.ActionLink("Déconnexion", "Deconnecter", "Connexion")%> <% else %> <%= Html.ActionLink("Connexion", "Connecter", "Connexion")%> <% %> La méthode ActionLink de l'objet Html (qui est une propriété héritée) génère un lien hypertexte, qui permet d'exécuter une action d'un contrôleur. Dans notre code, si l'utilisateur n'est pas authentifié, alors un lien hypertexte affichant le libellé Déconnexion et permettant d'exécuter l'action Deconnecter du contrôleur Connexion est affiché. Le cas échéant, un lien hypertexte affichant le libellé Connexion et permettant d'exécuter l'action Connecter du contrôleur Connexion est affiché. Pour utiliser ce contrôle dans le bandeau de l'application, nous affichons le code de la Master Page MVC Site.master, et nous positionnons dans la division correspondant au bandeau. Nous ajoutons alors le bloc de code suivant : <p> <% Html.RenderPartial("AccesConnexion"); %> </p> Ce bloc de code permet d'injecter dans la page maître le rendu du contrôle AccesConnexion.ascx lors de l'exécution de la page maître. Page 20 sur 41

21 D. Création des contrôleurs et des vues D.1. Présentation des contrôleurs Notre application sera constituée des contrôleurs suivants : Home : contrôleur par défaut de l'application, il permet au travers de son action Index, d'accéder à la page d'accueil de l'application ~/Home/Index.aspx. Client : permet d'agir sur un client, à savoir pouvoir afficher les informations le concernant et les modifier. Formation : permet de pouvoir accéder à un ensemble de formations, notamment lors de l'exécution des fonctionnalités de recherche des formations, et de fournir des informations les concernant. Connexion : permet de gérer la connexion / déconnexion d'un utilisateur, en utilisant le service d'authentification ASP.NET. Voici un schéma indiquant les interactions entre les vues et les contrôleurs de notre application : D.2. Implémentation du contrôleur Home Page 21 sur 41

22 Contenu dans le répertoire Controllers de l'application, le contrôleur Home est le contrôleur par défaut de notre application. Il est créé en même temps que l'application et est implémenté par la classe HomeController. Dans une application ASP.NET MVC, toute classe contrôleur est suffixée par Controller, et dérive de la classe System.Web.Mvc.Controller du Framework.NET. Il en sera de même pour tous les contrôleurs que nous créerons dans notre application. D.2.a. Implémentation de l'action Index() L'action Index est l'action par défaut de ce contrôleur, autrement dit qu'elle est exécutée si une route demande l'exécution du contrôleur Home sans préciser de contrôleur. Son rôle est de retourner la vue qui lui est affectée : [HandleError] public class HomeController : Controller public ActionResult Index() return View(); La métadonnée HandleError positionnée sur le contrôleur est utilisée pour faciliter la gestion des erreurs dans les contrôleurs. Cette action redirige l'utilisateur vers la vue ~/Views/Home/Index.aspx. Cette vue affiche un message de bienvenue : Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> <asp:content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server"> LearningCompany - Présentation </asp:content> <asp:content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> <h2>bienvenue chez Learning Company</h2> <p> Veuillez rechercher des formations via leur libellé ou leur référence, ou cliquer sur un thème dans la liste ci-contre. </p> </asp:content> En exécutant l'url nous obtenons le résultat suivant (nous n'afficherons que le corps de la page) : Page 22 sur 41

Affichage d'une table de base de données

Affichage d'une table de base de données Affichage d'une table de base de données par Philippe Vialatte (Traduction) (ma page DVP) (Blog) Date de publication : 22 Avril 2009 Dernière mise à jour : Traduction...3 Introduction...3 Créer les classes

Plus en détail

Asp.NET MVC - Authentification des utilisateurs via l'authentification Windows

Asp.NET MVC - Authentification des utilisateurs via l'authentification Windows Asp.NET MVC - Authentification des utilisateurs via l'authentification Windows par Rémy Mainil (Traduction) (http://rmainil.developpez.com/) Date de publication : 26 avril 2009 Dernière mise à jour : Apprenez

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

MODULE : PROGRAMMATION DE SITES WEB DYNAMIQUE

MODULE : PROGRAMMATION DE SITES WEB DYNAMIQUE MODULE : PROGRAMMATION DE SITES WEB DYNAMIQUE LEÇON :MASTER PAGE Formateur :A BENDAOUD OFPPT/DRPS/ISGI LAAYOUNE Les Master Pages Prenons l exemple d un site composé de trois grandes parties : une bannière

Plus en détail

TP3 : Ajout d'un modèle. Ajouter des Classes de modèle. 1- L approche Code First

TP3 : Ajout d'un modèle. Ajouter des Classes de modèle. 1- L approche Code First TP3 : Ajout d'un modèle 1- L approche Code First Dans cette section, vous ajouterez quelques classes pour gérer les films dans une base de données. Ces classes vont constituer la partie «modèle» de l'application

Plus en détail

La double authentification dans SharePoint 2007

La double authentification dans SharePoint 2007 La double authentification dans SharePoint 2007 Authentification NT et Forms sur un même site Dans de nombreux cas on souhaite pouvoir ouvrir un accès sur son serveur SharePoint à des partenaires qui ne

Plus en détail

Module: Programmation sites Web Dynamique

Module: Programmation sites Web Dynamique Module: Programmation sites Web Dynamique Formateur: A BENDAOUD LEÇON : MÉTHODES DE NAVIGATION Les différentes méthodes de navigation : Voici les différentes méthodes que nous allons expliciter dans cette

Plus en détail

< Atelier 3 /> Ajouter la navigation

< Atelier 3 /> Ajouter la navigation < Atelier 3 /> Ajouter la navigation Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE TECHNIQUE... 4 2 CONSTRUIRE UN PLAN DE SITE...

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

Gestion de l authentification et des autorisations

Gestion de l authentification et des autorisations Gestion de l authentification et des autorisations Version 1.1 BEDE Nicolas GERAUD Cédric James RAVAILLE http://blogs.dotnet france.com/jamesr 2 Gestion de l authentification et des autorisations (v. 1.1)

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En pratique Pour réaliser ce TD vous avez besoin de :. Un navigateur web. Un client FTP ou une invite de commande Unix. Un éditeur de texte Pour le TD nous

Plus en détail

WEBSTATISTICA - Version 10

WEBSTATISTICA - Version 10 WEBSTATISTICA - Version 10 Instructions d'installation WEBSTATISTICA Serveur Unique pour utilisation sous Terminal Server et Citrix Remarques : 1. Ces instructions s'appliquent à une installation sous

Plus en détail

WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE

WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE 1. Introduction WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE En règle générale, les administrateurs ne travaillent pas en salle serveurs. Et cette dernière peut se trouver n'importe où dans le bâtiment.

Plus en détail

Reporting Services - Administration

Reporting Services - Administration Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

SLAM4 Gestion des cours et requêtage SQL Travaux pratiques

SLAM4 Gestion des cours et requêtage SQL Travaux pratiques 1. La base de données... 1 2. Création de l'application GestionCours... 2 2.1. Créer l'application «GestionCours» à l'aide de l'ide Visual Studio 2010... 2 2.2. Objectif : créer un formulaire permettant

Plus en détail

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL L3 - SITES WEB DYNAMIQUES MINI-WALL 1 Introduction L'objectif de ce TD est de mettre en place un mini "livre d'or", permettant à vos visiteurs de vous laisser des messages sur votre site. Une page affiche

Plus en détail

Chapitre 4 La base de données

Chapitre 4 La base de données Chapitre 4 La base de données La Base de données INTRODUCTION 4 La Base de données INTRODUCTION Vectorworks permet de lier les objets du dessin à des formats de base de données (BDD), c'est-à-dire d'associer

Plus en détail

Fonctionnement du Site Web Dynamique:

Fonctionnement du Site Web Dynamique: Fonctionnement du Site Web Dynamique: Site Web Dynamique: Un site Web dynamique est en faite un site Web dont les pages qu'il contient peuvent être générées dynamiquement, c'est à dire à la demande de

Plus en détail

Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7

Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7 Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7 Installation du service IIS Fermer toutes les applications ouvertes (par précaution) Ouvrir le panneau de configuration, Programmes,

Plus en détail

Construire une application marketing Facebook sur la plateforme Windows Azure

Construire une application marketing Facebook sur la plateforme Windows Azure Construire une application marketing Facebook sur la plateforme Windows Azure Lorsque le «Social Effect» est au rendez-vous, comment s assurer que votre application va supporter la montée en charge? Nous

Plus en détail

420-283 Programmation d'un serveur Session H-2008

420-283 Programmation d'un serveur Session H-2008 420-283 Programmation d'un serveur Session H-2008 1. Une station cliente Client HTTP Encodage SSL Client FTP Client SMTP Client POP Client NNTP HyperText Transfer Protocol Le client HTTP permet la réception

Plus en détail

ASP.NET 2.0. Applications Web. Campus-Booster ID : 697. www.supinfo.com. Copyright SUPINFO. All rights reserved

ASP.NET 2.0. Applications Web. Campus-Booster ID : 697. www.supinfo.com. Copyright SUPINFO. All rights reserved ASP.NET 2.0 Applications Web Campus-Booster ID : 697 www.supinfo.com Copyright SUPINFO. All rights reserved ASP.NET 2.0 Applications Web Objectifs de ce module En suivant ce module vous allez : Découvrir

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE 1 Introduction aux tests de performance et de charge Sommaire Avertissement...2 Aperçu...3 1. Création du scénario de navigation web (Test web)...4 2.

Plus en détail

Publier un site WEB.NET 2.0 avec VS 2005

Publier un site WEB.NET 2.0 avec VS 2005 Publier un site WEB.NET 2.0 avec VS 2005 La publication d'un site WEB.NET 2.0 avec VS 2005 Il est intéressant de savoir comment mettre en ligne son application WEB développée en ASP.NET 2.0 avec Visual

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

Google Chrome. La barre de favoris: Une petit barre (Ctrl+B) qui fait tout la largeur du navigateur juste en dessous de la barre de recherche.

Google Chrome. La barre de favoris: Une petit barre (Ctrl+B) qui fait tout la largeur du navigateur juste en dessous de la barre de recherche. Google Chrome Résumé rapide: Lien de téléchargement: http://www.google.fr/chrome La barre de favoris: Une petit barre (Ctrl+B) qui fait tout la largeur du navigateur juste en dessous de la barre de recherche.

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE 1 sur 54 Projet Émetteur du Document Groupe GSE Destinataire du Document J.L. Massat Titre Nom Du Fichier O_Analyse_Detaillee_v2.1.pdf Version v2.1 Historique Des Versions Version Date Création Date Validation

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Programmation en C# avec Visual Studio 2010

Programmation en C# avec Visual Studio 2010 CATALOGUE DE FORMATION Année 2011 Sommaire Programmation en C# avec Visual Studio 2010... 3 Introduction au développement Web avec Visual Studio 2010... 4 Développement d'applications Web avec Microsoft

Plus en détail

Plateforme d'évaluation professionnelle. Manuel d utilisation de l interface de test d EvaLog

Plateforme d'évaluation professionnelle. Manuel d utilisation de l interface de test d EvaLog Plateforme d'évaluation professionnelle Manuel d utilisation de l interface de test d EvaLog Un produit de la société AlgoWin http://www.algowin.fr Version 1.0.1 du 18/01/2015 Table des matières Présentation

Plus en détail

Serveur d'archivage 2007 Serveur Archivage : Manuel Utilisateur

Serveur d'archivage 2007 Serveur Archivage : Manuel Utilisateur Type du document Manuel utilisateur Auteur(s) Eric Bouladier Date de création 26/03/2007 Domaine de diffusion Illimité Validé par Versions Date Auteur(s) Modifications 1.0 26/03/2007 Eric Bouladier Création

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

STATISTICA - Version 10

STATISTICA - Version 10 STATISTICA - Version 10 Instructions d'installation de STATISTICA Entreprise pour une Utilisation sous Terminal Server et Citrix Remarques : 1. Ces instructions s'appliquent à une installation sous Terminal

Plus en détail

WWW.MELDANINFORMATIQUE.COM

WWW.MELDANINFORMATIQUE.COM Solutions informatiques Procédure Sur Comment créer un premier Site SharePoint 2010 Historique du document Revision Date Modification Autor 3 2013-04-29 Creation Daniel Roy 1. But.4 2. Configuration..4

Plus en détail

Tutoriel Chat AJAX Partie 2 : Prototype, Scriptaculous, Application HTML

Tutoriel Chat AJAX Partie 2 : Prototype, Scriptaculous, Application HTML Tutoriel Chat AJAX Partie 2 : Prototype, Scriptaculous, Application HTML Prototype et Scriptaculous Pour cette application de "chat" nous utiliserons deux librairies populaires de Javascript : Prototype

Plus en détail

ACCESS 2003. Auteur : THIERRY TILLIER Formateur informatique Les requêtes : étape 3

ACCESS 2003. Auteur : THIERRY TILLIER Formateur informatique Les requêtes : étape 3 ACCESS 2003 Auteur : THIERRY TILLIER Formateur informatique Les requêtes : étape 3 2/33 Copyright 2005 Tous droits réservés. www.coursdinfo.fr Table des matières Chapitre 1 Les requêtes-introduction...5

Plus en détail

Plateforme d'évaluation professionnelle. Manuel d utilisation du service Web d EvaLog

Plateforme d'évaluation professionnelle. Manuel d utilisation du service Web d EvaLog Plateforme d'évaluation professionnelle Manuel d utilisation du service Web d EvaLog Un produit de la société AlgoWin http://www.algowin.fr Version 1.1.0 du 31/01/2015 Table des matières Présentation d

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

Plus en détail

A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations.

A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations. Chapitre 4 A. Introduction Le contrôle d'accès représente une opération importante au niveau de la gestion de la sécurité sur un serveur de bases de données. La sécurisation des données nécessite une organisation

Plus en détail

STATISTICA Version 12 : Instructions d'installation

STATISTICA Version 12 : Instructions d'installation STATISTICA Version 12 : Instructions d'installation STATISTICA Entreprise (Small Business Edition) Remarques 1. L'installation de STATISTICA Entreprise (Small Business Edition) s'effectue en deux temps

Plus en détail

TD n 1 : Architecture 3 tiers

TD n 1 : Architecture 3 tiers 2008 TD n 1 : Architecture 3 tiers Franck.gil@free.fr 27/10/2008 1 TD n 1 : Architecture 3 tiers 1 INTRODUCTION Ce TD, se propose de vous accompagner durant l installation d un environnement de développement

Plus en détail

MEDIAplus elearning - version 6.6

MEDIAplus elearning - version 6.6 MEDIAplus elearning - version 6.6 LMS Export et LMS Etendu Sommaire 1.Avant propos... 4 1.1. Le mode LMS Export... 5 1.2. Le mode LMS Etendu... 6 2.MEDIAplus LMS Export... 7 2.1. Principe de l administration

Plus en détail

Guide d installation. Le Portail Sage v2.0. Pour les professionnels de l Habitat Social

Guide d installation. Le Portail Sage v2.0. Pour les professionnels de l Habitat Social Guide d installation Le Portail Sage v2.0 Pour les professionnels de l Habitat Social Le Portail Sage 2.0 juin 2011 Sommaire 1 Prérequis d installation :... 3 2 Architecture technique... 4 2.1 Ordre d

Plus en détail

ASP.NET 4.5 avec C# sous Visual Studio 2012 Conception et développement d'applications Web

ASP.NET 4.5 avec C# sous Visual Studio 2012 Conception et développement d'applications Web Visual Studio 2012 et.net 4.5 1. Nouveautés de Visual Studio 2012 15 1.1 Installation 17 1.2 Interface du logiciel 18 1.2.1 La page de démarrage 19 1.2.2 Les fenêtres de Visual Studio 20 1.2.3 Les activités

Plus en détail

Déploiement d'une base SQL Express

Déploiement d'une base SQL Express Déploiement d'une base SQL Express Comment déployer une base avec SQL Express Après l'article sur le déploiement d'une application ASP.NET, il fallait aborder la partie concernant les données. Ainsi, nous

Plus en détail

FileSender par RENATER - Guide utilisateur

FileSender par RENATER - Guide utilisateur FileSender par RENATER - Guide utilisateur Filesender par RENATER est un service de transfert sécurisé de fichiers volumineux à disposition des utilisateurs de la communauté de l'enseignement supérieur

Plus en détail

TP1 SI6. Démonstration de l'intérêt du développement en couches Passer d'une architecture 2 tiers à une architecture 3 tiers.

TP1 SI6. Démonstration de l'intérêt du développement en couches Passer d'une architecture 2 tiers à une architecture 3 tiers. TP1 SI6 Démonstration de l'intérêt du développement en couches Passer d'une architecture 2 tiers à une architecture 3 tiers. Savoir - faire : Concevoir une interface utilisateur Développer ou maintenir

Plus en détail

Développement d une application de gestion de contacts avec ASP.NET MVC (C#)

Développement d une application de gestion de contacts avec ASP.NET MVC (C#) Développement d une application de gestion de contacts avec ASP.NET MVC (C#) Etape 4 Rendre l application faiblement couplée Dans cette 4ème étape, nous allons mettre en œuvre plusieurs modèles de développement

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Applications Réparties TD 3 Web Services.NET

Applications Réparties TD 3 Web Services.NET Ce TD vous enseignera les bases de l'utilisation des Web Services en.net avec Visual Studio.NET 1 Introduction Vos applications.net, quelles soient Windows Forms ou Web Forms, peuvent avoir recours, dans

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Sécurisation d une application ASP.NET

Sécurisation d une application ASP.NET Sécurisation d une application ASP.NET 1- Authentification L authentification est un processus essentiel à la sécurisation d une application internet. Ce processus permet d authentifier l entité à l origine

Plus en détail

Pages maîtres et thèmes

Pages maîtres et thèmes Pages maîtres et thèmes Page Maître Une page maître est une page Asp.Net qui possède les caractéristiques suivantes: Classe de base : MasterPage Extension: master Possède la directive Master au lieu de

Plus en détail

Accès externe aux ressources du serveur pédagogique

Accès externe aux ressources du serveur pédagogique Accès externe aux ressources du serveur pédagogique 1. Principe de fonctionnement... 1 2. Utilisation... 2 2.1. Gestion des dossiers et fichiers... 3 2.2. Exemple d'utilisation... 4 1. Principe de fonctionnement

Plus en détail

MEDIAplus_page de garde_v67_mise en page 1 09/12/2010 09:23 Page 2. MEDIAplus elearning. version 6.7

MEDIAplus_page de garde_v67_mise en page 1 09/12/2010 09:23 Page 2. MEDIAplus elearning. version 6.7 MEDIAplus_page de garde_v67_mise en page 1 09/12/2010 09:23 Page 2 MEDIAplus elearning version 6.7 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes

Plus en détail

Activation et personnalisation de votre site mobile

Activation et personnalisation de votre site mobile Activation et personnalisation de votre site mobile Page 1 / 1 Table des matières 1. Activation de la version mobile 3 2. Personnalisation de la version mobile : premiers pas 2.1. Apparence générale et

Plus en détail

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

Plus en détail

L'application WinForm et le composant d'accès aux données

L'application WinForm et le composant d'accès aux données L'application WinForm et le composant d'accès aux données Vous disposez d'un squelette de l'application AntoineVersion0- ainsi que de la base de données à restaurer dans SqlServer Bd_Antoine.dat-. Travail

Plus en détail

Explication des statistiques

Explication des statistiques Explication des statistiques Sources : http://www.eolas.fr/8-conseil/65-interpreter-vos-statistiques-webalizer.htm http://support.sherweb.com/faqdetails.php?idarticle=68 Un site web est un ensemble de

Plus en détail

LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2)

LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2) LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2) Avril 2014 Installation de l application Pré-requis (page 2) Mise en place de la base de données Base de données SQL Express (page 2) Base de données

Plus en détail

STATISTICA Version 12 : Instructions d'installation

STATISTICA Version 12 : Instructions d'installation STATISTICA Version 12 : Instructions d'installation STATISTICA Entreprise Server Remarques : 1. L'installation de STATISTICA Entreprise Server s'effectue en deux temps : a) l'installation du serveur et

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

Modèle-Vue-Contrôleur. Développement Web 2. Projet 1 Sondages. Organisation générale

Modèle-Vue-Contrôleur. Développement Web 2. Projet 1 Sondages. Organisation générale PHP Modèle-Vue-Contrôleur Introduction Modèle-Vue-Contrôleur Développement Web 2 Bertrand Estellon Aix-Marseille Université April 1, 2014 Le Modèle-Vue-Contrôleur (MVC) est un méthode de conception utilisée

Plus en détail

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE Flex Lire les données de manière contrôlée 1 Plan Lier les données Stocker les données Valider les données 2 Gérer des données Lier des données La notion de DataBinding est l une des plus importantes du

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Le meilleur de l'open source dans votre cyber cafe

Le meilleur de l'open source dans votre cyber cafe Le meilleur de l'open source dans votre cyber cafe Sommaire PRESENTATION...1 Fonctionnalités...2 Les comptes...3 Le système d'extensions...4 Les apparences...5 UTILISATION...6 Maelys Admin...6 Le panneau

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

Alfresco Guide Utilisateur

Alfresco Guide Utilisateur Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Version 3.26. Vecteur Plus. Septembre 2013

Version 3.26. Vecteur Plus. Septembre 2013 MANUEL UTILISATEUR Version 3.26 Vecteur Plus Septembre 2013 20/09/2013 Contact : service.client@vecteurplus.com Page 1 sur 35 SOMMAIRE I. GENERALITES... 3 A. Authentification... 3 B. Organisation des Ecrans...

Plus en détail

À propos du Guide de l'utilisateur final de VMware Workspace Portal

À propos du Guide de l'utilisateur final de VMware Workspace Portal À propos du Guide de l'utilisateur final de VMware Workspace Portal Workspace Portal 2.1 Ce document prend en charge la version de chacun des produits répertoriés, ainsi que toutes les versions publiées

Plus en détail

Tests unitaires avec Visual Studio

Tests unitaires avec Visual Studio Tests unitaires avec Visual Studio (source MSDN) Rappels (initiation aux tests unitaires SI6 Tp6) Les tests unitaires offrent aux développeurs une méthode rapide pour rechercher des erreurs de logique

Plus en détail

GESTION DES BONS DE COMMANDE

GESTION DES BONS DE COMMANDE GESTION DES BONS DE COMMANDE P1 P2 Table des Matières LA GESTION DES BONS DE COMMANDE 4 PREMIERE EXECUTION DU LOGICIEL 5 DEFINITION DES PARAMETRES 8 Services 9 Comptes Utilisateurs 10 Adresse de livraison

Plus en détail

Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS

Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS 1 PleskWebpack MAS_FR- Octobre 2010 SOMMAIRE - Introduction 1 - Créer un compte FTP et les droits d accès 2 - Utiliser l outil de rapport (statweb,

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Table des matières Atelier pratique 8 : Implémentation de la réplication 1 Exercice 1 : Création d'une publication 1 Exercice

Plus en détail

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description

Plus en détail

BASE DE DONNEES POUR LES COMMUNIQUES DE PRESSE GUIDE DE L'UTILISATEUR

BASE DE DONNEES POUR LES COMMUNIQUES DE PRESSE GUIDE DE L'UTILISATEUR Date : 12/08/2013 Numéro de version: 2.10.0 BASE DE DONNEES POUR LES COMMUNIQUES DE PRESSE GUIDE DE L'UTILISATEUR Date de sortie: 17/09/12 GUIDE DE L'UTILISATEUR RAPID Page: 1 sur 23 Table des matières

Plus en détail

Interagir avec le SharePoint. Version 1.0

Interagir avec le SharePoint. Version 1.0 Interagir avec le SharePoint Version 1.0 Z 2 Interagir avec le SharePoint 15/04/09 Sommaire 1 Introduction... 3 2 La personnalisation mineure d interface... 3 2.1 Site Settings > Look and Feel... 3 2.2

Plus en détail

STATISTICA Version 12 : Instructions d'installation

STATISTICA Version 12 : Instructions d'installation STATISTICA Version 12 : Instructions d'installation Réseau Classique en Licences Flottantes Remarques : 1. L'installation de la version réseau de STATISTICA s'effectue en deux temps : a) l'installation

Plus en détail

Interactions audio sur le site web du LIA Documentation Technique

Interactions audio sur le site web du LIA Documentation Technique 2007 Interactions audio sur le site web du LIA Documentation Technique Projet 13 - IUP Avignon Master1 TAIM 28/05/2007 2 Projet 13 : Interactions audio sur le site web du LIA Sommaire Composants de l'application...

Plus en détail

Visual Studio.NET et Visual SourceSafe - Part 3

Visual Studio.NET et Visual SourceSafe - Part 3 Visual Studio.NET et Visual SourceSafe - Part 3 VSS et VS.NET en développement collaboratif Dans cette partie, nous verrons comment mettre en place une base SourceSafe sur un serveur afin que plusieurs

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail