Création d application d entreprise

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

Download "Création d application d entreprise"

Transcription

1 1 Création d application d entreprise Création d application d entreprise Sommaire Création d application d entreprise Introduction Préface & Public de ce tutorial Une spécification pour développeur Définition du mot spécification dans cet ouvrage L intérêt d une spécification Les outils Le cycle de vie du projet Cycle de vie en V Cycle de vie incrémental Etudes des besoins d un projet Savoir écouter le client Interpréter les besoins du client L architecture du système Choix du type de client Les services Modélisation de l architecture logicielle Déduction de l architecture matérielle Les choix techniques Choisir la version du Framework Choisir les technologies d accès aux données Choisir le langage Choisir l EDI Choisir le stockage de données Etablir une maquette de l IHM Modélisation de la base de données Diagrammes ORM Générer le schéma de votre base de données Représentations objets Diagrammes de cas d utilisation / Etudes des acteurs et scénarii Diagrammes de paquetages & Composants... 23

2 2 Création d application d entreprise 10 Surveillance et gestion des erreurs du système Support d enregistrement des logs & actions à surveiller Comportement du système face aux erreurs non gérées Implémentation de la sécurité Les entrées utilisateurs Les entrées non utilisateur Les tentatives d attaques Les tests Tests unitaires Tests d intégration Tests de validation Le déploiement Choix du déploiement de votre application Projet de déploiement Click Once Le travail collaboratif Introduction WSS Introduction à Team Foundation Server Planification d un projet... 54

3 3 Création d application d entreprise 1 Introduction 1.1 Préface & Public de ce tutorial «Concevoir une spécification pour un projet.net», un titre bien long mais prometteur! Cela faisait bien longtemps que je voulais écrire ce tutorial. Actuellement formateur certifié Microsoft & chef de projets au sein d une société Toulousaine, j ai eu l occasion de mettre en pratique certains principes de base me permettant de me faire comprendre des clients, des développeurs et surtout de moi-même. Mettre ses idées sur papier, imposer des formalismes et des processus vous permettront de réaliser un travail de qualité. Ce livre d entrainement intervient dans le cursus certifiant MCPD 2.0 et 3.5 («Microsoft Certified Professional Developer»), saint graal des certifications.net au sein de Microsoft. De par leurs expériences, Bertrand Vergnault & Laurent Assis-Arantes (Développeur.NET, MCPD) m aideront activement à écrire ce tutorial. Le public de ce livre devra connaître la base du développement en.net et avoir des notions de Winforms, ASP.NET, Services

4 4 Création d application d entreprise 2 Une spécification pour développeur 2.1 Définition du mot spécification dans cet ouvrage Le mot «spécification» est à la base le document intervenant après un cahier des charges et avant le processus de conception préliminaire (cf. chapitre sur le cycle de vie). Dans cet ouvrage nous allons nous intéresser à une spécification au sens «large» du terme, ce qui est souvent le cas lors de projets où le développeur est lui-même le chef de projets. Nous allons voir comment il est possible, en un seul document, d architecturer notre SI. 2.2 L intérêt d une spécification Dans mon expérience passée, j ai eu l occasion de travailler avec des entreprises où la spécification était inexistante ou se résumait à un bout de papier écrit sur un coin de table. Le problème était que les directeurs ne souhaitaient pas dépenser de l argent pour une analyse qu ils trouvaient sans intérêts. On se retrouvait avec : Des délais non respectés. Des délais respectés car le temps imparti était trop conséquent (le développeur se permettant alors de travailler un jour sur deux). Un client revenant toujours sur ce qui avait été validé au préalable. Normal rien n était mis noir sur blanc. Vous remarquerez que sur ces trois points, l entreprise perd de l argent. 2.3 Les outils Nous allons voir dans ce livre comment utiliser plusieurs outils, tels que : Microsoft Visual Studio 2008 Team System Architect Edition, nous permettant de créer l architecture logicielle de notre SI. Team Foundation Server & Windows Sharepoint Services, pour le travail collaboratif. Microsoft Visio 2007, pour la modélisation objet. NUnit, pour les tests unitaires. Microsoft Office Project 2007, pour la gestion du temps.

5 5 Création d application d entreprise 3 Le cycle de vie du projet Il existe de nombreux cycles de vie dans le monde de la gestion de projets. Nous allons nous intéresser plus particulièrement à deux d entre eux : Cycle de vie en V Cycle de vie incrémental 3.1 Cycle de vie en V Le cycle de vie en V vous permet de décomposer en plusieurs étapes le cycle de vie de votre SI. Une etape N doit attendre que l étape N-1 soit réalisée. Chaque étape d analyse possède une étape de «test». L analyse des besoins : Etape se faisant avec le client, généralement par un appel d offre et une réponse à appel d offre. La spécification : Ce document vous permettra de décrire l architecture logicielle & matérielle, les technologies utilisées, les contraintes, les délais Ce document doit être compréhensible par le client et par le développeur. La conception préliminaire & détaillée : Ces etapes dépendent de l ampleur du projet, parfois seul un document de spécification est nécessaire. Ces étapes vont vous permettre de mettre sur papier l architecture en détail de votre logiciel (de la classe à la simple méthode de classe, voir même leur façon de s éxecuter). La codage : réalisation du système suivant ce qui aura été spécifié dans les étapes antérieures. Les tests : Chacun des tests correspond à une étape d analyse, par exemple, un test unitaire verifiera une partie bien précise du système. Un test d intégration verifiera si les différents soussystèmes sont capable de cohabiter ensemble. Pour finir, le test de validation va nous permettre de verifier si le logiciel conçu répond bien à la specification. Si une erreur survient dans l un des tests, il est necessaire de remonter la modification directement à l étape d analyse associée.

6 6 Création d application d entreprise 3.2 Cycle de vie incrémental Dans le modèle par incréments, un logiciel noyau est développé, puis successivement, les incréments sont développés et intégrés. Par exemple on démarre un cycle de vie en V pour la version 1 de notre logiciel puis après la phase de réalisation, on démarre un autre cycle en V pour la version 2 en parallèle à la fin de notre premier cycle. Les avantages du cycle incrémental sont : Un travail en parallèle permettant de ne jamais arrêter la production Les intégrations entre sous-systèmes se font au fur et à mesure La charge de travail est répartie dans le temps, pas de grosse pression au début et à la fin du développement. On peut livrer un logiciel dès le début, même si il n existe pas toutes les fonctionnalités. L inconvénient : Si le noyau ou le précédent incrément est mauvais, tous les autres incréments le sont aussi.

7 7 Création d application d entreprise 4 Etudes des besoins d un projet 4.1 Savoir écouter le client Mettons la technique de côté et passons du côté MOA. Savoir écouter (et pas juste entendre) les besoins du client est primordial pour la réussite de votre projet. Il vous faut utiliser un langage de non informaticien, schématiser ce dont vous parlez, appuyezvous sur des schémas UML compréhensibles par tous (cf. chapitre sur l UML). N oubliez pas que le client est roi mais ne sait pas tout! Vous intervenez en tant que «consultant» capable de délimiter le faisable de l impossible. Ne remettez pas en cause les conseils métier du client qui risqueraient de le froisser. Qui n a pas déjà eu des phrases du type «Non je ne suis pas d accord, le menu doit être à droite car je connais mes utilisateurs et il faut que ce soit là.». Vous n êtes pas là pour discuter mais réaliser et hypothétiquement faire rentrer de l argent. N oubliez pas de mettre par écrit toutes les demandes du client afin de vérifier que vous les avez bien identifiées. N hésitez pas à tout faire signer à chaque fois pour éviter qu à la livraison on vous dise que ce n était pas ce qui avait été convenu. 4.2 Interpréter les besoins du client Prendre le temps de comprendre le besoin est primordial, cependant, il faut aussi pouvoir l interpréter. C est pourquoi le langage UML (Unified Language Model) a été créé. Cette méthode non propriétaire va vous permettre de schématiser le système d information par rapport aux besoins client. L UML n est pas la seule façon d interpréter les besoins. N hésitez pas à faire vos propres commentaires, schémas (grâce notamment à Visual studio).

8 8 Création d application d entreprise 5 L architecture du système 5.1 Choix du type de client Lors de la création d une spécification, une des choses importantes à identifier, est le type de client de notre SI. Est-ce un site web? Une application windows? Sur quel type de plateforme doit-il être exécuté? Il existe deux grosses catégories de client applicatif en.net : RIA : Les Rich Internet Applications, pour le web RDA : Les Rich Desktop Applications, pour l exécution sur le système d exploitation Les applications riches vous permettent une interaction forte avec l IHM. Prenons l exemple d Outlook, vous pouvez l avoir en ligne ou sur votre bureau. Version RDA Version RIA Les technologies utilisées pour les applications de type RIA sont l ASP.NET avec de l Ajax (grâce à l ASP.NET 3.5 par exemple, ou l Ajax toolkit), du JavaScript (Librairie JQuery intégrée dans Visual Studio 2010), ou tout simplement du Silverlight 2. L intérêt des applications de type RIA vient du fait que tous les systèmes d exploitation peuvent les utiliser. Peu importe le système d exploitation ou le navigateur (Seulement Mac OS X et Windows pour Silverlight).

