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

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

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

< 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

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

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

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

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

À 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

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

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

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

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

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

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie James RAVAILLE 1, Rue de Cholet 44 800 Saint-Herblain formation@algowin.fr 06 38 43 08 41 http://www.algowin.fr Marié, 3 enfants Nationalité française 34 ans Permis B Formateur.NET expérimenté Forte expertise

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

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

DOMAINES DE COMPETENCES. 3 années d expérience EXPERT TECHNIQUE/CHEF DE PROJET TECHNIQUE MICROSOFT.NET ET/CPT

DOMAINES DE COMPETENCES. 3 années d expérience EXPERT TECHNIQUE/CHEF DE PROJET TECHNIQUE MICROSOFT.NET ET/CPT Né le 23/07/1987(25 ans). Nationalité Française. Permis B 24 rue du 14 Juillet 31100 Toulouse. 06.08.11.63.23 Rudy.Spano@Supinfo.com http://rudy.spano.free.fr/ Rudy SPANO EXPERT TECHNIQUE/CHEF DE PROJET

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

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

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

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

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

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

NOVAXEL ADMINISTRER SON ESPACE CLOUD

NOVAXEL ADMINISTRER SON ESPACE CLOUD NOVAXEL ADMINISTRER SON ESPACE CLOUD Sommaire 1. Enregistrer sa base dans le module d administration... 3 2. Personnaliser l accès au sous domaine.... 5 3. Personnalisation de l accès à la bibliothèque...

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

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

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

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

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

