Exercice : Écrire du code pour implémenter une application web
Dans cette unité, vous utiliser des outils de développement afin de créer le code pour une application web de démarrage.
Créer un projet web
Le cœur des outils CLI de .NET est l’outil en ligne de commande dotnet
. Utilisez cette commande pour créer un projet web ASP.NET Core.
Commençons par installer la version 8.0 de dotnet
dans le Cloud Shell. Dans cet exercice, nous utilisons le Kit de développement logiciel (SDK) version 3.1.102.
Téléchargez et installez dotnet 8.0 en exécutant les commandes suivantes dans la fenêtre Azure Cloud Shell :
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh chmod +x ./dotnet-install.sh ./dotnet-install.sh --channel 8.0 export PATH="~/.dotnet:$PATH" echo "export PATH=~/.dotnet:\$PATH" >> ~/.bashrc
Ensuite, exécutez la commande suivante pour créer une application modèle-vue-contrôleur (MVC) ASP.NET Core nommée « BestBikeApp » :
dotnet new mvc --name BestBikeApp
La commande crée un dossier nommé « BestBikeApp » qui va contenir votre projet.
Tester votre application web (facultatif)
Ouvrez une deuxième session de l’interpréteur de commandes en accédant à https://shell.azure.com/ dans un nouvel onglet. Vous pouvez tester votre application localement sur Azure. Pour cela, utilisez les étapes suivantes :
À partir de votre session d’interpréteur de commandes principale, exécutez les commandes suivantes pour générer et exécuter votre application web :
cd BestBikeApp dotnet run
Vous devez obtenir une sortie telle que l’exemple suivant :
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {b4a2970c-215c-4eb2-92b4-c28d021158c6} may be persisted to storage in unencrypted form. info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5022 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: /home/cephas_lin/BestBikeApp
La sortie décrit la situation après le démarrage de votre application : l’application est en cours d’exécution et écoute sur le port 5022. Notez le port sur lequel votre application s’exécute et qu’elle écoute à partir de votre sortie.
À partir d’une autre session Cloud Shell, exécutez la commande suivante pour accéder à votre application web, en remplaçant 5000 par le port que vous avez noté à la dernière étape :
curl -kL http://127.0.0.1:5000/
Vous devez voir apparaître du code HTML, se terminant par les lignes suivantes :
<div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://video2.skills-academy.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> </div> </main> </div> <footer b-b5g3qljvtd class="border-top footer text-muted"> <div b-b5g3qljvtd class="container"> © 2024 - BestBikeApp - <a href="/Home/Privacy">Privacy</a> </div> </footer> <script src="/lib/jquery/dist/jquery.min.js"></script> <script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script> <script src="/js/site.js?v=hRQyftXiu1lLX2P9Ly9xa4gHJgLeR1uGN5qegUobtGo"></script> </body> </html>
À partir de votre session de l’interpréteur de commandes principale, appuyez sur Ctrl+C pour quitter votre application web.
Pour créer une application web de démarrage, nous utilisons Maven, un outil de génération et de gestion de projets couramment utilisé pour les applications Java. Nous utilisons le modèle maven-archetype-webapp
pour générer le code de notre application web.
Exécutez maintenant les commandes suivantes dans Azure Cloud Shell pour créer une application web :
cd ~ mvn archetype:generate -DgroupId=example.demo -DartifactId=helloworld -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4
Exécutez maintenant les commandes suivantes pour passer au nouveau répertoire d’application « helloworld » et créer un package de l’application pour le déploiement :
cd helloworld mvn package
À la fin de l’exécution de la commande, exécutez ces commandes pour ouvrir le répertoire cible et lister son contenu :
cd target ls
Nous avons maintenant un fichier appelé helloworld.war
qui est le package d’application web que nous allons déployer sur App Service.
Pour créer une application web Node.js de démarrage, nous utilisons Node Package Manager (npm
), ainsi que du code JavaScript pour effectuer le traitement de la page web.
Exécutez les commandes suivantes dans le terminal pour créer un fichier
package.json
qui décrit notre application Node.js :cd ~ mkdir helloworld cd helloworld npm init -y
Un fichier package.json
est créé dans le dossier actif. Vous devez le trouver dans le dossier actif si vous entrez ls
dans la fenêtre de terminal. Nous devons avoir un fichier JavaScript pour exécuter notre logique de site web. Pour cet exemple de base, nous avons uniquement besoin d’un fichier : index.js
.
Créez le fichier en exécutant la commande suivante dans le terminal :
touch index.js
Nous devons maintenant apporter quelques modifications à nos deux fichiers. Pour ouvrir un éditeur interactif, exécutez la commande suivante dans le terminal :
code .
Pour utiliser Node.js afin de lancer l’application web, sélectionnez le fichier
package.json
, puis apportez les modifications suivantes à la sectionscripts
:{ "name": "helloworld", ... "scripts": { "start": "node index.js" }, ... }
Enregistrez le fichier en sélectionnant le menu ... ou en appuyant sur Ctrl+S sur Windows et Linux, ou Commande+S sur macOS.
Important
Chaque fois que vous modifiez un fichier au sein de l’éditeur, veillez à l’enregistrer ensuite en sélectionnant le menu ... en haut à droite de l’éditeur, ou en appuyant sur Ctrl+S sur Windows et Linux, ou Commande+S sur macOS. Pour quitter l’éditeur, appuyez sur Ctrl+Q sur Windows et Linux ou cliquez sur le coin supérieur droit de l’éditeur et sélectionnez Quitter sur MacOS.
Passez au fichier
index.js
et ajoutez-y le contenu suivant. Ce code est un petit programme Node.js qui répond toujours par « Hello World! » quand une requête GET est effectuée sur le serveur.const http = require('http'); const server = http.createServer(function(request, response) { response.writeHead(200, { "Content-Type": "text/html" }); response.end("<html><body><h1>Hello World!</h1></body></html>"); }); const port = process.env.PORT || 1337; server.listen(port); console.log(`Server running at http://localhost:${port}`);
Enregistrez votre fichier et quittez l’éditeur en sélectionnant l’icône ... en haut à droite, puis sélectionnez Enregistrer et Fermer l’éditeur dans le menu contextuel, ou utilisez les touches de raccourci Ctrl+S et Ctrl+Q sur Windows et Linux.
Tester votre application web (facultatif)
Pendant que vous exécutez l’application web helloworld, vous pouvez vérifier qu’elle s’exécute localement en ouvrant une deuxième session de l’interpréteur de commandes.
Dans un nouvel onglet de navigateur, accédez à https://shell.azure.com/.
À partir de votre session de l’interpréteur de commandes principale, exécutez les commandes suivantes pour démarrer votre application web :
cd ~/helloworld npm start
À partir de votre deuxième session de l’interpréteur de commandes, exécutez les commandes suivantes pour accéder à votre application web :
curl http://127.0.0.1:1337/
Vous devez obtenir la sortie suivante :
<html><body><h1>Hello World!</h1></body></html>
À partir de votre session de l’interpréteur de commandes principale, appuyez sur Ctrl+C pour quitter votre application web, puis fermez l’onglet de navigateur de la deuxième session de l’interpréteur de commandes.
Pour créer une application web de démarrage, nous utilisons l’infrastructure d’application web Flask.
Exécutez les commandes suivantes dans Azure Cloud Shell pour configurer un environnement virtuel et installer Flask dans votre profil :
python3 -m venv venv source venv/bin/activate pip install flask
Exécutez ces commandes pour créer et basculer vers votre nouveau répertoire d’application web :
mkdir ~/BestBikeApp cd ~/BestBikeApp
Créez un fichier pour votre application web en ouvrant application.py dans l’éditeur interactif Python :
code application.py
Copiez et collez le code Python suivant pour créer la fonctionnalité principale de l’application web :
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "<html><body><h1>Hello Best Bike App!</h1></body></html>\n"
Enregistrez votre fichier, quittez l’éditeur en sélectionnant le menu ... en haut à droite, puis en sélectionnant Enregistrer>Fermer l’éditeur, ou en appuyant sur Ctrl+S et Ctrl+Q sur Windows et Linux.
Pour déployer votre application sur Azure, vous devez enregistrer la liste des exigences que vous avez établies pour l’application dans un fichier requirements.txt. Pour cela, exécutez la commande suivante :
pip freeze > requirements.txt
Tester votre application web (facultatif)
Vous pouvez tester votre application localement dans Azure pendant son exécution.
Ouvrez une deuxième session de l’interpréteur de commandes dans un nouvel onglet de navigateur https://shell.azure.com/.
À partir de votre session de l’interpréteur de commandes principale (dans la fenêtre à droite), exécutez les commandes suivantes pour activer l’environnement virtuel :
cd .. source venv/bin/activate
À partir de votre session de l’interpréteur de commandes principale (dans la fenêtre à droite), exécutez les commandes suivantes pour démarrer votre application web :
cd ~/BestBikeApp export FLASK_APP=application.py flask run
À partir de votre deuxième session de l’interpréteur de commandes, exécutez les commandes suivantes pour accéder à votre application web :
curl http://127.0.0.1:5000/
Vous devriez obtenir la sortie HTML suivante :
<html><body><h1>Hello Best Bike App!</h1></body></html>
À partir de votre session de l’interpréteur de commandes principale, appuyez sur Ctrl+C pour quitter votre application web, puis fermez la session Azure Cloud Shell secondaire.