9 9 Création d application d entreprise Attention de bien faire la distinction entre ce qui s exécute côté serveur (ASP.NET) et du côté client (Silverlight, Javascript ). Les applications RDA (Rich Desktop Applications) vont vous permettre de s exécuter coté client grâce à la CLR (Common Language Runtime). L avantage est le fait d avoir la main sur le système d exploitation (systèmes de fichiers, base de registres ). Les deux technologies utilisées pour les RDA sont les Windows forms et WPF (Windows Presentation Foundation). 5.2 Les services Une solution bien pensée doit intégrer ce qu on appelle des services. Un service est un programme qui va permettre d exposer des données à notre application afin d éviter que notre application soit en contact direct avec notre base de données. Si notre service est exposé sur internet on parle alors de «web service». Dans l exemple ci-dessus, il existe 3 services dont un nommé CoursService. Ce service nous met à disposition des méthodes telles que GetCourses(). Pourquoi utiliser des services? Les services vont permettre de granulariser votre applicatif. Cela implique une maintenance plus facile et permet à une application tierce de re-consommer ces services si besoin est. Est-ce long à développer? Un service peut prendre du temps à développer, cependant pour ceux qui souhaiteraient aller au plus vite il existe un projet appelé Astoria ou Data Services qui vous générera automatiquement votre service pour exposer vos données.

10 10 Création d application d entreprise 5.3 Modélisation de l architecture logicielle Après avoir déterminé le type de client (RDA/RIA) que vous allez utiliser ainsi que l emplacement des services, vous pouvez commencer à penser à votre architecture logicielle. Afin de modéliser votre architecture, Microsoft vous propose Visual Sudio Team Foundation Architect Edition Prenons comme exemple la création d un site d e-commerce (type RIA, ASP.NET/Ajax), voici comment nous allons modéliser notre SI : Nous créons un projet de type Distributed Systems / Application Design. Il vous est maintenant possible d architecturer votre applicatif grâce à la Toolbox à gauche. Il est possible de glisser-déposer des éléments puis de les configurer (version du Framework, nom du service, etc ).

11 11 Création d application d entreprise Pour l exemple pris précédemment voici comment nous aurions pu le concevoir :

12 12 Création d application d entreprise 5.4 Déduction de l architecture matérielle A partir de l architecture logicielle il est simple d en déduire l architecture matérielle. Suivant les moyens consacrés au projet, vous pouvez séparer l hébergeur de service du serveur de base de données. Visio 2007 va nous permettre de réaliser un schéma d architecture matérielle. Pour la partie serveur, je vous conseille IIS avec Windows Server 2003 ou 2008 (La nouveauté WAS vous permet d héberger vos services très facilement) bien qu il soit possible grâce au projet Cassini d héberger du.net sur Apache. Pour en revenir à l exemple de site d e-commerce, voici ce que nous aurions pu schématiser : Cependant nous aurions pu intégrer sur le même serveur la base de données, le service et l hébergeur du site web.

13 13 Création d application d entreprise 6 Les choix techniques 6.1 Choisir la version du Framework A l heure où j écris ces lignes les spécifications du Framework 4.0 viennent de sortir. Le premier Framework fut le 1.0 sortie en Pour des raisons de corrections critiques, la version 1.1 est sortie par la suite. Ce Framework, à moins de ne pas avoir le choix, ne doit pas être utilisé. En effet de nombreux correctifs et améliorations ont été apportés au 2.0. Le Framework 2.0 est la base minimum pour tout nouveau développement.net. Il est considéré comme le noyau de toutes les nouvelles versions. Grâce au Framework 2.0 il vous sera possible de développer en ASP.NET, Winforms, Web Services. Puis est apparu le Framework 3.0, qui n est qu un ajout de fonctionnalités au 2.0. Dans cette nouvelle version vient s ajouter : WCF : Création de services de façon simplifiée WPF : Création d applications type RDA WF : Création de Workflow CardSpace : Système d identification Le Framework 3.5, lui, propose des technologies comme ASP.NET Ajax et LINQ (API d accès aux données de façon générique). Il est aussi bon de noter qu il existe un Compact Framework permettant de développer pour les systèmes embarqués type Windows CE. N ayez crainte d utiliser les dernières versions du Framework en pensant qu elles ne seraient pas stables. L actuel Framework 3.5 vient d hériter d une version SP1 améliorant considérablement celui-ci. Le choix du Framework dépendra entièrement des besoins clients et des compétences des développeurs mais dans un souci d évolutivité il est conseillé de prendre la dernière version à jour.

14 14 Création d application d entreprise 6.2 Choisir les technologies d accès aux données L accès aux données joue un rôle important lors de la conception de notre logiciel. Soit votre application va directement chercher les données, soit ce sera votre service. L API d accès aux données dans.net s appelle ADO.NET. Cette technologie va vous permettre d accéder aux données de façon générique. ADO.NET : L utilisation d ADO.NET avec les classes de base type DataReader (mode connecté) ou DataSet (mode déconnecté) vous permettront de requêter votre base à l aide du langage SQL. Cette solution est disponible à partir du Framework 2.0. Linq : LinqToSql et LinqToEntities (ADO.NET Entity Framework) sont deux technologies permettant de faire du Mapping Objet Relationnel. C'est-à-dire qu à partir d une base de données nous faisons abstraction du modèle relationnel pour faire un modèle conceptuel et travailler avec des objets. Fini donc les requêtes SQL et autres joyeusetés. Exemple de classe générée par Linq en glissant-déposant des tables d une base de données Note : Microsoft vient d annoncer que Linq-To-Sql ne sera plus maintenu pour les nouveaux fournisseurs de données, il est donc préférable d utiliser LinqToEntities. Le choix du type d accès aux données est très lié au choix du Framework puisque Linq n apparait qu à partir du 3.5.

15 15 Création d application d entreprise 6.3 Choisir le langage Le langage n a pas véritablement son importance. La technologie.net vous permet d utiliser plusieurs langages dans un même projet grâce au code MSIL généré. La tendance reste au C# et VB.NET. Le VB connait un succès grâce aux développeurs venant de l ancienne version VB6. Utilisez le C# ou VB.NET selon les préférences du client. Evitez d utiliser d autres langages qui seraient difficiles à maintenir par une autre équipe de développeurs. 6.4 Choisir l EDI L environnement de développement s impose naturellement : Visual Studio. Bien qu il est possible d utiliser Mono et les différents EDI qui gravitent autour sous Linux. Chez Microsoft, il existe une multitude de versions de Visual Studio. Nous nous intéressons à la version 2008 qui permet de choisir le Framework lors de la création d un projet. Visual Studio Team System Cet outil permet une communication et une collaboration accrues entre les équipes de développement. Il apporte aussi quelques outils tels que la schématisation d architecture logicielle. Visual Studio Team System est le produit idéal pour la production d application d entreprise. Visual Studio Professional Edition Visual Studio 2008 Professional Edition est un environnement de développement complet conçu pour que les développeurs individuels puissent créer des applications. Visual Studio Standard Edition Visual Studio Standard Edition est un environnement de développement extrêmement spécialisé conçu pour les développeurs individuels pour la création d'applications client/serveur Windows et de sites Web. Des projets tels que application basée sur Office ne sont pas présents contrairement à l édition professionnelle. Visual Studio Express Edition Des outils légers, faciles à utiliser et faciles à maîtriser pour les amateurs, les passionnés et les étudiants (gratuits).

16 16 Création d application d entreprise 6.5 Choisir le stockage de données Le choix du stockage de données est important, il doit être pris suivant plusieurs facteurs comme la quantité de données ou le type d applications (mobile, RIA, RDA ). Stockage basé sur les fichiers SQL Express Souvent utilisé avec de l XML, je vous le recommande pour de petites applications. Peut devenir contraignant s il existe beaucoup de données. C est une base de données gratuite permettant de créer des petits projets de base de données. Cette option peut être considérée si vous manquez de moyens financiers. Attention cependant, ce genre de base de données est limité à 1GO de RAM, 4GO de données et travaille avec un seul CPU. SQL Everywhere SQL Server editions Autres SQL Everywhere appelé aussi SQL Mobile est une version allégée de SQL Server. Cette option vous permet de retrouver vos données en local sur un mobile. Base de données de Microsoft permettant de stocker tout type projet volumineux. Il existe un large panel de stockage. Attention cependant aux incompabilités possible avec.net.

17 17 Création d application d entreprise 7 Etablir une maquette de l IHM Créer une maquette d IHM dans le dossier de spécification est primordial et doit être validé par le client. Peu importe que vous utilisiez «paint» ou un logiciel plus évolué. L intérêt n est pas de montrer vos talents de graphiste mais surtout l ergonomie de base et l enchainement des fenêtres. Exemple avec une petite application : N hésitez surtout pas à attacher à côté un schéma simplifié montrant les interactions entre chaque interface. C est un travail fastidieux mais qui se révélera utile lors de la validation avec le client.

18 18 Création d application d entreprise 8 Modélisation de la base de données Une base de données doit être bien pensée si vous souhaitez avoir un produit final de qualité. Pour cela il existe de nombreuses méthodes. Je vous conseille le Merise ou/et les diagrammes ORM. 8.1 Diagrammes ORM ORM est une approche de modélisation sémantique qui décrit le monde en termes d'objets et des rôles que ceux-ci jouent. Un diagramme ORM se crée à partir de Visio. Il va permettre de mettre en évidence tous les attributs possibles pour un objet. Généralement ce genre de diagramme est très apprécié des développeurs puisque l on pense «objet». Les ronds représentent des objets : Les rectangles représentent une relation : Les «a...» représentent l appartenance. Par exemple, une voiture contient des sièges, un siège est contenu dans une voiture.

19 19 Création d application d entreprise Après avoir schématisé grâce à ORM vos objets, il est facile d en déduire la base de données. Ce schéma met en évidence une table Voiture, possédant des attributs tels que Couleur, Numéro de série et le Modèle. 8.2 Générer le schéma de votre base de données Si vous souhaitez générer un schéma capable de montrer la modélisation de votre base de données pour enrichir votre spécification, il est possible de le faire grâce au SQL Server Management Studio. Après avoir créé la maquette de votre base, faites un nouveau diagramme :

