Ce document présente une série d'exercices pratiques pour le module ASP.NET de l'Université Sidi Mohamed Ben Abdellah. Destiné aux étudiants en deuxième année de Génie Informatique, ce support pédagogique permet de consolider les compétences techniques en développement d'applications web dynamiques.
Il couvre les notions essentielles suivantes :
- Gestion de l'état via le ViewState, les Cookies et les Sessions ;
- Navigation interne, utilisation de Master Pages et contrôles utilisateurs ;
- Interaction avec les bases de données et validation de formulaires ;
- Mise en œuvre du multilinguisme et des requêtes asynchrones.
Guide de Travaux Pratiques : Maîtriser le Développement ASP.NET
Ce module d'exercices est conçu pour les étudiants en deuxième année de Génie Informatique. Il couvre les concepts fondamentaux d'ASP.NET, de la gestion d'état à l'interaction avec les bases de données, en passant par l'optimisation de l'interface utilisateur.
Exercice 1 : Gestion de l'état avec ViewState
L'objectif de cet exercice est d'utiliser le ViewState pour conserver des données lors des postbacks. Créez une application simple qui affiche un compteur incrémenté à chaque clic sur un bouton, tout en maintenant la valeur entre les rechargements de la page.
Exercice 2 : Navigation entre les pages WebForms
Développez deux pages ASP.NET (WebForm1 et WebForm2) et implémentez différentes méthodes de navigation pour comprendre leurs spécificités :
- Navigation directe via les contrôles LinkButton, Button et HyperLink.
- Utilisation de Response.Redirect pour une redirection côté client.
- Utilisation de Server.Transfer pour un transfert de contrôle côté serveur.
Exercice 3 : Gestion des Cookies et Identification
Créez une interface d'identification demandant le nom et le prénom. Si les identifiants sont valides :
- Générez un cookie de session pour stocker les informations de l'utilisateur.
- Redirigez l'utilisateur vers un accueil personnalisé.
- Lors du chargement de la page de login, vérifiez si le cookie existe pour rediriger automatiquement l'utilisateur déjà connecté.
- Sécurisez l'accès à la page d'accueil en redirigeant vers l'identification si le cookie est absent.
Exercice 4 : Utilisation des variables de Session
Reprenez les fonctionnalités de l'exercice précédent en remplaçant l'usage des cookies par des variables de Session. Comparez le comportement et la persistance des données entre ces deux méthodes de gestion d'état.
Exercice 5 : Affichage de données avec GridView
Apprenez à lier une source de données à un composant visuel. Utilisez le mode assistant d'ASP.NET pour connecter votre application à une base de données et afficher le contenu d'une table dans un contrôle GridView.
Exercice 6 : Master Pages et User Controls
Optimisez l'architecture de votre site web :
- Créez une Master Page pour définir une mise en page cohérente (en-tête, menu de navigation) partagée par plusieurs pages de contenu.
- Définissez la structure de navigation au sein d'un User Control (.ascx) afin de pouvoir l'appeler dynamiquement dans différentes parties de l'application.
Exercice 7 : Validation de formulaires
Concevez un formulaire d'inscription complet. Utilisez les contrôles de validation d'ASP.NET (RequiredFieldValidator, RangeValidator, RegularExpressionValidator) pour vérifier les champs selon des critères spécifiques avant de soumettre les données au serveur.
Exercice 8 : Création d'un site multilingue
Implémentez une fonctionnalité permettant de changer la langue du site via une liste déroulante (DropDownList). Si l'utilisateur choisit l'arabe, modifiez dynamiquement la direction de la page de droite à gauche en utilisant la propriété : IdBody.Attributes["dir"] = "rtl";.
Exercice 9 : Requêtes asynchrones avec AJAX
Réalisez une page de calcul mathématique. Utilisez les outils AJAX d'ASP.NET (comme l'UpdatePanel) pour que le résultat s'affiche immédiatement après le clic sur le bouton, sans provoquer un rechargement complet de la page dans le navigateur.
Exercice 10 : Auto-complétion dynamique
Mettez en place une fonctionnalité de recherche intelligente. Lorsqu'un utilisateur saisit les premières lettres d'un nom dans un TextBox, l'application doit interroger la base de données et proposer automatiquement une liste de suggestions correspondantes en temps réel.
FAQ : Questions Fréquentes sur ASP.NET
Quelle est la différence entre ViewState et Session ?
Le ViewState est utilisé pour stocker des données au niveau d'une seule page et survit aux postbacks vers cette même page. La Session, quant à elle, permet de stocker des informations spécifiques à un utilisateur valables pour l'ensemble du site durant sa navigation.
Pourquoi utiliser une Master Page ?
Une Master Page permet de centraliser le design et les éléments communs (menu, logo, pied de page) d'un site web. Cela facilite la maintenance et garantit une expérience utilisateur visuellement cohérente sur toutes les pages.
Comment éviter le rechargement de la page lors d'une action ?
Pour éviter le rechargement complet (Full Postback), on utilise généralement les extensions AJAX d'ASP.NET. Le contrôle UpdatePanel permet de mettre à jour uniquement une partie spécifique de la page de manière asynchrone.