Share via


Introduction : planification d'un site Web ASP.NET

Mise à jour : novembre 2007

Avant de créer un site Web, il est toujours utile de le planifier avant de commencer à créer des pages et à écrire du code. La planification du site permet de simplifier la création de son apparence globale et de sa navigation.

La taille d'un site Web peut souvent déterminer la quantité de planification nécessaire. Un petit site Web de type brochure, qui fournit uniquement des informations statiques, peut être un site relativement simple nécessitant peu de planification. Un site Web qui accède à un magasin de données, authentifie des utilisateurs et qui a des contraintes de localisation et d'accessibilité peut nécessiter une planification plus importante. Disposer d'un plan vous fera gagner du temps lors du développement et de la maintenance du site.

Les rubriques suivantes présentent des informations relatives au site Web dans son ensemble, ce qui inclut des informations sur les éléments suivants :

  • Le type de site Web que vous sélectionnez.

  • Comment s'effectue la navigation sur le site.

  • Les façons de créer une apparence et une présentation homogènes pour toutes les pages du site.

  • Comment accéder aux données d'un magasin de données.

Le choix d'un type de projet de site Web

Il existe deux types de projet que vous pouvez créer dans Visual Studio 2008. Le modèle de projet de site Web par défaut utilise une structure de répertoire de fichiers pour définir le contenu d'un projet. Dans ce modèle, aucun fichier projet n'est utilisé et tous les fichiers du répertoire font partie intégrante du projet.

En revanche, dans un projet d'application Web, seuls les fichiers qui sont explicitement référencés dans le fichier projet de la solution font partie du projet. Ces fichiers sont affichés dans l'Explorateur de solutions et sont les seuls fichiers compilés pendant une génération.

Le fichier projet d'un projet d'application Web simplifie l'implémentation de certains scénarios. Par exemple, vous pouvez subdiviser une application ASP.NET dans plusieurs projets Visual Studio en référençant des fichiers dans différents fichiers projet. Vous pouvez également exclure facilement des fichiers du projet.

Utilisez les projets d'application Web lorsque vous souhaitez effectuer les opérations suivantes :

  • effectuer une migration de grandes applications Visual Studio .NET 2003 Visual Studio 2008 ;

  • contrôler les noms des assemblys de sortie ;

  • utiliser les classes autonomes pour référencer les classes de page et les classes de contrôle utilisateur ;

  • générer une application Web en utilisant plusieurs projets Web ;

  • ajouter des étapes avant et après génération à exécuter lors de la compilation ;

Accès aux données d'un magasin de données

La liaison de données ASP.NET vous permet de lier des composants aux sources de données et aux propriétés, collections, expressions et méthodes simples. Cette fonctionnalité offre une plus grande souplesse lorsque vous utilisez des données provenant d'une base de données ou d'autres sources.

Si le site Web accède à un magasin de données, vous devez envisager d'utiliser des contrôles de source de données, car ils font partie d'un modèle de données communes. Ce modèle de données sépare le code d'accès aux données et code de la logique métier des pages Web qui forment la couche de présentation du site Web. Une couche d'accès aux données se compose des méthodes utilisées pour accéder à un magasin de données. Une couche de logique métier ajoute des règles à la couche d'accès aux données, comme des restrictions d'accès vis-à-vis des personnes qui peuvent consulter ou modifier les données. La couche de présentation se compose de pages auxquelles l'utilisateur accède pour consulter et modifier les données. Pour plus d'informations sur la création de ces couches, consultez Procédure pas à pas : création des couches de logique métier et d'accès aux données dans ASP.NET.

Vous pouvez implémenter ce modèle commun de données en séparant la couche présentation des couches données et logique métier, à l'aide du modèle de source de données dans ASP.NET. À l'aide de contrôles tels que les contrôles LinqDataSource, ObjectDataSource et SqlDataSource, vous pouvez créer une couche d'accès aux données et une couche de logique métier séparées de la couche présentation.