20 20 Création d application d entreprise Puis sélectionnez les tables qui devront être présente dans le schéma : Le résultat ressemble à ce genre de diagramme :

21 21 Création d application d entreprise 9 Représentations objets UML (en anglais Unified Modeling Language, «langage de modélisation unifié») est un langage graphique de modélisation des données. Il va nous permettre de mettre sur papier l architecture du SI par rapport aux besoins du client. Vous pouvez réaliser vos schémas grâce à des outils comme Rational Rose ou Visio. Créer un projet UML dans Visio Menu de vision pour concevoir vos schémas Il existe de nombreux diagrammes (de séquences, de classes ) cependant nous ne verrons que ceux susceptibles de définir notre logiciel.

22 22 Création d application d entreprise 9.1 Diagrammes de cas d utilisation / Etudes des acteurs et scénarii Les diagrammes d utilisation permettent de décrire le SI d un point de vue extérieur. Il met en évidence ce que fait le système. Ce diagramme, très simple à comprendre, permet une interaction entre le client et vous. Vous allez pouvoir montrer les différents scénarii possibles ainsi que les acteurs qui rentrent en jeux. Dans un premier temps, il faut identifier les acteurs. Par exemple, l utilisateur d un logiciel : Type de l acteur : actif (c'est-à-dire qu il va déclencher le scénario, sinon il est passif) Type d'entité : personne Rôle : utilisateur du logiciel Sur un diagramme UML, les acteurs sont représentés par de petits bonshommes. Les cas d utilisation sont représentés par une ellipse. Un cas d utilisation correspond à un scénario.

23 23 Création d application d entreprise 9.2 Diagrammes de paquetages & Composants Le diagramme de paquetages et de composants mettent en évidence l architecture logicielle. Les architectures les plus connues sont SOA, MVC, N-tiers Un paquet correspond à un ensemble, par exemple «IHM» ou «Accès aux données». Généralement une architecture 3-Tiers se représente de cette manière : Il est aussi possible de détailler vos paquets grâce aux «composants». Un composant représente un sous ensemble de votre couche. Par exemple :

24 24 Création d application d entreprise Voici un exemple d architecture permettant de mette en œuvre un service et une architecture en couche : Une couche IHM contenant des technologies type Winforms, ASP.NET, Silverlight Une couche Métier, souvent représentée par une assembly de type library (dll). Une couche Service de type WCF ou Remoting. Une couche d accès aux données qui servira de DataContract. De type ADO.NET ou plus particulièrement Linq (ToEntities de préference puisque Microsoft ne maintient plus ToSql).

25 25 Création d application d entreprise 10 Surveillance et gestion des erreurs du système Bien souvent négligée lors de création d applications pour diverses raisons telles que le coût représenté et également parce qu elle est parfois peu connue par les développeurs, la sécurité est un point essentiel dans la conception d applications. Cette partie vous présentera la sécurité d un point de vue général, et vous apprendra à être vigilant dans vos développements. Si vous avez le temps n hésitez pas à approfondir vos recherches dans ce domaine qui évolue en permanence Support d enregistrement des logs & actions à surveiller La surveillance des actions utilisateurs est un des axes importants dans la gestion d erreurs. Il faut impérativement avoir une remontée complète d informations lors des interactions avec l utilisateur et surveiller que l utilisateur ne puisse pas nuire à notre système. En effet, une grande partie des attaques se fait simplement par des entrées de l application qui sont mal ou pas du tout protégées. Pour cette raison il faut adopter certains principes et nous verrons dans la partie «Implémentation de la sécurité» juste après. Cependant, il est intéressant de savoir si quelqu un a tenté une attaque envers notre application. Nous allons pour cela loguer les tentatives d intrusion de différentes manières : par envoi de mail, stockage en base de données ou même en XML. L important est de détecter une manipulation frauduleuse d un utilisateur. On pourra alors identifier une valeur erronée d un identifiant dans un paramètre de l URL, ou encore du script dans une TextBox et nous sauvegarderons les informations concernant l utilisateur ayant effectué cette action. Après il ne tient qu à vous d envoyer un avertissement à l utilisateur concerné. De même si dans le cadre d une application web (ASP.NET) l utilisateur n est pas enregistré, il sera toujours bon de récupérer son adresse IP avec le code suivant et loguer sa tentative d intrusion : Request.ServerVariables["REMOTE_ADDR"] Même si ce genre de méthode ne va pas empêcher l utilisateur de s introduire dans notre application, elle pourra le dissuader de récidiver dans la plupart des cas. Vous montrez à l utilisateur que vous n avez en aucun cas négligé la sécurité et que vous êtes attentif à ses actions. Il est même parfois moins couteux pour l entreprise de faire de la répression que de la prévention. Dans la partie «Implémentation de la sécurité» vous verrez plusieurs cas d utilisation où le Log est le bienvenu et comment il peut être complémentaire dans la sécurisation d application.

26 26 Création d application d entreprise 10.2 Comportement du système face aux erreurs non gérées Une bonne application d entreprise est aussi une application qui réagit correctement face aux erreurs non gérées. En effet, il peut subsister des erreurs non prévues par les développeurs dues par exemple au déploiement de l application sur un environnement de production différent que celui de développement. De ce fait, les utilisateurs doivent pouvoir rencontrer une interface prévue à cet effet afin de ne pas être trop déstabilisé face à l erreur. Par exemple, pour une application web, il convient de concevoir une page d erreur personnalisée pouvant indiquer aux utilisateurs qu une erreur vient de se produire sur l application et qu un mail a été envoyé à l administrateur. L utilisateur pourra donc voir que l erreur est certes bien apparue mais que l équipe en charge de l application vient d être prévenue. De plus, l équipe de développement pourra alors avoir un listing des erreurs apparues dans l application lors d une utilisation courante. Ils pourront ainsi régler plus rapidement les problèmes rencontrés. Il est évident qu il faut que ce cas se produise le moins possible afin que l utilisateur n ait pas l impression que l application qu il est en train d utiliser est mal conçue! C est dans cette optique que la partie à propos des différents tests à réaliser sur l application est très importante. Elle permet d éviter les situations d erreurs trop nombreuses. Afin que ces situations soient le moins souvent rencontrées, il faut que l équipe de développement ait bien respectée les bonnes pratiques : utilisation de blocs Try-Catch-Finally afin d englober les portions de code à risque, vérifications diverses des variables pour ne pas rencontrer d erreurs (null, négatives, etc ). try { Rappel d utilisation d un bloc Try-Catch-Finally : //Portion de code à risque //Si une exception se produit à l'exécution //le code dans le bloc "catch" est exécuté } catch (NullReferenceException ne) { //Portion de code à exécuter si une exception se produit //Il est possible de mettre plusieurs blocs "catch" à la //suite les uns des autres afin de pouvoir capturer //des exceptions différentes } catch(exception e) { //Portion de code à exécuter dans le cas //d'une exception basique } finally { //Portion de code s'exécutant dans tous les cas : si la //portion de code à risque s'exécute correctement ou si //une exception se produit cette portion s'exécutera }

27 27 Création d application d entreprise 11 Implémentation de la sécurité Implémenter la sécurité dans les applications n est pas chose simple, d autant plus que des failles apparaissent régulièrement, mais il y a des façons simples de limiter les risques. Tout d abord, il faut appliquer le principe du moindre privilège, partir du fait que l utilisateur doit avoir le moins de droit possible et le moins d accès possible pour limiter la surface d attaque. On ne dira plus alors : tout le monde voit tout sauf l utilisateur simple qui ne voit pas cela, mais personne ne voit rien sauf l administrateur qui voit cela. Ce n est pas toujours la manière la plus simple de penser mais elle peut jouer son rôle notamment en termes de failles auxquelles on ne penserait pas. On distinguera ensuite les différentes entrées de donnée telles que : - les données entrées par l utilisateur - les données stockées localement (qui peuvent être modifiées) - les données stockées dans l url On les divisera ici en deux parties distinctes, les entrées utilisateurs et les entrées non utilisateurs Les entrées utilisateurs Il y a plusieurs moyens de limiter les entrées de l utilisateur natif à.net et même si ça ne permet pas d éliminer complètement la menace, toute sécurité supplémentaire est bonne à prendre. En Web Form (ASP.NET) on retrouve tout d abord les différents validateurs qui permettent de limiter les entrées : - Le RequiredFieldValidator qui est un composant qui permet de vérifier si un champ n est pas vide. - Le CompareValidator qui permet de comparer la valeur entrée avec une autre valeur. - le RangeValidator qui permet de vérifier que la valeur d entrée est située entre 2 valeurs. - Le RegularExpressionValidator qui permet des vérifications utilisant les expressions régulières. - Le CustomValidator qui permet de créer votre propre logique de validation. - Le ValidationSummary qui permet de rassembler les erreurs trouvées sur la même page web En Windows Form on peut utiliser le namespace System.Text.RegularExpressions. De même, on assignera toujours une valeur à la propriété «MaxLength» qui permettra de limiter la taille du texte rentré dans une TextBox par exemple. Toutes ces validations sont importantes mais ne suffisent pas. Elles sont, dans le cadre d une application web, gérées par du script côté client qui peut être désactivé. Par conséquent nos vérifications ne sont plus effectives. Nous allons donc devoir effectuer ces validations également coté serveur en utilisant la propriété Page.IsValid. On utilisera cette propriété après validation grâce à la fonction

28 28 Création d application d entreprise Page.Validate() qu il ne sera pas nécessaire d appeler si vous avez laissé la propriété CauseValidation de votre contrôle à «true» Les entrées non utilisateur Il y a d autres types d entrées non utilisateur qui peut également être source d intrusion : Pour le Web : - Les paramètres passés dans l URL (QueryString) - Les cookies Egalement valables pour le Windows Form : - Les fichiers lus et utilisés Pour les paramètres dans l URL, il faut penser à vérifier différents points : - Tout d abord, si on veut récupérer un entier, il sera bon de le convertir en utilisant la fonction TryParse au lieu de Parse, qui nous permettra alors d identifier un changement du type de notre valeur. - On testera en permanence si le résultat d une requête effectuée (avec une valeur ayant pu être modifiée par l utilisateur) n est pas «null». Il faudra alors identifier si cette requête peut retourner, dans le cadre d une utilisation normale, une valeur «null» ou si ce résultat est dû à une manipulation frauduleuse qui pourra alors être logué. - On veillera également à effectuer des vérifications complémentaires sur les droits d accès. L URL pouvant être modifiée simplement et même copiée collée entre différents utilisateurs, on vérifiera que l identifiant de l utilisateur lui permet bien d accéder à une ressource. Les cookies peuvent également être une faille importante. Certains développeurs ont tendance à mettre beaucoup d informations dans les cookies, sans se soucier de la faille que cela représente. - Les cookies peuvent en effet être utilisés pour récupérer des informations sur l utilisateur. Il faut donc faire attention aux informations que l on y met (pas de mot de passe en clair par exemple). - Ils peuvent également être utilisés pour usurper l identité d un utilisateur si le cookie permet une authentification. Pour un site pouvant contenir des informations sensibles, on ne permettra pas d authentification automatique par cookies. Les cookies peuvent être volés de différentes manières : - Directement sur la machine cliente dans le répertoire contenant les cookies (arrive régulièrement dans le cadre où vous travailleriez sur un poste qui ne vous est pas réservé et où d autres personnes peuvent avoir accès). - En interceptant les cookies par «sniffing» ou par la méthode «man in the middle», les cookies passant par requêtes HTTP, on peut les intercepter. Il faudrait pour contrer cela utiliser un protocole chiffré (HTTPS par exemple).

29 29 Création d application d entreprise 11.3 Les tentatives d attaques Les tentatives d attaques peuvent avoir lieu sur tout type d entrée et peuvent être de différents types. Nous allons maintenant essayer d identifier les principales attaques possibles et essayer de les contrer. Quelles sont les différentes attaques auxquelles nous devons faire face? - Injection de code SQL - Vol d identifiants de session - Cross Site Scripting (XSS) Injection de code SQL : Cette attaque intervient dans le contexte où une entrée utilisateur serait insérée directement dans une requête SQL sans subir de vérification sur son contenu ; elle pourrait alors être interprétée comme du code SQL et dans ce cas effectuer des actions sur nos données. Exemple concret : Considérons deux champs texte contenant un nom d utilisateur et un mot de passe pour une authentification directement dans la base de données. SELECT user FROM table_users WHERE login= login AND password= password Dans le cas où nous n effectuerions pas de vérifications sur le login et password entrés on pourrait voir ceci : SELECT user FROM table_users WHERE login= Administrateur ; AND password= password Nous serions alors bien logué comme Administrateur sans avoir eu besoin du mot de passe. Comment peut-on alors contrer ce genre d attaque? - Utiliser des procédures stockées ou même des requêtes paramétrées à la place du SQL dynamique. Les données entrées par l'utilisateur sont alors transmises comme paramètres, sans risque d'injection. - Vérifier de manière précise et exhaustive l'ensemble des données venant de l'utilisateur. On peut, par exemple, utiliser une expression régulière afin de valider qu'une donnée entrée par l'utilisateur est bien de la forme souhaitée. - Utiliser des comptes utilisateurs SQL à accès limité (en lecture seule) quand cela est possible. - Réaliser un contrôle en amont en bloquant systématiquement les entrées contenant EXEC, SELECT, INSERT, DROP, CREATE, ALTER, UPDATE... - Utiliser du LinQ qui empêche ce genre d attaque nativement.

30 30 Création d application d entreprise Vol d identifiants de session : Il est important de savoir que le vol de session est possible par la méthode force brute et qu il peut être plus ou moins facile en fonction de l algorithme de génération d IdSession utilisé. Le meilleur moyen de limiter la possibilité de ce genre d attaque est de limiter la durée de vie d une session et de la supprimer dès qu elle n est plus utilisée. Cross Site Scripting (XSS) : Le principe du Cross Site Scripting est d utiliser du code HTML, Javascript ou VBScript que l on introduit dans l application web par une des entrées mal sécurisées. Ce code sera alors envoyé à d autres utilisateurs de l application qui pourra servir à afficher du contenu subversif, à rediriger l'utilisateur vers un autre site ou même à voler des informations du client accessible par le site Web comme des cookies par exemple. Avec votre application ASP.NET vous êtes protégé contre ce genre d attaque, du fait que par défaut la variable validaterequest est définit à «true» protège contre tout code intrusif et génère une exception dans ce cas. Si par contre vous désirez pouvoir insérer du code HTML dans les entrées utilisateur, il sera nécessaire de le désactiver et vous devrez alors utiliser par exemple une expression régulière pour contrer ce genre d attaque. Cette variable est accessible directement depuis votre Web.config : <pages validaterequest="false" /> Considérons l exemple suivant : Nous avons un champ texte rempli par l utilisateur et il y insert du code HTML. En laissant notre variable validaterequest à «false», tout se passe bien et le code est interprété. Si nous la passons à «true» nous obtenons ceci : Il détecte donc bien un code potentiellement dangereux. On peut également, pour ne pas que le code HTML bloque le fonctionnement de notre application, utiliser la fonction «Server.HtmlEncode». Elle nous permettra d obtenir du code gardant son format HTML mais qui ne sera plus interprété. En réalité le format HTML sera reformaté comme nous allons le voir sur le même exemple que précédemment. Nous utilisons le code suivant : txtbdesc.text = Server.HtmlEncode(txtbDesc.Text);

31 31 Création d application d entreprise Voici le résultat : Nous avons donc gardé l intégralité de notre code mais reformaté en HTML pour qu il ne soit plus interprété, en retournant dans le mode édition nous avons alors ceci : Cette méthode est donc intéressante mais ne nous permet pas d utiliser un formatage HTML tout en empêchant l usage de script. Ayant maintenant vu les tentatives d intrusion les plus connues auxquelles vous serez amené à faire face, nous espérons que votre réflexion dans le développement se fera de façon sécurisée.

32 32 Création d application d entreprise 12 Les tests Dans ce chapitre nous aborderons les différents tests qui doivent être réalisés avant de mettre une application en production. En effet, une application correctement testée permet d être plus stable. De nos jours, il n est pas concevable de livrer une application non testée à un client! Pour certains les tests peuvent être considérés comme une perte de temps mais ils ont tout faux : le gain est énorme car le temps passé à débuguer l application s en verra réduit d autant plus que les tests seront importants. En effet, l exécution de tests amènera plus rapidement à identifier les bugs et pourra permettre alors au développeur de les corriger. Le gain d énergie et de temps sera d autant plus considérable pour le développeur puisqu il lui suffira de quelques minutes pour corriger son code. Il existe donc plusieurs types de tests à réaliser : Les tests unitaires qui permettent de tester, au fur et à mesure de l avancement du développement, les différents composants. Les tests d intégration permettant de tester l intégration de chaque composant de l application et le bon fonctionnement entre eux. Les tests de validation permettant de vérifier que les fonctionnalités de l application sont bien en accord avec la spécification et les demandes du client.

33 33 Création d application d entreprise 12.1 Tests unitaires Dans cette première partie nous allons aborder l implémentation des tests unitaires. Définition : Un test unitaire est une portion de code qui va permettre de tester une autre portion de code en exécutant celle-ci et en analysant son résultat. Les tests unitaires permettent de rendre une application le plus robuste possible en testant comment elle réagit à diverses situations (erreurs, performances, ). De plus, le temps gagné par l exécution de tests automatisés est très appréciable! Il existe plusieurs types de bonnes pratiques pour la mise en place des tests préconisées par la méthode Extreme programming : Implémenter les tests unitaires avant d écrire le code afin de pouvoir tester du début à la fin du développement de notre portion de code (appélée Test Driven Programming). Il existe aussi la programmation croisée qui nécessite deux développeurs : l un implémente les tests pendant que l autre écrit le code. Implémenter les tests unitaires après l écriture du code afin d avoir une vue d ensemble des fonctionnalités à tester. Par définition, un test unitaire doit pouvoir être autant disponible que le code qu il teste. En effet un autre développeur doit pouvoir tester la portion de code. De ce fait, il doit aussi être exécutable sur le poste d un autre développeur : il doit donc être indépendant de l environnement de travail. Pour assurer un gain de temps optimal, le test unitaire doit pouvoir être exécuté automatiquement : par exemple juste après la compilation de la portion de code à tester afin de pouvoir immédiatement répertorier les éventuels bugs. Il existe plusieurs Framework de tests qui ont été développé pour différentes technologies. Pour réaliser ces tests unitaires nous utiliserons dans ce cours le Framework de test NUnit. Ce Framework a été développé par Charlie Poole, Michael Two, Alexei Vorontsov, et Jim Newkirk dans le langage C#. Cependant, il est utilisable par les langages.net (C#, VB.NET, ). Ce Framework est totalement gratuit et peut être téléchargé à cette adresse : Sachez qu il existe la version console de NUnit qui est installé en même temps que la version GUI. La version console présente le logiciel en mode texte et affiche la sortie des tests dans la console. Cette version ne sera pas abordée dans ce cours. Une fois l installation réalisée, il suffit de lancer l exécutable pour avoir la fenêtre suivante qui s ouvre :

34 34 Création d application d entreprise Dans la partie de gauche, on trouve une arborescence qui affichera les classes de tests et les méthodes de test du projet chargé. Pour charger un projet il suffit de venir récupérer la dll du projet à tester. Dans la partie droite de l application, on peut trouver deux boutons (Run & Stop) et une barre de progression. Ces boutons permettent de lancer/stopper le test d une des méthodes. Le résultat du test est affiché dans le cadre de la partie basse à droite. Le barre de menu possède les options comme la modification visuelle de l affichage (taille de la police, ), de récupérer les informations sur l assembly courante ou encore la gestion des Addins. Sachez qu il est possible de charger plusieurs assemblies en même temps : pour cela cliquer sur «Project» «Add assembly». Maintenant que l on sait se servir du logiciel NUnit, nous allons voir comment, dans notre code, implémenter des méthodes de tests afin de pouvoir les exécuter via le logiciel NUnit. Premièrement, pour pouvoir utiliser le Framework NUnit, il faut le référencer dans le projet dans lequel seront créés les tests : Pour cela faire clic droit sur le projet dans Visual Studio «Ajouter une référence». Ensuite dans l onglet «.NET», il faut référencer la dll nunit.framework.dll.

35 35 Création d application d entreprise Attention à bien choisir celle correspondant au runtime v si vous travaillez avec le Framework.NET 2.0 ou supérieur. Nous allons maintenant créer notre méthode à tester : cette méthode sera volontairement très simpliste. public class ClasseATester { public ClasseATester() { } /// <summary> /// Méthode qui vérifie l'exactude du format d'une heure /// </summary> /// <returns></returns> public bool MethodeATester(string ) { if ( == null) throw new NullReferenceException(); return Regex.IsMatch( , (([\w-]+\.)+))([a-za-z]{2,4} [0-9]{1,3})(\]?)$"); } } Dans cette classe nous avons donc une méthode permettant de tester la validité d un champ correspondant à une adresse . Maintenant, nous allons mettre en place les méthodes de test. Pour qu une classe soit interprétée par NUnit comme étant une classe de test il faut qu elle ait l attribut [TestFixture] en en-tête de la classe. Désormais, toutes les méthodes ayant l attribut [Test] seront à leur tour considérées comme des méthodes de test.

36 36 Création d application d entreprise Ces attributs se trouvent dans l espace de noms NUnit.Framework. Nous allons donc ajouter une classe de test possédant deux méthodes permettant de tester notre méthode créée précédemment : [TestFixture] public class ClassTest { public ClassTest() { } /// <summary> /// Methode permettant de tester avec des noms de domaine erronés /// </summary> [Test] public void TestSansDomaine() { Assert.IsTrue(new Assert.IsFalse(new Assert.IsFalse(new Assert.IsFalse(new } } /// <summary> /// Méthode permettant de tester sans partie locale /// </summary> [Test] public void TestSansPartieLocale() { Assert.IsTrue(new Assert.IsFalse(new Assert.IsFalse(new } L attribut [Test] possède plusieurs attributs supplémentaires qui peuvent être utiles : ExpectedException() permet de définir quelle sera l exception attendue en sortie. Si une exception est levée et qu il s agit bien du type d exception spécifiée en paramètre de cette méthode alors le test est passé avec succès Explicit permet d indiquer que la méthode devra être manuellement exécutée. Lorsqu on clique sur «Tester tout» dans NUnit, une méthode de test portant cette attribut ne sera pas exécutée. Ignore Les méthodes de test portant cet attribut ne seront pas exécutées et seront marquées comme «Warning» dans NUnit. Il existe encore d autres attributs qui ne seront pas explicités ici. Une fois la dll chargée dans NUnit, voilà l affichage que l on obtient :

37 37 Création d application d entreprise Lorsqu on lance les tests, voici l affichage que l on obtient : Si un test se déroule avec succès il s affiche en vert et en rouge s il y a une erreur. De plus, lorsqu il y a une erreur sur un test, un message indicatif apparait dans la partie en dessous de la barre de progression. Pour simuler une erreur dans notre code nous allons modifier l expression régulière de notre classe à tester : En supprimant de l expression régulière la vérification de la partie locale d une adresse , le test «TestSansPartieLocale» ne sera pas exécuté avec succès :

38 38 Création d application d entreprise Dans le code contenu dans les méthodes de tests, on peut noter plusieurs appels aux méthodes de la classe Assert. Cette classe permet de faire des assertions dans notre code et permet donc de tester les valeurs de retour des méthodes à tester. Voici le diagramme de la classe Assert : Grâce à toutes ces méthodes, il est donc possible de tester de nombreux cas d utilisations : IsFalse permet de vérifier si l expression passée en paramètre est false IsNull permet de vérifier si l expression passée en paramètre est null Les noms étant assez explicites, nous ne détaillerons pas plus les autres méthodes.

39 39 Création d application d entreprise Les bonnes pratiques pour bien réaliser ses tests unitaires sont les suivantes : Une classe à tester = une classe de test en effet autant tester l intégralité de notre classe dans une seule classe de test possédant plusieurs méthodes de test. Développer à la fois des tests simples et des tests plus conséquents afin de tester en profondeur l application pour être sûr de sa robustesse Enfin, les tests doivent être dans la même assembly que les classes à tester afin de garder le bon niveau de visibilité. Pour conclure sur cette partie, les tests unitaires permettent donc : de gagner du temps sur le débogage, une non régression du code étant donné que les tests sont exécutés très souvent ainsi qu une meilleure documentation Tests d intégration Les tests d intégration permettent de vérifier que les différents composants réalisés lors de la phase de développement fonctionnent correctement entre eux et avec le reste de l application. Voyons un exemple simple : Il pourra être testé le bon fonctionnement d un composant permettant d afficher une liste d utilisateurs et un autre composant permettant d ajouter un utilisateur. Lorsqu on ajoutera un utilisateur il devra s être affiché dans le composant listant tous les utilisateurs. Pour être bien sûr de valider la totalité des composants et de leurs fonctionnalités, il est fortement recommandé de garder une trace de tous ces tests en réalisant des fiches. Dans ces fiches on pourrait répertorier deux grandes parties : la présentation du test d intégration et le rapport de test afin de garder une trace du résultat obtenu. Voici les grandes lignes de ce que l on peut trouver dans la présentation d un test d intégration : L objectif du test reprenant les différents composants à tester Une description permettant de détailler la démarche à suivre pour réaliser le test L environnement nécessaire (matériel et logiciel) Le résultat attendu Voici une liste non exhaustive des points abordés dans un rapport de test d intégration : La date à laquelle a été réalisé le test Les intervenants qui ont réalisé le test Les numéros de version des composants intégrés testés L environnement de test Le résultat obtenu ainsi qu une partie pour commenter ce résultat

40 40 Création d application d entreprise 12.3 Tests de validation Les tests de validation permettent de vérifier que les fonctionnalités développées sont bien en accord avec la spécification de départ réalisée en collaboration avec le client. En effet, il paraît évident de vérifier la bonne concordance entre le produit créé et les volontés du client. Les tests de validation de composent en général de plusieurs phases : Une validation fonctionnelle permettant de tester les fonctionnalités de chaque composant afin d être sûr qu elles correspondent bien à la spécification. Une validation solution permettant de tester les cas d utilisations afin d agréer que l application réagira comme il le faut ainsi que le respect des standards applicables au projet. Tout comme pour les tests d intégration il est fortement recommandé de tenir à jour une documentation de compte-rendu de tests de validation. En effet, il est possible que ce soit des équipes de développement différentes qui testent l application de celles qui développent l application. De ce fait, il est important pour l équipe en charge du développement d avoir une trace de ce qui a été réalisé au niveau des tests. Voici les informations que peuvent contenir une fiche de test de validation : L objectif du test ainsi qu une courte description comme par exemple : tester le cas d utilisation «connexion à l application» La description des actions que l utilisateur doit réaliser pour atteindre l objectif du test L environnement nécessaire pour mener à bien le test Le résultat obtenu ainsi qu un commentaire

41 41 Création d application d entreprise 13 Le déploiement 13.1 Choix du déploiement de votre application Il existe aujourd hui plusieurs solutions de déploiement adaptées aux différentes contraintes que l on peut avoir. Il est important de connaitre les possibilités qui nous sont proposées par Microsoft pour déployer en toute simplicité nos applications. Dans un premier temps nous étudierons la méthode de déploiement classique, en utilisant un projet de déploiement. Nous verrons par la suite que d autres solutions existent aujourd hui telles que ClickOnce qui nous permet une installation très simple par internet Projet de déploiement Le projet de déploiement est la façon la plus classique de déployer votre application. Son principe est assez simple, vous créez un projet contenant l application précédemment développée ainsi que les ressources qu elle nécessite. On commencera par choisir parmi les différents types de projet disponibles. On distingue le projet de déploiement (Setup Project) qui sera utilisé pour les applications clientes (Windows Form) et le projet de déploiement Web (Web Setup Project) qui comme son nom l indique sera utilisé pour les applications web. Le Setup Wizard est un assistant pour créer votre projet de déploiement, seuls les deux principaux projets de déploiement cités précédemment seront étudiés ici. Lors de la création de votre projet de déploiement, qu il soit client lourd ou application web, vous aurez accès à une barre d outils spécifique reprenant les fonctionnalités suivantes : - File System editor : Définition de l'organisation des fichiers à copier. - Registry Editor : Définition des modifications à apporter dans la base de registres. - File Types Editor : Permet d'associer une extension de fichier à notre application. - User Interface Editor : Définition des différentes interfaces qui vont se dérouler lors de l'installation. - Custom Actions Editor : Création d'actions personnalisées. - Launch Conditions Editor : Définition des conditions de lancement. Nous allons voir ci-dessous plus en détail à quoi correspondent ces différents outils :

42 42 Création d application d entreprise File System editor C est le principal outil dans le déploiement, il va nous permettre de gérer toutes l implémentation de nos fichiers. La partie de gauche est constituée de multiples répertoires qui peuvent être de deux types : - Répertoire standard - Répertoire spécial (avec l étoile bleue sur le logo) Les répertoires spéciaux nous permettent d accéder à différents endroits de Windows. Nous utiliserons ces dossiers par exemple pour définir des raccourcis sur le bureau, dans le menu «Démarrer» ou encore des Assemblies (Attention les Assemblies doivent absolument être signées) : Dans la partie de droite on pourra venir mettre des fichiers dans les différents répertoires. Ces fichiers pourront être de différents types : - Fichiers : permet de choisir des fichiers à intégrer - Dossiers : permet d organiser les fichiers - Assemblies : Permet de choisir une Assembly à intégrer - Sorties de projet Nous allons nous intéresser à la sortie de projet, qui représente le point le plus important :

43 43 Création d application d entreprise L interface présente ici nous permet d ajouter une sortie de projet. C est le moyen d intégrer notre application au projet de déploiement. Il faudra ensuite choisir parmi les différents types de sortie : - Sortie principale : L'exécutable ou la dll générée par le projet ainsi que toutes ses dépendances. - Ressources localisées : Les ressources associées à des projets localisés (multi langues. Par exemple dans le cas des applications Windows). - Symboles de débogages : Tous les fichiers pdb qui permettent de débugger l'application. Cette sortie n'est pas conseillée car généralement on n'installe jamais la version Debug d'un projet. - Content file : Installe les fichiers marqués comme «Contenu» dans le projet. Registry Editor Il peut arriver parfois que l on soit amené à modifier la base de registre. Il est alors bon de savoir qu une interface nous permet de la modifier facilement. On peut ainsi y créer ou y modifier des clés simplement. File Types Editor Dans certains cas, votre application peut être liée à un type de fichier défini et il faut alors lier l extension de ce type de fichier avec votre logiciel. Comme on peut le voir ci-contre, on ajoute simplement le type de fichier et on lui spécifie son extension. On pourra également ici définir une icône liée à cette extension et modifier les actions (par défaut : Open).

44 44 Création d application d entreprise User Interface Editor Cet outil vous permettra de configurer l interface d installation de votre application cependant si vous ne désirez pas le paramétrer, l interface par défaut sera mise en place. Vous pourrez donc modifier les étapes de l installation et des éléments graphiques pour personnaliser votre installeur. On retrouvera des éléments tels que : - Le Splash : Une image qui s'affiche quelques secondes au lancement de l installation. - La licence : demandant à l utilisateur d'accepter les termes d'une licence - Numéro de série : Oblige l'utilisateur à entrer un numéro de série afin de poursuivre l'installation. Custom Actions Editor Nous ne détaillerons pas ici les actions personnalisées, elles permettent des actions très complètes mais nécessite une configuration plus longue notamment en redéfinissant la classe Installeur. Launch Conditions Editor Cet outil nous permet de définir des conditions d installation, comme par exemple la présence d une certaine version du Framework.NET, ou encore si IIS es requis pour l installation. On commencera par effectuer une recherche qui pourra être de différents types : - Présence de fichiers : Permet de rechercher un fichier en fonction de ses paramètres (par exemple son nom). - Présence de clés dans base de registre : Regarde si une clé existe à un emplacement donné. - Présence d'une installation antérieure d'un MSI : Cette recherche se base sur l'identifiant d'installation du MSI. On définit ensuite la condition de lancement qui va être testé à l'issue de la recherche :

45 45 Création d application d entreprise Nous avons vu de façon globale comment paramétrer notre projet d installation. Nous allons maintenant découvrir qu il existe d autres moyens de déploiement Click Once ClickOnce qu est-ce que c est? C est un moyen très simple de déployer une application et de permettre à tout le monde de l installer par Internet. Cette technique de déploiement peut avoir des avantages comme des inconvénients. Nous allons découvrir comment mettre en place ce genre de déploiement. Click Once est une nouveauté du Framework 2.0, il utilise le protocole HTTP pour diffuser notre projet et permet de l installer simplement mais également d effectuer des mises à jour. Il faut savoir que ce type d installeur nécessite donc que le client dispose d une connexion Internet et que nous ayons un serveur Web IIS installé. Déploiement et installation d application avec ClickOnce Nous allons commencer par créer notre projet que l on désire installer ; On utilisera ici un projet WindowsForm. Une fois notre projet compilé, nous allons directement le déployer. On va alors dans les propriétés de notre application et on coche la case «Sign the ClickOnce manifest» (signer le manifeste ClickOnce) dans l onglet «Signing».

46 46 Création d application d entreprise On définit ensuite les autorisations de sécurité. Il sera bon de les restreindre au maximum, pour suivre la règle du moindre privilège abordée dans le chapitre sur la sécurité. Vous pouvez utiliser l outil fournit par Visual Studio «Calculer les permissions» afin de vérifier les permissions qui sont nécessaires. Vient ensuite la partie publication dans l onglet «Publish». Sur cette page, nous allons définir si l application sera publiée sur un FTP, un partage réseau ou un serveur IIS. On définira également si notre application sera accessible uniquement de façon online (retélechargée à chaque fois) ou de façon offline : téléchargée et installée sur le poste client.

47 47 Création d application d entreprise On va maintenant paramètrer les différents points de cet onglet : - Publishing Location : c est le partage Web depuis lequel votre application sera déployée et/ou mise à jour. - Install Mode and Settings : on spécifiera ici si votre application doit être disponible "OnLine" ou "OffLine". - Prerequisites : comme vu précédement avec le projet de déploiement, on pourra définir des pré-requis pour ClickOnce. - Updates : vous pourrez spécifier dans cette partie si votre application doit ou non vérifier la présence de mise à jour sur le serveur. On pourra également déterminer le moment ou s effectue cette vérification (avant ou après le démarrage de l'application). - Options : cette partie concerne des informations générales. On paramétrera en premier les pré-requis, de la même manière que pour le projet de déploiement, vous choisirez les éléments nécessaires. Dans le cas où il ne serait pas installé sur le client, on paramètre l endroit où il peut se le procurer. Dans les options on déterminera par exemple la description de notre application, son nom de publication ou le site web servant de support s il y en a. Mais d autres parties plus importantes, comme la page web de déploiement, pourront être créées automatiquement. Dans notre cas nous génèrerons une page Accueil.html qui sera générée et ressemblera à la page ci-dessous. Cette page nous récapitule les informations remplies précédemment et nous permet d exécuter l application.

48 48 Création d application d entreprise Un assistant de publication est également à notre disposition, il nous permettra de paramétrer certains des attributs vus précédemment, de manière simple. Nous avons maintenant configuré notre déploiement Click Once, il reste alors à l installer. En exécutant le fichier «WindowsFormsApplication1.application» qui a été créé par ClickOnce et qui correspond à notre application ou simplement en cliquant sur le bouton «Run» de notre page web, nous obtenons une fenêtre de chargement. Ensuite notre application est démarrée. De même dans le cadre d une installation, nous aurions un bouton «Install» et notre application s installerait. Ici nous avons une application sans intérêt, qui n a aucun contenu mais nous pouvons voir que le déploiement c est bien effectué. Mise à jour de notre application Une autre fonctionnalité simple que permet ClickOnce est la mise à disposition de mise à jour et la détection de celle-ci. Dans la page des propriétés de notre application, nous irons dans la partie «Update» et il faut alors cocher l option pour vérifier les mises à jour de l application. Ici nous décidons d effectuer la vérification avant le lancement de l application.

49 49 Création d application d entreprise Pour publier une mise à jour il faudra simplement après avoir reconstruit notre projet, cliquer sur publier. L utilisateur lançant son application, aura maintenant une fenêtre de recherche de mise à jour qui se lancera au démarrage. Il me propose alors d installer une mise à jour et mon application est alors modifiée par la nouvelle version. Sécuriser votre installeur Nous avons la possibilité de signer le manifest de notre application ClickOnce ainsi que de signer notre assembly.net. Pour cela il nous suffit d aller dans la partie Signing (Signature) et de choisir l option «Sign the assembly». On choisit alors de créer notre nouveau fichier snk.

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

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur Qu est ce que Visual Guard Authentification Vérifier l identité d un utilisateur Autorisation Qu est-ce qu un utilisateur peut faire dans l application Audits et rapports Fonctionnalités d Audit et de

Plus en détail

PROCEDURE D INSTALLATION D UN ENVIRONNEMENT POUR DEVELOPPER AVEC VISUAL BASIC

PROCEDURE D INSTALLATION D UN ENVIRONNEMENT POUR DEVELOPPER AVEC VISUAL BASIC PROCEDURE D INSTALLATION D UN ENVIRONNEMENT POUR DEVELOPPER AVEC VISUAL BASIC Page 1 sur 30 SOMMAIRE SE PREPARER A L INSTALLATION DE L ENVIRONNEMENT... 3 RÉCAPITULER LES COMPOSANTS À INSTALLER... 3 RASSEMBLER

Plus en détail

Mettre en place un serveur Intranet/Internet

Mettre en place un serveur Intranet/Internet Mettre en place un serveur Intranet/Internet Dans ce chapitre vous apprendrez à installer et configurer un serveur Web grâce au rôle de serveur IIS (Internet Information Services). 1. Présentation d IIS7

Plus en détail

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d étude 13 1.1 Présentation générale 13 1.2 Présentation des applications 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Avant de commencer Au sommaire de ce chapitre

Avant de commencer Au sommaire de ce chapitre 1 Avant de commencer Au sommaire de ce chapitre Configuration requise pour utiliser Visual Basic 2010 Les différentes versions de Visual Basic 2010 Installation de Visual Studio 2010 Premier contact avec

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

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

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,

Plus en détail

Introduction à Windows Workflow Foundation

Introduction à Windows Workflow Foundation Introduction à Windows Workflow Foundation Version 1.1 Auteur : Mathieu HOLLEBECQ Co-auteur : James RAVAILLE http://blogs.dotnet-france.com/jamesr 2 Introduction à Windows Workflow Foundation [07/01/2009]

Plus en détail

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic

Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic IUT d Orsay Première Année Introduction à l Interaction Homme-Machine Février 2014 Introduction à l Interaction Homme-Machine Tutoriel Visual Studio / Visual Basic Cette introduction à Visual Studio est

Plus en détail

TUTORIAL : Créer un setup d un programme avec InnoSetup

TUTORIAL : Créer un setup d un programme avec InnoSetup TUTORIAL : Créer un setup d un programme avec InnoSetup NIVEAU : INITIES Pré requis pour comprendre ce tutorial : - Connaître un peu le système de fichier de Windows Auteur : Dark sidious Date de création

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

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

RevGED 3 Manuel d installation

RevGED 3 Manuel d installation RevGED 3 Manuel d installation RevGED est un logiciel de gestion électronique de document. Ce présent document explique comment l installer que vous ayez eu RevGED 2 ou non. Il est complété de configurations

Plus en détail

DATAEXCHANGER DEX VERSION X

DATAEXCHANGER DEX VERSION X GUIDE D INSTALLATION DATAEXCHANGER DEX VERSION X SOMMAIRE Sommaire...- 2-1 PRE-REQUIS...- 4-1.1 Cohabitation avec d anciennes versions DEX...- 4-1.2 Matériel...- 4-1.3 Logiciel...- 4-1.4 Base de données...-

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

Installation et configuration du logiciel de synchronisation de fichiers : SyncBackSE

Installation et configuration du logiciel de synchronisation de fichiers : SyncBackSE Installation et configuration du logiciel de synchronisation de fichiers : SyncBackSE Dans de nombreux projets on peut vouloir effectuer une synchronisation de fichiers entre différents serveurs. De plus,

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

LINQ to SQL. Version 1.1

LINQ to SQL. Version 1.1 LINQ to SQL Version 1.1 2 Chapitre 03 - LINQ to SQL Sommaire 1 Introduction... 3 1.1 Rappels à propos de LINQ... 3 1.2 LINQ to SQL... 3 2 LINQ to SQL... 3 2.1 Importer des tables... 3 2.1.1 Le concepteur

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Déploiement d application Silverlight

Déploiement d application Silverlight Déploiement d application Silverlight Thibault Laurens Bastien Chauvin 2 Déploiement d'application Silverlight 17/06/09 Sommaire 1 Introduction... 3 2 Intégrer une application à une page Web... 4 3 Les

Plus en détail

Module GPO de Préférences

Module GPO de Préférences Configuration de Windows Server 2008 Active Directory Module GPO de Préférences Introduction Windows Server 2008 apporte son lot de nouveautés et notamment les stratégies de groupe de préférence. En entreprise,

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

Fiche Technique Windows Azure

Fiche Technique Windows Azure Le 25/03/2013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche Technique Objectif 25/03/2013 27/03/2013 Windows

Plus en détail

Monter un site Intranet

Monter un site Intranet Monter un site Intranet S il n est pas difficile de créer un site Web basique grâce à IIS, ceux d entre vous qui ne sont pas initiés aux langages de développement Web auront du mal à satisfaire les besoins

Plus en détail

IDOT: TP2. Partie 1: La base de données

IDOT: TP2. Partie 1: La base de données IDOT: TP2 Partie 1: La base de données Dans cette partie, nous allons vous expliquer comment importer la base de données sur votre machine et de quoi elle est composée. - Télécharger le script SQL disponible

Plus en détail

DOCUMENTATION DU COMPAGNON ASP

DOCUMENTATION DU COMPAGNON ASP DOCUMENTATION DU COMPAGNON ASP MANUEL UTILISATEUR VERSION 1.0 / SEPTEMBRE 2011 Rédacteur Gilles Mankowski 19/09/2011 Chapitre : Pre requis CONTENU Pre requis... 3 Introduction... 3 Comment fonctionne l'asp?...

Plus en détail

CONTACT EXPRESS 2011 ASPIRATEUR D EMAILS

CONTACT EXPRESS 2011 ASPIRATEUR D EMAILS CONTACT EXPRESS 2011 ASPIRATEUR D EMAILS MANUEL D UTILISATION Logiciel édité par la société I. PREAMBULE a) Avant propos... 3 b) Support... 3 c) Interface d accueil... 4 à 5 d) Interface de Recherche...

Plus en détail

Installer et débuter avec PostgreSQL

Installer et débuter avec PostgreSQL Dominique Colombani Installer et débuter avec PostgreSQL FOCUS Digit Books Éditeur de livres numériques et papiers Brest infos@digitbooks.fr http://www.digitbooks.fr Digit Books, 2013 Conception des couvertures

Plus en détail

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...

Plus en détail

Installer et Utiliser MSDE 2000 Utilisation de MS SQL Server 2000 Desktop Engine

Installer et Utiliser MSDE 2000 Utilisation de MS SQL Server 2000 Desktop Engine Installer et Utiliser MSDE 2000 Utilisation de MS SQL Server 2000 Desktop Engine Le produit de développement de Microsoft pour les bases de données le plus proche de SQL Server 2000 est : Microsoft SQL

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Gestion du serveur WHS 2011

Gestion du serveur WHS 2011 Chapitre 15 Gestion du serveur WHS 2011 Les principales commandes Windows Home Server 2011 reprend l ergonomie de Windows 7 et intègre les principales commandes de Windows Server 2008 R2. Les commandes

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

Bienvenue chez Spluw

Bienvenue chez Spluw 1 Bienvenue chez Spluw Ce guide présente les principales fonctions de mise en page et d édition de votre site Web. Vous y trouverez les étapes essentielles de construction de page et de mise en forme pour

Plus en détail

Développer une application en VB.NET 2.0. Partie 3 : Création d une base de données SQL Serveur

Développer une application en VB.NET 2.0. Partie 3 : Création d une base de données SQL Serveur Développer une application en VB.NET 2.0 Cécile Muno Christian Maréchal Partie 3 : Création d une base de données SQL Serveur Sommaire Rappels Note des auteurs Quelques références I. Introduction à SQL

Plus en détail

TP 1 : prise en main de C#. Net sous Visual Studio 2010

TP 1 : prise en main de C#. Net sous Visual Studio 2010 Année universitaire : 2014-2015 Responsable : Sonia LAJMI Niveau Matière 2 ème année MPIM Management des Contenus Multimédia TP 1 : prise en main de C#. Net sous Visual Studio 2010 Dans ce tout premier

Plus en détail

Module.NET 2 Le.NET Framework

Module.NET 2 Le.NET Framework Module.NET Chapitre 2 Le.NET Framework 2011/2012 Page 1 sur 9 Contenu Cours... 3 2.1 - Définition de l ECMA, ses acteurs, son rôle... 3 2.2 - La CLI et ses implémentations... 4 2.2.1 - La Common Language

Plus en détail

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO _TUTO_module_magento Table des matières -1) - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) MAGENTO :...4-1.3.1.1) Les Web Services :...4-1.3.1.2)

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web 2012 K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web Document d installation et de paramétrage 24/09/2012 Sommaire Septembre 2012 1. Contexte d installation...3 1.1. Prérequis à l