Edgar Maucourant (http://blog.nftinside.com)

Edgar Maucourant (http://blog.nftinside.com) Edgar Maucourant (http://blog.nftinside.com) Sommaire Introduction------------------------------------------------------------------------- p3 Première partie : Création d une WebPart simple------------------------

Plus en détail

Mickael Louchez présente. Adobe FLASH. Présentation et bases de Flash CS3. Mickael Louchez présente FLASH CS3

Mickael Louchez présente. Adobe FLASH. Présentation et bases de Flash CS3. Mickael Louchez présente FLASH CS3 Mickael Louchez présente Adobe FLASH Présentation et bases de Flash CS3 Copyright 2006-2008 http://www. www.mickdez.com/ 1 Familiarisation à l espace de travail Flash : Flash est un outil de programmation

Plus en détail

Guide de l utilisateur Mikogo Version Windows

Guide de l utilisateur Mikogo Version Windows Guide de l utilisateur Mikogo Version Windows Table des matières Création d un compte utilisateur 3 Téléchargement et installation 4 Démarrer une session 4 Joindre une session 5 Fonctionnalités 6 Liste

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

Environnements de développement

Environnements de développement 4 Environnements de développement Au sommaire de ce chapitre UU Mettre en place un environnement de développement UU Environnement de production Contrairement au développement web de bureau, dans lequel

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

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

Objet du document. Version document : 1.00

Objet du document. Version document : 1.00 Version document : 1.00 Objet du document Les dix points de cet article constituent les règles à connaitre pour intégrer une application au sein d AppliDis. Le site des Experts Systancia comporte également

Plus en détail

Olivier Deheurles Ingénieur conception et développement.net

Olivier Deheurles Ingénieur conception et développement.net Olivier Deheurles Ingénieur conception et développement.net MOTS CLES Maîtrise de la conception et du développement orientés Objet 6 ans d expérience sur les plateformes.net 1.1 et 2.0 (C# et VB.NET) MCAD

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

Edgar Maucourant emaucourant@avolys.com. 25 Mars2008

Edgar Maucourant emaucourant@avolys.com. 25 Mars2008 Edgar Maucourant emaucourant@avolys.com 25 Mars2008 Agenda Présentation d Avolys 475 collaborateurs 300 formateurs CPLS Gold Certified depuis 1993 33M de chiffres d affaires entièrement en formation informatique

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

La double authentification dans SharePoint 2007

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

Plus en détail

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

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

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

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

ENVIRONNEMENT DE DÉVELOPPEMENT

ENVIRONNEMENT DE DÉVELOPPEMENT CHAPITRE 1 ENVIRONNEMENT DE DÉVELOPPEMENT Installer Microsoft Visual C++ 2010 Express Edition... 17 Démarrer un nouveau projet... 21 Créer un programme minimal... 24 Générer et exécuter un programme...

Plus en détail

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

Vulnérabilités et sécurisation des applications Web Rencontres SPIRAL 25/02/03 Vulnérabilités et sécurisation des applications Web Pourquoi les firewalls sont impuissants face à certaines attaques patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com

Plus en détail

Manuel utilisateur. VPtimeClock 1.6. pour VISUAL-PLANNING TM. Logiciel de pointage des temps de travail en réseau.

Manuel utilisateur. VPtimeClock 1.6. pour VISUAL-PLANNING TM. Logiciel de pointage des temps de travail en réseau. Manuel utilisateur VPtimeClock 1.6 pour VISUAL-PLANNING TM Logiciel de pointage des temps de travail en réseau 05 Décembre 2010 99 avenue Albert 1 er 92500 Rueil-Malmaison France (33) (0)1 41 39 88 31

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

Protéger une machine réelle derrière une machine virtuelle avec pfsense

Protéger une machine réelle derrière une machine virtuelle avec pfsense Protéger une machine réelle derrière une machine virtuelle avec pfsense Je vous présente un petit tutoriel sur la façon d utiliser pfsense au sein de VirtualBox comme passerelle pour votre machine Windows

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

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

Cours Microsoft. Cours en ligne Analyste programmeur Microsoft. Académie Libre info@academielibre.fr

Cours Microsoft. Cours en ligne Analyste programmeur Microsoft. Académie Libre info@academielibre.fr Cours Microsoft Cours en ligne Analyste programmeur Microsoft Académie Libre info@academielibre.fr Programme général du Cours Microsoft Module 1 Les bases de la programmation Unité 1 Introduction à la

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

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

Plus en détail

Guide d installation BiBOARD

Guide d installation BiBOARD Version 3.0 29/05/2013 Support BiBOARD E-mail : support@biboard.fr Guide d installation de BiBOARD Ce document est destiné à l équipe informatique en charge de l installation de l application BiBOARD.

Plus en détail

Utilisation avancée de SugarCRM Version Professional 6.5

Utilisation avancée de SugarCRM Version Professional 6.5 Utilisation avancée de SugarCRM Version Professional 6.5 Document : Utilisation_avancee_SugarCRM_6-5.docx Page : 1 / 32 Sommaire Préambule... 3 I. Les rapports... 4 1. Les principes du générateur de rapports...

Plus en détail

Consultant.NET / SharePoint

Consultant.NET / SharePoint Bertrand VERGNAULT 1 rue des jardins du Sauzat Bat. A, Apt. 6 31750 Escalquens +33 (0) 6 68 01 69 72 Mèl : bertrand.vergnault@supinfo.com 28 ans Anglais courant (845 au TOEIC) Consultant.NET / SharePoint

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

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

Initiation aux macro-commandes Excel 2007

Initiation aux macro-commandes Excel 2007 -1- Initiation aux macro-commandes Excel 2007 -2- Avertissement Ce document accompagne le cours qui a été conçu spécialement pour les stagiaires des cours de Denis Belot. Le cours a été réalisé en réponse

Plus en détail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

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

Procédure d'installation complète de Click&Decide sur un serveur

Procédure d'installation complète de Click&Decide sur un serveur Procédure d'installation complète de Click&Decide sur un serveur Prérequis du serveur : Windows 2008 R2 or greater (64-bits) Windows 2012 (64-bits) - Le composant IIS (Internet Information Services) de

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont I Open Boutique Sommaire : I Open Boutique... 1 Onglet «Saisie des Produits»... 3 Création d'une nouvelle fiche boutique :... 3 Création d'une nouvelle fiche lieux de retraits :... 10 Création d'une nouvelle

Plus en détail

Interagir avec le SharePoint. Version 1.0

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

Plus en détail

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

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

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

Commencer avec Visual Studio Team Foundation Server 2008

Commencer avec Visual Studio Team Foundation Server 2008 Commencer avec Visual Studio Team Foundation Server 2008 Z 2 Commencer avec Visual Studio Team Foundation Server 16/04/09 Sommaire 1 Introduction... 3 2 Pour commencer... 4 2.1 Pré-requis... 4 2.2 Installation...

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

MOZAÏK - DOSSIER MOBILE Mise à jour 8.0.73.13

MOZAÏK - DOSSIER MOBILE Mise à jour 8.0.73.13 MOZAÏK - DOSSIER MOBILE Mise à jour : 8.0.73.13 Table des matières RÉSUMÉ DES ÉTAPES D INSTALLATION... 3 1. CRÉATION D UN CODE LOCAL SUR LE SERVEUR WEB ET LE SERVEUR SQL... 4 2. CRÉATION D UN POOL D APPLICATION

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

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

Tests unitaires avec Visual Studio

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

Plus en détail

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

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

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

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

IFT1148 Développement

IFT1148 Développement IFT1148 Développement Michael Blondin Direction de l enseignement de service en informatique Université de Montréal Hiver 2011 1 / 33 ASP.NET ASP.NET est un ensemble de technologies développé par Microsoft

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

Extensible Application Markup Language (XAML)

Extensible Application Markup Language (XAML) 3 Extensible Application Markup Language (XAML) Au chapitre précédent, nous avons développé une application qui possédait une interface simple définie à l aide d un fichier dont l extension était.xaml.

Plus en détail

Utilisation avancée de SugarCRM Version Professional 6.0

Utilisation avancée de SugarCRM Version Professional 6.0 Utilisation avancée de SugarCRM Version Professional 6.0 Document : Utilisation_avancee_SugarCRM_6-0.docx Page : 1 / 29 Sommaire Préambule... 3 I. Les rapports... 4 1. Les principes du générateur de rapports...

Plus en détail

Formation Fonctions Collaboratives

Formation Fonctions Collaboratives 1 Formation Fonctions Collaboratives 2 Introduction Ergonomie Données initiales Messagerie Gestion de ressources Agenda partagé Disque virtuel Publication Sommaire Applications tierces 3 Introduction 4

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

Ingénieur d Etudes.NET. Involys :.NET,3.5, C#, Vb.net, Asp.net, vb6,sql server2005, Oracle8i, TFS, MSProject, UML, Rational Rose

Ingénieur d Etudes.NET. Involys :.NET,3.5, C#, Vb.net, Asp.net, vb6,sql server2005, Oracle8i, TFS, MSProject, UML, Rational Rose Présenté par : Aviva ASSAYAG Tél : 01 55 64 19 20 Email : contact@jsi-groupe.com PROFIL DU CANDIDAT CANDIDAT Taher L. POSITION SOUHAITEE COMPETENCES TECHNIQUES EXPERIENCE Ingénieur d Etudes.NET Systèmes

Plus en détail

L utilisation d outils intelligents pour écrire du code valide

L utilisation d outils intelligents pour écrire du code valide B L utilisation d outils intelligents pour écrire du code valide Toutes les méthodes de développement, sans exception, incluent au moins une étape de test du code. C est parce que le code écrit par la

Plus en détail

Le gestionnaire des tâches

Le gestionnaire des tâches 43-45 rue CHARLOT 75003 PARIS. Benoît HAMET FRANCE : benoit.hamet@hametbenoit.fr.st Le gestionnaire des tâches......... Le gestionnaire des tâches Sommaire Sommaire...2 Introduction...3 Les onglets et

Plus en détail

Configuration du routeur. Installer le service de certificats

Configuration du routeur. Installer le service de certificats Page 1 sur 21 Avec les paramètres par défaut, Outlook Web Access transmet tout le traffic en clair (y compris les noms d'utilisateur et les mots de passe) entre le serveur et le client. C'est pourquoi

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

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

Walid HADJADJ. Consultant, Formateur 6 ans d expérience

Walid HADJADJ. Consultant, Formateur 6 ans d expérience Walid HADJADJ Walid.hadjadj@progware.fr Expert en technologies Microsoft Spécialiste.Net/SharePoint Consultant, Formateur 6 ans d expérience DOMAINES D INTERVENTION Spécification générale et détaillée

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

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3 Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3 Introduction Le Service Pack 2 de SQL Server 2005 a ajouté une option de gestion et d utilisation

Plus en détail