Vous devez également déterminer si le site Web doit utiliser des données en mémoire (mises en cache). Si une partie importante des données d'application ne change pas souvent et qu'elle est commune à plusieurs sessions ou utilisateurs, vous pouvez conserver les données en mémoire sur le serveur Web. Cela peut réduire le nombre de requêtes à la base de données et accélérer les interactions de l'utilisateur. La classe DataSet vous permet de créer une base de données en mémoire. Un autre aspect utile de l'objet DataSet est qu'il permet à une application d'importer des sous-ensembles de données d'une ou plusieurs sources de données dans l'application. L'application peut ensuite gérer les données en mémoire, tout en conservant sa forme relationnelle.

À mesure que votre site se développe et que vous déplacez des pages dans le site, il peut rapidement devenir difficile de gérer tous les liens. La navigation du site ASP.NET comporte des contrôles serveur et des classes qui vous permettent de fournir aux utilisateurs un moyen cohérent de naviguer sur le site. Vous pouvez stocker des liens vers toutes les pages dans un emplacement central (en général un fichier XML). Vous pouvez restituer ces liens dans des listes ou des menus de navigation sur chaque page en incluant un contrôle SiteMapDataSource pour lire les informations de site. Vous utilisez alors un contrôle serveur de navigation comme TreeView ou Menu pour afficher les informations de site.

Le fournisseur de plan de site joue un rôle essentiel dans la navigation du site ASP.NET. Cette classe est utilisée avec une source de données de plan de site et expose des informations de navigation. Par exemple, le fournisseur de plan de site ASP.NET par défaut obtient des données de plan de site à partir d'un fichier XML nommé Web.sitemap et communique directement ces données au contrôle serveur Web SiteMapPath.

Définition d'une apparence de site cohérente

Plusieurs fonctionnalités d'ASP.NET vous aident à créer et conserver une apparence et une conception cohérentes pour le site Web, comme les thèmes et les pages maîtres ASP.NET. Ces fonctionnalités peuvent être utilisées assez tôt dans le processus de développement de site afin de fournir une apparence cohérente pour le site Web.

Les thèmes ASP.NET définissent l'apparence des pages et contrôles du site Web. Un thème ASP.NET peut inclure des fichiers d'apparence qui définissent les paramètres de propriété pour des contrôles serveur Web ASP.NET. Il peut également inclure des fichiers de feuille de style en cascade (fichiers .css) et des graphiques. L'application d'un thème vous permet de conserver une apparence cohérente entre les pages du site Web. Lorsque vous créez un thème ou un jeu de thèmes pour un site assez tôt dans le processus de développement, vous pouvez appliquer ces thèmes à chaque page que vous créez. Pour plus d'informations sur les thèmes, consultez Vue d'ensemble des thèmes et des apparences ASP.NET.

Les pages maîtres ASP.NET vous permettent de créer une mise en page (une page maître) que vous pouvez appliquer aux pages sélectionnées (pages de contenu) du site Web. Les pages maîtres peuvent simplifier grandement la tâche de création d'un aspect cohérent de votre site. Vous pouvez également imbriquer les pages maîtres. Par exemple, vous pouvez utiliser des pages maîtres imbriquées pour créer une disposition maître pour le site entier et une autre disposition maître pour les sections individuelles d'un site. Vous pouvez également utiliser les pages maîtres avec les thèmes. Pour plus d'informations sur l'utilisation des pages maîtres, consultez Vue d'ensemble des pages maîtres ASP.NET et Pages maîtres ASP.NET imbriquées.

Ajout de fonctionnalités AJAX

Les fonctionnalités AJAX dans ASP.NET vous permettent de créer rapidement des pages Web d'une grande interaction pour l'utilisateur avec des éléments d'interface utilisateur réactifs et familiers. Il vous permet également d'actualiser une page sans publication (postback). Les fonctionnalités AJAX incluent des bibliothèques de script client qui incorporent des technologies ECMAScript (JavaScript) et Dynamic HTML (DHTML) compatibles entre navigateurs ainsi qu'une intégration avec la plateforme de développement serveur ASP.NET. À l'aide des fonctionnalités AJAX, vous pouvez améliorer l'expérience utilisateur et l'efficacité des applications Web. Pour plus d'informations, consultez Vue d'ensemble d'ASP.NET AJAX.