Plus en détail

ALAIN BENSOUSSAN SELAS

ALAIN BENSOUSSAN SELAS OUTIL CIL MANUEL UTILISATEUR 05 06 2015 V.0.1 Sommaire analytique 1. Installation de l application 3 1.1 Présentation technique de l architecture de l application CIL 3 1.2 Procédure d installation de

Plus en détail

Guide installation d Itium Administration Services

Guide installation d Itium Administration Services Guide installation d Itium Administration Services 10/10/2007 Copyright 2006-2007 IMPACT TECHNOLOGIES IMPACT TECHNOLOGIES se réserve le droit de modifier à tout moment le contenu de ce document. Bien que

Plus en détail

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP L INTEGRATION DE SAS AVEC JMP Quelles sont les techniques possibles pour intégrer SAS avec JMP? Comment échanger des données entre SAS et JMP? Comment connecter JMP à SAS? Quels sont les apports d une

Plus en détail

Introduction au développement SharePoint. Version 1.0

Introduction au développement SharePoint. Version 1.0 Introduction au développement SharePoint Version 1.0 Z 2 Introduction au développement SharePoint 09/05/09 Sommaire 1 SharePoint : les bases... 3 1.1 Débuter sous SharePoint... 3 1.2 Connaissances Requises...

Plus en détail

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015 Recueil des s s : Mise en œuvre d un site SharePoint 2013 Juin 2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013. NADAP et SharePoint

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

Manuel d installation. Version 1.1 11/07/2013

Manuel d installation. Version 1.1 11/07/2013 Manuel d installation Version 1.1 11/07/2013 Table des matières I. Description de la solution... 3 II. Installation... 3 a. Prérequis... 3 b. Installation de la base de données... 3 c. Mettre à jour les

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

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

Service de connexion de machines sur l Internet M2Me_Connect Version 1.41 du logiciel NOTICE D'UTILISATION Document référence : 9016709-04

Service de connexion de machines sur l Internet M2Me_Connect Version 1.41 du logiciel NOTICE D'UTILISATION Document référence : 9016709-04 Service de connexion de machines sur l Internet M2Me_Connect Version 1.41 du logiciel NOTICE D'UTILISATION Document référence : 9016709-04 Le service M2Me_Connect est fourni par ETIC TELECOM 13 Chemin

Plus en détail

BTS SIO. Session 2013 2015

BTS SIO. Session 2013 2015 BTS SIO Services Informatiques aux Organisations Session 2013 2015 Collé Maxime Année 2013-2014 Option : SLAM Activité professionnelle N 1 NATURE DE L'ACTIVITE : DÉVELOPPEMENT DE L APPLICATION WEB «GESTION

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

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

Symphony. I. Base de données Oracle XE 11g : défaire le dimensionnement de la bdd... 40