Utilisation de fonctionnalités de gestion des états

HTTP est un protocole sans état. Chaque requête est traitée à son arrivée ; une fois qu'elle est traitée, toutes les données sont ignorées. Aucun état n'est maintenu sur plusieurs requêtes, même lorsqu'elles proviennent du même client. Toutefois, il est utile de maintenir l'état sur plusieurs requêtes pour la plupart des applications Web.

ASP.NET offre des fonctionnalités de gestion des états intrinsèques qui vous permettent de stocker des informations d'une demande de page à l'autre, comme les informations client sur le contenu d'un panier d'achat. Vous pouvez enregistrer et gérer des informations définies par le développeur spécifiques à l'application, à la session, à la page ou à l'utilisateur. ASP.NET dispose de plusieurs formes de gestion des états à sélectionner, qui incluent l'utilisation de cookies, de l'état d'affichage, de l'état de session, de l'état de l'application et des propriétés de profil. Ces informations peuvent être indépendantes de tout contrôle de la page.

Lorsque vous planifiez un site Web, vous devez déterminer les formulaires de gestion des états dont vous aurez besoin. Pour plus d'informations, consultez Vue d'ensemble de la gestion d'état ASP.NET.

Mise en cache de données pour les performances

Vous pouvez souvent augmenter les performances d'un site Web en stockant en mémoire des données fréquemment sollicitées et dont la création exige un temps de traitement significatif. Par exemple, si votre application traite des volumes de données importants à l'aide d'une logique complexe, puis retourne les données sous forme de rapport, il est préférable d'éviter de recréer le rapport chaque fois qu'il est demandé par un utilisateur. De même, si votre application comprend une page qui traite des données complexes mais que cette page n'est que rarement mise à jour, il n'est pas judicieux que le serveur recrée cette page à chaque requête.

Le cache ASP.NET est une fonctionnalité de cache à usage général pour les sites Web. Il fournit une interface simple pour la mise en cache et une interface plus avancée qui présente des services d'expiration et de dépendances des modifications. Pour vous aider à améliorer les performances de l'application dans ce type de situation, ASP.NET fournit deux mécanismes de mise en cache. Le premier est la mise en cache d'application, qui vous permet de mettre en cache les données que vous générez, par exemple un DataSet ou un objet métier de rapport personnalisé. Le second est la mise en cache de sortie de page, qui enregistre la sortie du traitement de la page et la réutilise plutôt que de traiter à nouveau la page lorsqu'un utilisateur la redemande. Si la conception de site Web prend en compte la mise en cache de pages particulières, vous pouvez créer un site Web plus efficace.

Infrastructure de sécurité

Outre les fonctionnalités de sécurité du .NET Framework, ASP.NET fournit une infrastructure de sécurité avancée pour authentifier et autoriser l'accès des utilisateurs, mais également exécuter d'autres tâches liées à la sécurité. Vous pouvez authentifier les utilisateurs à l'aide de l'authentification Windows fournie par IIS. Vous pouvez également gérer l'authentification à l'aide de l'authentification par formulaire ASP.NET et de l'appartenance d'ASP.NET. En outre, vous pouvez gérer l'autorisation d'accès aux ressources de l'application Web à l'aide des groupes Windows ou d'une base de données personnalisée et des rôles ASP.NET. Vous pouvez facilement supprimer, ajouter ou remplacer ces schémas en fonction des besoins de votre application. Pour plus d'informations, consultez les rubriques suivantes :

ASP.NET s'exécute toujours avec une identité Windows particulière de sorte que vous puissiez sécuriser votre application à l'aide des fonctionnalités Windows comme le système de fichiers NTFS, les listes de contrôle d'accès et les autorisations de base de données. Pour plus d'informations sur l'identité sous laquelle ASP.NET s'exécute, consultez Configuration de l'identité de processus ASP.NET et Emprunt d'identité ASP.NET.

Autres considérations