Symphony. I. Base de données Oracle XE 11g : défaire le dimensionnement de la bdd... 40 Symphony Procédures d installation de Symphony avec la BDD Oracle en local et configuration de la BDD avec l application SQL Developer (BDD installée manuellement) 1. Avant installation... 2 2. Les manuels

Plus en détail

À propos de l intégration continue dans Xcode

À propos de l intégration continue dans Xcode À propos de l intégration continue dans Xcode Table des matières À propos de l intégration continue dans Xcode 4 En bref 4 Installer et configurer le service Xcode 4 Connecter le service Xcode aux dépôts

Plus en détail

Documentation télémaintenance

Documentation télémaintenance Documentation télémaintenance Table des matières Introduction... 2 Interface web du technicien... 2 Connexion à l interface... 2 Mon compte... 3 Configuration... 4 1. Jumpoint... 4 2. Jump clients... 4

Plus en détail

Roman Mkrtchian SI5-2012/2013 François Chapuis. Rapport de projet de WASP. Réalisation d'un site web sécurisé

Roman Mkrtchian SI5-2012/2013 François Chapuis. Rapport de projet de WASP. Réalisation d'un site web sécurisé Roman Mkrtchian SI5-2012/2013 François Chapuis Rapport de projet de WASP Réalisation d'un site web sécurisé Introduction Nous avons choisi de coder un blog sécurisé. Nous avons notamment codé nous-mêmes

Plus en détail

Microsoft TechNet - Les End Points ou points de terminaison

Microsoft TechNet - Les End Points ou points de terminaison Page 1 sur 5 Plan du site Accueil International Rechercher sur Microsoft France : Ok Accueil TechNet Produits & Technologies Solutions IT Sécurité Interoperabilité Déploiement des postes de travail Scripting

Plus en détail

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Page 1 de 7 Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision Table des matières Table des matières... 1 1. Premier

Plus en détail

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04

SOMMAIRE. I. Introduction 02. II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 SOMMAIRE I. Introduction 02 II. Glossaire 03 a. Glossaire technique 03 b. Glossaire fonctionnel 04 III. Présentation de l'association 05 a. Présentation juridique et géographique 05 b. Présentation de

Plus en détail

Vulnérabilités et sécurisation des applications Web

Vulnérabilités et sécurisation des applications Web OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning

Plus en détail

Introduction. Pourquoi Silverlight?

Introduction. Pourquoi Silverlight? Pourquoi Silverlight? Si le Web ne cesse d évoluer et de s accroître, on peut en dire autant des attentes des utilisateurs. Lorsque le premier navigateur Web a été développé, il était destiné à fournir

Plus en détail

2012 - Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

2012 - Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur Arsys Backup Online Guide de l utilisateur 1 Index 1. Instalation du Logiciel Client...3 Prérequis...3 Installation...3 Configuration de l accès...6 Emplacement du serveur de sécurité...6 Données utilisateur...6