Les rubriques de cette section sont des rubriques que vous devez également prendre en compte avant de commencer le codage d'un site Web. En incorporant les informations de ces rubriques dans votre planification, vous pouvez gagner du temps et rendre votre site conforme aux normes actuelles du Web.

Accessibilité

La programmation de l'accessibilité est le processus de conception et de développement des applications qui fonctionnent avec le système d'exploitation d'un ordinateur dans l'objectif de prendre en compte des handicaps spécifiques, tels qu'une motricité réduite ou une cécité. ASP.NET peut vous aider à créer des applications Web qui sont accessibles aux personnes handicapées. Les applications Web accessibles permettent aux gens d'utiliser les technologies d'assistance, telles que les lecteurs d'écran, pour utiliser des pages Web. Les applications Web accessibles présentent les avantages suivants :

  • Elles peuvent être utilisées par l'audience la plus large possible.

  • Elles impliquent des principes de conception qui avantagent tous les utilisateurs et pas seulement les personnes handicapées.

  • Elles répondent aux besoins de nombreuses institutions qui nécessitent que toutes les applications Web soient accessibles.

En découvrant les règles d'accessibilité et comment ASP.NET peut vous aider à respecter ces règles, vous pouvez créer des applications qui sont plus simples d'interaction pour les personnes handicapées. Pour plus d'informations sur les règles d'accessibilité, consultez Prise en charge de l'accessibilité dans ASP.NET.

La plupart du temps, les contrôles ASP.NET rendent le balisage qui crée des pages qui respectent les normes d'accessibilité. Ils peuvent également présenter des propriétés que vous pouvez configurer pour rendre les pages accessibles. Toutefois, les contrôles ASP.NET restituent quelquefois une sortie qui ne se conforme pas à toutes les normes d'accessibilité. Pour plus d'informations, consultez Contrôles et accessibilité ASP.NET.

Globalisation et localisation

La globalisation est le processus de conception et de développement d'applications adaptées à plusieurs cultures. La localisation est le processus de personnalisation de votre application pour une culture et des paramètres régionaux donnés. Si vous créez des pages Web destinées à être lues par des personnes de différentes langues, vous devez permettre aux lecteurs de consulter la page dans leur propre langue. ASP.NET vous permet de créer une page qui peut obtenir du contenu et d'autres données basées sur le paramètre de la langue souhaitée pour le navigateur ou sur le choix explicite d'une langue par l'utilisateur. Ce contenu et d'autres données sont appelées ressources et de telles données peuvent être stockées dans des fichiers de ressources ou dans d'autres sources. Dans la page Web ASP.NET, vous configurez des contrôles pour obtenir leurs valeurs de propriété à partir de ressources. Au moment de l'exécution, les expressions de ressource sont remplacées par des ressources du fichier de ressources approprié. Pour plus d'informations, consultez Vue d'ensemble des ressources des pages Web ASP.NET.

Génération et précompilation de pages individuelles

Générer une page ou un site Web fait partie du développement d'un site ; cela permet de vous aider à rechercher les erreurs de compilation susceptibles de se produire n'importe où dans le site. Même si la génération entraîne la compilation des pages, elle ne produit pas d'assembly que vous pouvez déployer.

Vous pouvez déployer un site sans le compiler en copiant tous les fichiers du site Web vers un serveur de production. Lorsque les utilisateurs demandent des pages à partir du serveur de production, ASP.NET compile le site dynamiquement, en exécutant efficacement les mêmes étapes que celles effectuées lors du processus de génération dans Visual Studio. (ASP.NET met en cache le résultat pour éviter d'avoir à recompiler les pages à chaque requête).

Si vous souhaitez compiler le site dans des assemblys et d'autres fichiers que vous pouvez déployer, vous pouvez publier le site. La publication exécute les mêmes étapes de compilation que la génération, mais elle enregistre la sortie dans un dossier et un sous-dossier que vous pouvez déployer par la suite sur le serveur de production.

Pour plus d'informations, consultez Vue d'ensemble du déploiement ASP.NET.

Voir aussi

Concepts

Vue d'ensemble d'ASP.NET