Plus en détail

KWISATZ MODULE PRESTASHOP

KWISATZ MODULE PRESTASHOP Table des matières -1) KWISATZ - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) PRESTASHOP :...4-1.3.1.1) Les Web Services :...4-1.3.2) KWISATZ

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

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

Manuel d'installation de GESLAB Client Lourd

Manuel d'installation de GESLAB Client Lourd Manuel d'installation GESLAB Client Lourd Référence Date de la dernière mise à jour Rédigé par Objet GESLAB_MINS_TECH_Manuel d'installation GESLAB Client 15/04/2013 Steria Manuel d'installation de GESLAB

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

1 Partie A : administration d une base de donnée à travers PhpMyAdmin

1 Partie A : administration d une base de donnée à travers PhpMyAdmin Ce TP se compose en 2 sections : une section de prise en main (sur ordinateur) et une section d exercice (sur papier) concernant l algèbre relationnelle. 1 Partie A : administration d une base de donnée

Plus en détail

Windows Server 2008 R2

Windows Server 2008 R2 Installation de SQL Server 2008 R2 Express Bouron Dimitri 31/01/2015 Ce document sert de démonstration concise pour l installation et quelques bonnes pratiques pour un Windows SQL Server 2008 R2 Express.

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

SOMMAIRE. Comment se connecter?

SOMMAIRE. Comment se connecter? SOMMAIRE Comment se connecter? Présentation de l interface Notions sur l espace documentaire Création d un dossier Création d un document Modifier un document Copier ou déplacer des documents Exporter

Plus en détail

GPI Gestion pédagogique intégrée

GPI Gestion pédagogique intégrée Société GRICS GPI Gestion pédagogique intégrée Guide d installation Fonctionnalités Internet GPI 2012 Version mise à jour le 29 janvier 2014 Société GRICS Page 1 de 23 Table des matières PRESENTATION DES

Plus en détail

CAHIER DES CHARGES D IMPLANTATION D EvRP V3

CAHIER DES CHARGES D IMPLANTATION D EvRP V3 CAHIER DES CHARGES D IMPLANTATION D EvRP V3 Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP V3 Version 42 Etabli par Département Accompagnement des Logiciels Vérifié

Plus en détail

Armand PY-PATINEC 2010

Armand PY-PATINEC 2010 Armand PY-PATINEC 2010 EPREUVE PRATIQUE : TABLEAU SYNOPTIQUE Activités Inventaire de bières et de leur lieu de fabrication Gestion des clients pour un programme de facturation Emploi du ruban de l interface

Plus en détail

Team Foundation Server Côté chef de projet

Team Foundation Server Côté chef de projet Team Foundation Server Côté chef de projet Version 1.0 Z Sylvain Lieu Franck Boisgibault 2 Chapitre 03 - Partie chef de projet Sommaire 1 Introduction... 3 2 Rôles et groupes... 4 2.1 Groupes par défaut...

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

Visual Studio.NET et Visual SourceSafe - PART 1. Visual Studio.NET et Visual SourceSafe

Visual Studio.NET et Visual SourceSafe - PART 1. Visual Studio.NET et Visual SourceSafe Visual Studio.NET et Visual SourceSafe - PART 1 Configuration de Microsoft Visual SourceSafe Comment gérer les sources de ses projets.net? Avec le développement de Solutions.NET et le travail en 'Extreme

Plus en détail

ACube. Charte méthodologique. Version 1.2 du 22/02/2010. Etat : Validé

ACube. Charte méthodologique. Version 1.2 du 22/02/2010. Etat : Validé Charte méthodologique Version 1.2 du 22/02/2010 Etat : Validé Communauté Adullact Projet SUIVI DES MODIFICATIONS Version Rédaction Description Vérification Date 1.0 S. Péguet Initialisation 20/03/07 1.1

Plus en détail

Atelier Le gestionnaire de fichier

Atelier Le gestionnaire de fichier Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local

Plus en détail

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ?

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ? Chapitre 1 Introduction à LINQ En surfant sur le Web, vous trouverez différentes descriptions de LINQ (Language Integrated Query), et parmi elles : LINQ est un modèle de programmation uniforme de n importe

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V8 SOUS WINDOWS XP, VISTA ET 7

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V8 SOUS WINDOWS XP, VISTA ET 7 PROCÉDURE D INSTALLATION Cegid Business V8 COMMENT INSTALLER CEGID BUSINESS V8 SOUS WINDOWS XP, VISTA ET 7 Sommaire 1. Introduction 2. Installation de SQL Server 2005 ou 2008 3. Installation de Cegid Business

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR 1 Introduction aux tests codés de l interface utilisateur (Coded UI Tests) Sommaire Avertissement...2 Aperçu...3 1. Génération des tests codés depuis

Plus en détail

Découverte de l EDI Visual Studio 2005 mai 2008

Découverte de l EDI Visual Studio 2005 mai 2008 (Environnement : Microsoft Windows) 1- EDI Visual Studio 2005 VB.net EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Configuration du serveur web proposé dans Ma Plateforme Web pour déployer WebMatrix

Configuration du serveur web proposé dans Ma Plateforme Web pour déployer WebMatrix Configuration du serveur web proposé dans Ma Plateforme Web pour déployer WebMatrix Déploiement de Web Deploy sur un serveur Windows Server 2008 R2 09/09/2010 Microsoft France Pierre Lagarde pierlag@microsoft.com

Plus en détail