TUTO - Héberger une application ASP.NET sous Azure App Services + config + domaine + SSL
Zusammenfassung
TLDRLa vidéo explique comment créer et déployer une application .NET MVC sur Microsoft Azure via Visual Studio 2022. Le créateur détaille le processus de publication d'une application web en utilisant les outils intégrés de Visual Studio. Il décrit comment configurer un domaine personnalisé et gérer les paramètres de déploiement, tout en soulignant les meilleures pratiques pour la production, comme l'usage d'Azure DevOps pour des déploiements plus automatisés. L'audience est également guidée sur la configuration des slots de déploiement pour gérer différents environnements (production, pré-production) et sur l'ajout d'un certificat SSL pour sécuriser le domaine.
Mitbringsel
- 📁 Création d'application .NET MVC
- 🚀 Publication sur Azure depuis Visual Studio
- 🔧 Utilisation des slots de déploiement pour gérer les environnements
- 🔑 Configuration des paramètres et secrets d'application
- 🌐 Ajout d'un domaine personnalisé
- 🔒 Configuration d'un certificat SSL let's encrypt
- 🔄 Swap de slots pour intervertir les environnements
- 🔍 Importance des bonnes pratiques de déploiement
- 📊 Utilisation potentielle d'Azure DevOps
- 🖥️ Compatibilité entre Visual Studio et Azure
Zeitleiste
- 00:00:00 - 00:05:00
L'orateur discute de la création d'une application ASP.NET dans Visual Studio 2022 pour la publier sur Azure en utilisant un processus manuel. Il souligne l'importance des bonnes pratiques de déploiement, comme l’automatisation via Azure DevOps, même s'il opte pour une méthode simplifiée pour l'exemple.
- 00:05:00 - 00:10:00
Il continue avec l'exemple pratique de publication d'une application sur Azure, en choisissant les configurations de base via Visual Studio sans utiliser le portail Azure. Quelques spécificités techniques du déploiement, comme les options de choix de l'environnement (Windows/Linux) et du serveur, sont discutées.
- 00:10:00 - 00:15:00
L'orateur aborde ensuite les configurations nécessaires sur Azure, notamment l'ajustement des paramètres d'application. Il met l'accent sur la capacité d'Azure à remplacer les configurations locales avec celles appropriées pour les environnements de production.
- 00:15:00 - 00:20:00
Il décrit la gestion des configurations sur Azure, en précisant comment les paramètres comme les clés peuvent être personnalisés via le portail Azure. Il explique comment les hiérarchies de configuration peuvent utiliser des double underscores pour structurer les données sur Azure de manière efficace.
- 00:20:00 - 00:28:43
Le concept des 'deployment slots' sur Azure est introduit, permettant des tests en pré-production avant le déploiement en production. Il démontre comment utiliser les slots pour tester, échanger les configurations et maintenir des environnements séparés pour différents stades de développement.
Mind Map
Video-Fragen und Antworten
Quelle est la méthode principale pour déployer une application sur Azure dans cette vidéo ?
La vidéo utilise Visual Studio 2022 pour déployer une application .NET MVC sur Azure.
Le domaine personnalisé est-il couvert dans le déploiement ?
Oui, la vidéo explique comment configurer un domaine personnalisé.
Pourquoi est-il recommandé d'utiliser Azure DevOps ?
Azure DevOps offre des processus de déploiement automatisés, évitant la compilation manuelle.
Qu'est-ce qu'un slot de déploiement ?
Un slot de déploiement permet de gérer plusieurs environnements (comme production et pré-production) au sein de la même application Azure.
Comment la vidéo recommande-t-elle de gérer les secrets et configurations d'application ?
La configuration des secrets et paramètres applicatifs est gérée via le fichier appsettings.json et les paramètres Azure.
Quelle est la solution pour les certificats SSL gratuite mentionnée ?
La vidéo mentionne Let's Encrypt comme une solution gratuite pour obtenir des certificats SSL.
Est-il nécessaire de passer par le portail Azure pour le déploiement ?
Non, le déploiement peut être totalement géré via Visual Studio 2022.
La vidéo couvre-t-elle l'automatisation des déploiements ?
Elle mentionne l'automatisation avec Azure DevOps mais se concentre sur le déploiement manuel via Visual Studio.
Quel outil est recommandé pour tester de nouvelles fonctionnalités avant la production ?
Les slots de déploiement sur Azure permettent de tester de nouvelles fonctionnalités en pré-production.
Weitere Video-Zusammenfassungen anzeigen
Outliers : Data Science Basics
Fonte ajustável simples com transistor
Antropología de la Muerte - Parte 1
Civil Gamers - SCP:RP | Breach Announcements (HQ)
Le libre-échange est-il l’avenir de l’Europe ? Mercosur et tensions commerciales • FRANCE 24
L’histoire sans fin du sommeil paradoxal par Pierre-Hervé Luppi
- 00:00:03[Musique]
- 00:00:53mon site dans ce dossier je vais ouvrir
- 00:00:56un terminal et je vais donc créer une
- 00:00:58appli DotNet new MVC bon je fais du MVC
- 00:01:02mais en bref on s'en fout un petit peu
- 00:01:03du type d'application il faut savoir que
- 00:01:05soit une application aspect net là aussi
- 00:01:07pu faire une API mais là avec une vue au
- 00:01:08moins je pourrais faire quelques
- 00:01:09expérimentations je vais ouvrir cela
- 00:01:12avec Visual Studio 2022 et on va voir
- 00:01:15comment le mettre sur azur comment gérer
- 00:01:17les paramètres le nom de domaine
- 00:01:19personnalisé et tout ça pas d'inquiétude
- 00:01:21donc le but ici ça va être d'être
- 00:01:23capable de faire en sorte que ce site
- 00:01:25qui sauve dans mon visuel studio puisse
- 00:01:27être installé sur azur alors on peut le
- 00:01:29faire de plusieurs façons moi je vais
- 00:01:30faire la version simple je vais utiliser
- 00:01:32les outils de Visual Studio qui me
- 00:01:34permettent de publier mon site sur azur
- 00:01:36alors ce n'est pas la meilleure façon de
- 00:01:38faire pour une simple et bonne raison
- 00:01:40c'est que ça repose sur un processus
- 00:01:41manuel et la compilation sur le poste
- 00:01:43d'un développeur ce qui est contre les
- 00:01:46bonnes pratiques en termes de
- 00:01:47déploiement de site et d'application web
- 00:01:49tout simplement parce qu'en fait si on
- 00:01:51suit la philosophie des votes on va
- 00:01:54s'imposer de compiler notre application
- 00:01:56et de faire en sorte que tout ça soit
- 00:01:58fait sur un environnement qui soit
- 00:01:59neutre pour ne pas qu'on ait de
- 00:02:01dépendance du système ou autre et que
- 00:02:04tout ça puisse être envoyé par le biais
- 00:02:06de processus automatisé moi ici je vais
- 00:02:08aller à l'essentiel en faisant depuis
- 00:02:102022 mais je t'invite à creuser la voix
- 00:02:12comment le faire de façon automatiqueée
- 00:02:13par exemple avec un outil comme azur
- 00:02:15DevOps si le sujet t'intéresse
- 00:02:17d'ailleurs j'ai une formation sur les
- 00:02:19pipelines azur DevOps disponible sur un
- 00:02:21plateforme combien même je ne fais pas
- 00:02:23cet exercice en particulier tu peux
- 00:02:24l'adapter pour faire cela c'est assez
- 00:02:26simple alors c'est relativement simple
- 00:02:28de publier sur Azur à partir de Visual
- 00:02:30Studio je vais faire un clic droit sur
- 00:02:31mon application et publier et donc ici
- 00:02:33ce que je vais faire c'est que je vais
- 00:02:35directement publier sur azur donc pour
- 00:02:36publier mon site sur azur je peux faire
- 00:02:38tout depuis visuel studio c'est
- 00:02:40relativement simple je n'ai pas besoin
- 00:02:41de passer par le portail je vais donc
- 00:02:43choisir ici la cible comme étant azur
- 00:02:45après je choisis si je veux du Windows
- 00:02:46ou du Linux ça n'a pas vraiment
- 00:02:48d'important je vais rester sous Windows
- 00:02:50dans mon cas et donc là ici je vais
- 00:02:51choisir mon compte mic Microsoft et
- 00:02:54l'abonnement sur lequel je vais créer le
- 00:02:56abservice plane donc le serveur grosso
- 00:02:59modo et le app service l'application qui
- 00:03:01va être installée sur le serveur donc
- 00:03:02moi ici je n'ai aucune instance
- 00:03:03disponible mais je peux cliquer sur
- 00:03:05Créer une nouvelle instance ce qui va me
- 00:03:07permettre d'avoir un wids hard me
- 00:03:09permettant de PI Visual Studio de créer
- 00:03:11directement les ressources azuantes
- 00:03:12alors on pourrait passer par le portail
- 00:03:15azur il y a beaucoup plus d'étapes et de
- 00:03:16personnalisation pour le faire moi ici
- 00:03:19vu qu'on a pas de gros besoins on va
- 00:03:21simplement passer par le gestionnaire
- 00:03:23qui est inclus dans Visual Studio donc
- 00:03:25je vais appeler ça comme mon site
- 00:03:30YouTube et en fait ici je choisis je
- 00:03:33rappelle le nouveau l'abonnement je
- 00:03:34choisis le groupe de ressources donc moi
- 00:03:35j'ai un groupe de ressources qui
- 00:03:36s'appelle YouTube et j'ai un plan
- 00:03:38d'hébergement ici qui m'a été
- 00:03:40automatiquement proposé qui se trouve
- 00:03:41donc en centrale US et de type S1 je
- 00:03:44peux cliquer sur Nouveau qui va me
- 00:03:46permettre de créer un plan d'hébergement
- 00:03:47donc un serveur sur mesure donc ici j'ai
- 00:03:50l'appeler par exemple mon site serveur
- 00:03:53je vais non pas le mettre en centrale US
- 00:03:55parce que c'est relativement loin de moi
- 00:03:56mais je vais le mettre en West yeurope
- 00:03:58et là après je peux choisir le type
- 00:04:01d'éléments que je préfère donc en fait
- 00:04:03il y a pas mal de choses qui sont
- 00:04:04masquées ici par le biais de des
- 00:04:07assistants de Visual Studio qu'on peut
- 00:04:09retrouver sur le portail donc moi je
- 00:04:11vais partir en P1 V2 PREMIUM 1 V2 je
- 00:04:13vais faire OK et donc ça va me créer
- 00:04:15cette nouvelle ressource donc si je vais
- 00:04:17sur azur dans YouTube comme vous le
- 00:04:20voyez ici je n'ai aucune aucun aucun
- 00:04:22élément si je fais refresh je n'ai
- 00:04:24aucune ressource dans ce groupe en
- 00:04:26particulier donc je vais demander de le
- 00:04:29créer
- 00:04:29donc Visual Studio en fait va faire des
- 00:04:31appels pour moi pour créer le serveur me
- 00:04:34permettant de dégager mon absence en
- 00:04:35fait ce qui est bien avec veste 2022
- 00:04:37c'est que vous avez tout directement
- 00:04:38dans l'application sans avoir besoin de
- 00:04:40connaître comment fonctionne le portail
- 00:04:41et ça vous permet de gagner un petit peu
- 00:04:43de temps après tout ça peut se préparer
- 00:04:45en amont donc vous préparez tout sur
- 00:04:48directement sur azur vous créez votre
- 00:04:51absence et votre absence et une fois que
- 00:04:54tout est prêt vous pouvez venir le
- 00:04:55câbler avec Visual Studio pour ne pas
- 00:04:57être ennuyé donc moi je laisse vs le
- 00:04:58faire on se retrouve quand il a fini
- 00:05:00donc là je vois que Visual Studio a fini
- 00:05:02son travail je retrouve donc ici le nom
- 00:05:04de mon groupe de ressources sur azur et
- 00:05:06je vois mon site et là ici j'ai
- 00:05:08emplacement de déploiement je n'en ai
- 00:05:09pas on y reviendra un petit peu plus
- 00:05:11tard sur cette notion d'emplacement de
- 00:05:12déploiement donc là j'ai mon site
- 00:05:14Youtube je peux faire terminer alors je
- 00:05:16peux également cocher déployant en tant
- 00:05:17que package si ça me fait plaisir pour
- 00:05:19éviter d'avoir x transfert réseau en
- 00:05:21même temps mais là je vais faire
- 00:05:22simplement terminer et ça me crée donc
- 00:05:24le profil de publication pour publier
- 00:05:26sur azur donc petite spécificité ici je
- 00:05:29je suis en DotNet de 7 cependant c'est
- 00:05:31que azur aujourd'hui ne supporte donner
- 00:05:34cette campe preview moment du tournage
- 00:05:35de cette vidéo et donc je ne peux pas
- 00:05:37choisir ici le mode de déploiement comme
- 00:05:38étant dépendant du framework je suis
- 00:05:40obligé d'être en mode autonome car en
- 00:05:43effet il faut que le framework soit
- 00:05:44empaquée avec mon application ici le
- 00:05:46runtime cible a été automatiquement
- 00:05:48défini sur winx86 si je veux le passer
- 00:05:51en 64 bits j'ai un petit panneau
- 00:05:53attention ici qui me dit qu'en fait
- 00:05:54l'instance d'Azur ABS services qui a été
- 00:05:56créé ne gère que du x86 alors pourquoi
- 00:05:59et bien simplement parce que je choisis
- 00:06:01du pain V2 comme vous en souvenez qui
- 00:06:03est de qui n'a que trois points 5 giga
- 00:06:06de mémoire donc qui est forcément
- 00:06:07limitée et c'est pour ça qu'on tourne en
- 00:06:09x86 et non pas en x 64 pour être le plus
- 00:06:12économe possible sur le peu de mémoire
- 00:06:13qui est mis à disposition donc je vais
- 00:06:15la laisser en x86 dans le cas de ce
- 00:06:18profil en particulier et donc bien
- 00:06:20spécifié en autonome donc maintenant en
- 00:06:23fait tout est prêt j'ai juste à cliquer
- 00:06:24sur le bouton Publier avant ça si je
- 00:06:26retourne sur Youtube et que j'actualise
- 00:06:29ici mon groupe de ressources on voit ici
- 00:06:31que j'ai mon absence et mon absence si
- 00:06:34je clique sur mon app service qui est là
- 00:06:35je vais donc avoir accès à mon
- 00:06:38application qui est sur Youtube qui
- 00:06:40fonctionne mais qui ne contient rien
- 00:06:42dedans aujourd'hui c'est à dire que
- 00:06:44c'est les fichiers par défaut je
- 00:06:46retrouve donc ici le lien en cliquant
- 00:06:49dessus je vais arriver sur l'application
- 00:06:51par défaut qui a été ajouté dans mon
- 00:06:53absence pour prouver qu'elle fonctionne
- 00:06:54bien le temps que le site se mette en
- 00:06:57chargement
- 00:06:59et donc vous voyez ici que mon
- 00:07:01application fonctionne et attend mon
- 00:07:03contenu pour et bien gérer ce que je
- 00:07:06vais avoir dedans donc maintenant dans
- 00:07:07Visual Studio je vais cliquer sur
- 00:07:08Publier et je vais attendre que visuo me
- 00:07:11fasse la publication de mon application
- 00:07:13sur azur donc comme on peut le voir
- 00:07:15Visual Studio a terminé la publication
- 00:07:17ce qui était un peu plus long parce que
- 00:07:18j'avais tout le framework à déployer
- 00:07:20également ici si je vais sur mon site
- 00:07:22YouTube que je clique cette fois-ci sur
- 00:07:24le lien
- 00:07:26qui va donc mourir le site dans un
- 00:07:27nouvel onglet cette fois ci j'arrive
- 00:07:29bien sûr mon site mon application spnet
- 00:07:32donc comme vous le voyez en fait en
- 00:07:33quelques clics je publie mon application
- 00:07:35sur azur cette fois-ci par contre c'est
- 00:07:38une solution qui est production parce
- 00:07:41qu'en fait le ABS service d'Azur est
- 00:07:43pensé pour faire fonctionner des
- 00:07:45applications en production sur azur donc
- 00:07:47vous avez là on va dire un workflow pour
- 00:07:49un site personnel ou quelque chose dont
- 00:07:51vous avez besoin en termes de de
- 00:07:53d'hébergement de site qui est prêt pour
- 00:07:56de la production car vous avez déjà tous
- 00:07:58les outils cependant il manque quand
- 00:07:59même quelques petites choses et je vais
- 00:08:02vous montrer comment ça fonctionne dans
- 00:08:04la suite de cette vidéo la première
- 00:08:06chose ça va être la notion de la
- 00:08:07configuration en fait si vous avez fait
- 00:08:10un peu d'aspn vous savez qu'on a le
- 00:08:11fichier app settings qui contient la
- 00:08:14configuration donc ici par exemple je
- 00:08:16peux mettre ma clé de points
- 00:08:19ma valeur donc je vais faire une mise à
- 00:08:21jour de mon application je vais me
- 00:08:23rendre sur la vue principale home ici je
- 00:08:26vais récupérer par injection de
- 00:08:29dépendance
- 00:08:31et configurer Sean que je vais appeler
- 00:08:32conf par exemple et donc là je vais
- 00:08:35afficher dans un titre h3@ de ma clé
- 00:08:39donc quel élément de configuration qui
- 00:08:41vient donc ici depuis le apcx pour Jason
- 00:08:44si j'exécute cela en http sur mon
- 00:08:48application
- 00:08:51je retrouve bien ici ma valeur ok le
- 00:08:54problème c'est que le app settings qui
- 00:08:57est là j'ai peut-être envie que sur azur
- 00:08:58il soit remplacé par autre chose donc
- 00:09:00pour ça ce qu'il faudrait c'est que ma
- 00:09:02clé sur azur et une autre valeur
- 00:09:05donc si je publie mon site
- 00:09:07je vais faire publier je vais replier
- 00:09:09cette nouvelle version qui contient donc
- 00:09:10l'ajout de la valeur de la configuration
- 00:09:13sur la page d'accueil la publication va
- 00:09:15prendre un peu de temps ça me laisse le
- 00:09:16temps de vous expliquer sur azur
- 00:09:18commence à marche vous avez ici sur la
- 00:09:19gauche dans settings configuré Sean qui
- 00:09:22vous permet de définir la configuration
- 00:09:23de votre application qui va être
- 00:09:26récupérée par le moteur de configuration
- 00:09:28d'aspnet en fait on va avoir deux blocs
- 00:09:32principaux le premier va être
- 00:09:35appliqué sur une setting ce qui est ici
- 00:09:37en haut et le second va être connections
- 00:09:39strings donc en fait il y a une
- 00:09:40différence tout simplement parce qu'on a
- 00:09:41espionnette on peut ranger les chaînes
- 00:09:43de connexion dans un objectif qui va
- 00:09:44être donc récupéré de PI ce bloc là donc
- 00:09:47toutes vos chaînes de connexion vous
- 00:09:48pouvez directement les mettre ici avec
- 00:09:49un nom de chaîne de connexion et il
- 00:09:52faudra donc respecter la hiérarchie dans
- 00:09:55la configuration au niveau de votre
- 00:09:56application ici comme vous voyez j'ai
- 00:09:58déjà ma valeur mais je veux par exemple
- 00:10:00ma valeur sur azur donc pour ça je vais
- 00:10:02faire un nouveau paramètre d'application
- 00:10:03que je vais appeler ma clé et je vais
- 00:10:06l'appeler ma valeur sur azur vous voyez
- 00:10:09que j'ai ici une case déploiement Scott
- 00:10:11setting retenez ça on va y revenir plus
- 00:10:13tard donc je vais faire ok donc comme
- 00:10:15vous voyez j'ai ici ma clé avec un petit
- 00:10:17bar violette sur la gauche très petite
- 00:10:18je sais pas si vous la voyez et donc une
- 00:10:21petite étoile ici qui me veut qui me
- 00:10:23signifie que je dois sauvegarder mes
- 00:10:24changements je vais donc pouvoir cliquer
- 00:10:25sur Save azur me prévient que changer la
- 00:10:28configuration redémarre automatiquement
- 00:10:29mon application en effet la
- 00:10:31configuration n'est pas chargée à chaud
- 00:10:33mais doit être redémarré mais doit être
- 00:10:36redémarrée pour prendre en compte la
- 00:10:38nouvelle configuration donc j'ai fait OK
- 00:10:39et donc ici si j'actualise le temps que
- 00:10:42mon site redémarre vous voyez que j'ai
- 00:10:43cette fois-ci ma valeur sur azur car ma
- 00:10:46configuration a bien été pris en compte
- 00:10:47donc vous pouvez définir directement sur
- 00:10:51Azur avec les éléments de configuration
- 00:10:53qui sont propres à azur alors il y a un
- 00:10:55autre service sur azur qui existe
- 00:10:56également qui est configuré Sean qui est
- 00:10:58un peu plus poussé que la config qu'on a
- 00:11:00là mais qui coûte plus cher également
- 00:11:02donc on en a pas forcément le besoin et
- 00:11:04je ne vais pas aborder ça dans les caves
- 00:11:06de cette vidéo donc petite spécificité
- 00:11:08si vous tentez de créer des objets dans
- 00:11:11votre configuration si je reviens par
- 00:11:12exemple ici en disant comme ceci hop mon
- 00:11:16objet
- 00:11:19avec un objet ensuite ma clé de points
- 00:11:23ma valeur obj côté
- 00:11:26applicatif vous allez avoir
- 00:11:29mon objet de points
- 00:11:33suivi ici de ma clé donc je vais publier
- 00:11:37cette nouvelle version sur azur
- 00:11:39rapidement donc ici si je vais dans Mes
- 00:11:43applications et que je fais mon objet
- 00:11:46deux points ma clé et que je mets ma
- 00:11:49valeur obj sur azur je fais ok je
- 00:11:53sauvegarde je valide donc j'attends que
- 00:11:56Visual Studio est terminé la publication
- 00:11:58donc j'ai ma valeur obéji sur azur donc
- 00:12:01vous pouvez très bien utiliser le deux
- 00:12:02points par contre le deux points n'est
- 00:12:04pas toujours possible donc vous pouvez
- 00:12:05très bien sur azur le remplacer
- 00:12:07également par un double endorscore ça
- 00:12:09marche également donc là je remplace la
- 00:12:11différence entre les deux par non pas
- 00:12:12par un deux points par un double
- 00:12:13underscore je sauvegarde et ici quand ça
- 00:12:16va redémarrer mon application si
- 00:12:18j'actualise j'ai toujours ma valeur obj
- 00:12:20sur azur vous voyez donc là j'attends
- 00:12:22que le site est redémarrer et c'est bon
- 00:12:23j'ai toujours ma valeur obéi sur azur
- 00:12:25donc si vous avez besoin de stocker on
- 00:12:28va dire une hiérarchie d'éléments vous
- 00:12:30pouvez très bien utiliser comme ça le
- 00:12:31double enderscore directement dans les
- 00:12:34noms des paramètres donc vous savez
- 00:12:37maintenant comment déployer une
- 00:12:39application sur azur et définir les
- 00:12:40paramètres de configuration pour
- 00:12:42remplacer ce qui aurait dans le app
- 00:12:44settings car en effet qui sont ici sont
- 00:12:47en cryptés et vont prendre le pas sur le
- 00:12:49app sittings.gizone alors on va parler
- 00:12:52de d'une autre chose qui est assez
- 00:12:54importante quand on déploie sur azur
- 00:12:55c'est la notion d'environnement vous
- 00:12:58allez avoir forcément votre site qui va
- 00:13:00être sur un slot de production mais vous
- 00:13:02avez peut-être envie de tester une
- 00:13:04version avant de la basculer pour tout
- 00:13:05le monde en production donc d'avoir un
- 00:13:07environnement de pré-production et pour
- 00:13:09ça il est nécessaire d'avoir un
- 00:13:11environnement qui soit similaire à ce
- 00:13:13que vous avez en production donc au lieu
- 00:13:15de dupliquer totalement toutes les
- 00:13:17ressources sur azur nous avons quand on
- 00:13:19peut le voir ici les déploiement slots
- 00:13:21qui sont là pour ça donc par définition
- 00:13:23quand vous créez une app service sur
- 00:13:25azur vous n'avez que un seul diplôme
- 00:13:26slot qui est celui de production où
- 00:13:29est-ce que vous avez 100% du trafic qui
- 00:13:31est redirigé vers ce slot en particulier
- 00:13:33mais vous voyez là où que j'ai un petit
- 00:13:35bouton adslot qui me permet de créer un
- 00:13:38nouveau
- 00:13:39un nouveau slot de déploiement donc moi
- 00:13:42je vais l'appeler par exemple ici
- 00:13:44j'ai d'abord cliquer sur le bouton et je
- 00:13:46vais choisir de l'appeler par exemple
- 00:13:47très prod donc si je tape très PROD vous
- 00:13:50voyez que ça reprend en fait azur
- 00:13:51website.net mais ça reprend mon
- 00:13:53application tiret le nom du slot et j'ai
- 00:13:57ici quelque chose d'assez important le
- 00:13:58clonage des settings car en effet quand
- 00:14:01on a créé la configuration on a vu qu'on
- 00:14:02avait une petite case à cocher qui était
- 00:14:04spécifique au slot donc je vais cloner
- 00:14:06les settings depuis mon site YouTube
- 00:14:08pour avoir les settings de part et
- 00:14:11d'autre car en effet comme ça je vais
- 00:14:12pouvoir avoir mon site qui a fonctionné
- 00:14:13avec les paramètres de configuration sur
- 00:14:15les deux environnements je vais faire
- 00:14:17add et donc j'ai maintenant un autre
- 00:14:19slot qui est pour la pré-production donc
- 00:14:22ce que je vais faire c'est que je vais
- 00:14:23aller sur mon application je vais mettre
- 00:14:24ici welcome V2 dans le titre
- 00:14:28donc si je fais publier et que je clique
- 00:14:32sur publier ici en fait ça va simplement
- 00:14:33me l'envoyer sur le spot de production
- 00:14:36c'est peut-être pas ce que j'ai envie
- 00:14:37donc je vais créer un nouveau profil de
- 00:14:39publication sur azur observice Windows
- 00:14:42avec mon abonnement sponsor ship et là
- 00:14:45ici cette fois-ci vous voyez j'ai
- 00:14:47emplacement de déploiement j'ai très
- 00:14:48prode qui est là en fait c'est comme une
- 00:14:50autre application qui va tourner en
- 00:14:52parallèle donc je peux choisir de
- 00:14:54cliquer sur celle là de faire terminer
- 00:14:55ça va me créer un nouveau profil donc
- 00:14:58ici j'ai le nouveau profil qui a été
- 00:15:00créé je peux d'ailleurs depuis Visual
- 00:15:02Studio 2022 facilement changer de profil
- 00:15:04en cliquant ici vous voyez j'ai mes deux
- 00:15:05profils je peux changer l'un ou l'autre
- 00:15:08donc je dois refaire la même logique
- 00:15:10donc remettre en autonome en x86 pour
- 00:15:13avoir la version en mode compatible avec
- 00:15:17mon absence et DotNet 7 et là je vais
- 00:15:20pouvoir publier sur le slot de
- 00:15:21pré-production ça va être un peu long le
- 00:15:24temps que le framework soit compilé et
- 00:15:25envoyé vers le site vous allez peut-être
- 00:15:27vous poser la question ok mais à quoi ça
- 00:15:28sert pas avoir ce slot là si il y a
- 00:15:31personne si je vais ici j'ai 0 % du
- 00:15:34trafic qui redirigé vers la pré-prod
- 00:15:35alors déjà plusieurs choses la première
- 00:15:37c'est que ça vous permet de tester votre
- 00:15:39application dépeil sur azur si ici je
- 00:15:41clique sur mon site YouTube en pré-prove
- 00:15:45j'ai une URL qui est dédiée sur laquelle
- 00:15:47je peux naviguer qui va me permettre de
- 00:15:49tester la nouvelle version de mon site
- 00:15:52sans avoir d'impact sur la version en
- 00:15:54production donc je le déploie là je suis
- 00:15:56dans le même environnement azur les
- 00:15:58mêmes choses sont tout est similaires et
- 00:16:00je peux tester ma mon ma version de
- 00:16:03pré-production j'ai pas de problème
- 00:16:04ensuite si je considère et bien que mes
- 00:16:07tests sont fructueux je peux ici très
- 00:16:10bien décider de faire 55 ans c'est à
- 00:16:12dire d'envoyer un visiteur sur deux sur
- 00:16:14cette nouvelle version cette nouvelle
- 00:16:16plateforme pour voir si et bien les
- 00:16:18visiteurs sont OK avec une nouvelle
- 00:16:21figure que j'ai fait bon bien sûr ça
- 00:16:23présuppose plusieurs choses ça
- 00:16:24présuppose que la pré-prod est branchée
- 00:16:27sur la même base que la production pour
- 00:16:28que tout le monde retrouve ses comptes
- 00:16:30utilisateurs ainsi de suite ça nécessite
- 00:16:31également que j'ai mis en place tout un
- 00:16:34ensemble de mécanismes de monitoring
- 00:16:35pour voir les feedbacks des user leur
- 00:16:37utilisation et tout ça mais je peux très
- 00:16:39bien choisir de rerouter une partie de
- 00:16:41mes utilisateurs vers la preprod pour
- 00:16:44voir comment est-ce qu'on comporte donc
- 00:16:45là Visual Studio vient de terminer le
- 00:16:47déploiement j'ai l'onglet qui s'est
- 00:16:48ouvert et donc là vous voyez j'ai
- 00:16:49welcome V2 sur la pré prod et si je
- 00:16:52duplique l'URL et que j'enlève très prod
- 00:16:54je suis en welcome classique donc V2 en
- 00:16:57pré-prod et welcome en classique donc
- 00:16:59comme vous l'avez vu vous pouvez tester
- 00:17:00en parallèle votre application la
- 00:17:03nouvelle en preprod et votre application
- 00:17:05en production continue à la tourner à
- 00:17:07faire sa vie ok vous pouvez également
- 00:17:08rooter une partie du trafic si vous en
- 00:17:10avez besoin et maintenant ce qu'on peut
- 00:17:12faire c'est que si je vais sur depimance
- 00:17:13loft j'ai cette petite bouton ici qui
- 00:17:16s'appelle swap ce qui va me permettre en
- 00:17:18fait de faire l'interversion de mes deux
- 00:17:21slots la production on va devenir la
- 00:17:23preprod enfin tout du moins les fichiers
- 00:17:25en production vont devenir la preuve et
- 00:17:27les fichiers très prode revenir la
- 00:17:29production donc si je clique sur swap je
- 00:17:31fais ok parce que c'était les challenges
- 00:17:33par rapport au pourcentage de
- 00:17:35redirection je choisis donc ici la
- 00:17:36source et la destination alors moi je
- 00:17:38n'ai que deux slot vous pouvez en avoir
- 00:17:39jusqu'à 20 dans les cas Premium ou 3
- 00:17:43dans la partie basique voire 10 ça va
- 00:17:45dépendre simplement de la taille de ce
- 00:17:46que vous avez choisi en terme
- 00:17:47d'hébergement donc là je vais simplement
- 00:17:48switcher entre l'après prod et la prod
- 00:17:51je clique sur swap et ce qu'on va faire
- 00:17:52azur c'est qu'il va simplement échanger
- 00:17:54mes deux sites donc cette url va pointer
- 00:17:57sur l'ancienne prod et c'est sur elle va
- 00:17:59pointer sur la pré-prote qui va devenir
- 00:18:01la nouvelle production donc le temps que
- 00:18:03le swap se fasse ça me fait permet de
- 00:18:05faire les échanges mais ça va également
- 00:18:07me permettre d'aborder la notion de la
- 00:18:08configuration car en effet si vous
- 00:18:11souhaitez avoir une pré-production qui
- 00:18:13est la nouvelle version de production
- 00:18:15vous allez avoir des paramètres qui sont
- 00:18:17totalement similaires à la production
- 00:18:18donc là dessus il y a pas tellement de
- 00:18:20la question de se pose pas par contre si
- 00:18:23vous souhaitez avoir une pré-production
- 00:18:24qui tape sur une base de pré prod donc
- 00:18:26en gros ou est-ce que les utilisateurs
- 00:18:28de la production ne peuvent pas utiliser
- 00:18:30la pré-production parce que ce n'est pas
- 00:18:32la même base utilisateur en fait vous
- 00:18:34allez avoir typiquement des paramètres
- 00:18:36qui sont dédiés à cet environnement en
- 00:18:39pré-production c'est exactement le but
- 00:18:41du fameux la fameuse crise à cocher en
- 00:18:44fait quand on a créé un paramètre dans
- 00:18:46la configuration on avait la possibilité
- 00:18:48de cocher la case configuration sload
- 00:18:50settings qui m'indiquait tout simplement
- 00:18:53que ce paramètre de configuration ne
- 00:18:56devait pas être interverti quand je
- 00:18:58faisais l'échange des slots bon je vais
- 00:19:00vous montrer ça en pratique pour que ce
- 00:19:01soit plus clair ici le swap c'est bien
- 00:19:04fait si j'actualise la pré-prod vous
- 00:19:07voyez que je n'ai plus le V2 et si
- 00:19:08j'actualise la prod j'ai le V2 donc j'ai
- 00:19:10interverti les deux versions ça me
- 00:19:12permet d'être un peu plus flexible
- 00:19:13maintenant pour revenir à cette histoire
- 00:19:15de configuration si je clique sur
- 00:19:17Configuration
- 00:19:19ici je suis donc sur la le site de prod
- 00:19:23vous voyez j'ai ma clé je peux aller
- 00:19:25l'éditer et dire qu'il s'agit d'un
- 00:19:27déploiement slot setting donc là j'ai ma
- 00:19:29valeur sur azur ok donc une fois que ça
- 00:19:32c'est fait vous voyez ici j'ai une
- 00:19:33petite case à cocher déplament soit
- 00:19:34setting et vu que j'ai dupliqué dans mon
- 00:19:37DIPLINE slot de prêt prod la version de
- 00:19:39la prod si je vais ici sur la pré prod
- 00:19:41que je vais dans la configuration et
- 00:19:43bien également il est au courant mais ce
- 00:19:45que je vais faire c'est que dans la
- 00:19:46preprod je vais simplement éditer et je
- 00:19:48vais mettre enderscore très prod ici sur
- 00:19:51ma clé je sauve donc en fait ça veut
- 00:19:55dire que la valeur de configuration ma
- 00:19:57clé en production vaut ce qu'on avait
- 00:19:59mis au début et la version de ma clé en
- 00:20:01pré-production dans le slot de
- 00:20:02pré-production vaut ce qu'on a eu en
- 00:20:04début en dans ce corps très prod donc je
- 00:20:06vais actualiser les deux sites
- 00:20:08et comme on peut le voir ici j'ai
- 00:20:09pré-prod et là je n'ai rien donc là je
- 00:20:12suis en production et là je suis en
- 00:20:14pré-production et ça veut simplement
- 00:20:15dire cette petite case à cocher que si
- 00:20:18je décide de refaire le swap et bien
- 00:20:20tout simplement je ne vais pas
- 00:20:22intervertir cette valeur de clé ce qui
- 00:20:24veut dire qu'en gros dans la version de
- 00:20:27prêt prod je vais toujours garder le
- 00:20:29paramètre avec endorscores très prod et
- 00:20:32dans la version de prod je vais toujours
- 00:20:33garder le paramètre tel qui était défini
- 00:20:34je ne vais pas intervertir ces éléments
- 00:20:36de configuration tous les autres vont
- 00:20:38être échangés donc c'est à dire que dans
- 00:20:40la nouvelle version je vais avoir ceux
- 00:20:42de l'ancienne version ainsi de suite je
- 00:20:43vais avoir un échange toute la config
- 00:20:44sauf ceux qui sont marqués comme étant
- 00:20:46on va dire attacher au slot sur lequel
- 00:20:50ils ont été marqués comme tel donc je
- 00:20:53vais toujours garder en pré-production
- 00:20:54ce paramètre qui sera avec cette valeur
- 00:20:57et il ne sera jamais changé si je fais
- 00:20:59un swap de slot c'est quand même très
- 00:21:01pratique notamment par rapport à tout ce
- 00:21:03qui pourrait avoir lieu en termes de
- 00:21:04connexion à des bases de données ou des
- 00:21:08identifiants par rapport des systèmes de
- 00:21:09paiement est-ce que vous faites la
- 00:21:09distinguo entre la version de prod et la
- 00:21:12version de test ce qui est souvent le
- 00:21:14cas par exemple sur ma plateforme chez
- 00:21:16d'identifiants de connexion pour la
- 00:21:18version de production et les
- 00:21:19identifiants de connexion pour la
- 00:21:20version de développement de test donc
- 00:21:22ici si j'actualise je reçois passer de
- 00:21:24nouveau en welcome sans le V2 là j'ai
- 00:21:26toujours levé 2 mais j'ai toujours mon
- 00:21:28paramètre de configuration qui lui est
- 00:21:29resté quand bien même tout le reste a
- 00:21:31été échangé et vu que ici je n'ai pas
- 00:21:33fait de distingo sur cette valeur là ce
- 00:21:35qu'on peut faire c'est qu'on peut se
- 00:21:36faire un petit test rapidement donc là
- 00:21:38en pré-protte que je vais faire c'est
- 00:21:40que je vais mettre ici V2 sur mon objet
- 00:21:43sur ma valeur obj sur azur je vais
- 00:21:46mettre simplement V2 comme ça en fait on
- 00:21:48voit que le V2 est lié à la
- 00:21:51pré-production donc ça va redémarrer mon
- 00:21:52application donc là vous voyez j'ai V2
- 00:21:54et ici je n'ai rien et donc si on refait
- 00:21:58rapidement un swap de slot pour vraiment
- 00:22:00vous montrer à quoi correspond le
- 00:22:02changement des comptes de configuration
- 00:22:04entre les deux slots donc là le swap a
- 00:22:07été effectué si j'actualise les deux
- 00:22:09sites et bien on voit ici que j'ai endos
- 00:22:11score V2 sur la production et rien sur
- 00:22:14la partie très prod alors bien sûr j'ai
- 00:22:16gardé le pré prod ici sur mon objet de
- 00:22:18configuration preprod mais je n'ai plus
- 00:22:20le V2 sur cet élément de configuration
- 00:22:21là qui lui a été switché sur la version
- 00:22:24de prod donc en fait c'est le case à
- 00:22:26cocher va simplement dire lorsque tu
- 00:22:28fais un squap ne change pas la valeur de
- 00:22:31cet élément de configuration garde-le
- 00:22:33lié à ce flotte en particulier
- 00:22:34fonctionnalité extrêmement pratique pour
- 00:22:36gérer plusieurs environnements au sein
- 00:22:38d'un seul absent
- 00:22:40on a vu pas mal de choses dans cette
- 00:22:42vidéo dernière chose que je voulais te
- 00:22:44montrer sur les allures abservices pour
- 00:22:46que tu sois prêt au cas où tu souhaites
- 00:22:47utiliser azur pour mettre ton
- 00:22:49application en production c'est
- 00:22:50forcément les domaines personnalisés par
- 00:22:52défaut comme tu l'as vu on a mon site
- 00:22:54point azur website.net ce qui peut être
- 00:22:57largement suffisant pour certains
- 00:22:59besoins mais qui ne fait pas très pro si
- 00:23:01tu as un nom de domaine personnalisé
- 00:23:02bien heureusement azur te permet de
- 00:23:04personnaliser ton nom de domaine pour ça
- 00:23:06on va cliquer sur le bouton ici at
- 00:23:08custom do main qui va ouvrir ici le
- 00:23:10domaine qu'on veut ajouter donc moi par
- 00:23:12exemple je vais faire rapidement un test
- 00:23:14je vais faire simplement Chris
- 00:23:15freelance.fr donc qui est un nom de
- 00:23:18domaine qui m'appartient auprès de one
- 00:23:19and one donc j'ai ouvert ici dans un
- 00:23:21autre onglet yonos en fait qui me permet
- 00:23:23de configurer ce nom de domaine en
- 00:23:25cliquant sur Valider azur va simplement
- 00:23:27me dire ok alors je vais vérifier que ce
- 00:23:30domaine t'appartient bien et pour ça tu
- 00:23:31vas être obligé de mettre des
- 00:23:32informations DNS donc j'en ai deux à
- 00:23:34mettre ici le premier c'est de mettre un
- 00:23:37enjeu justement de type txt qui
- 00:23:38s'appelle asud avec cette valeur je vais
- 00:23:41la copier ici donc si je vais après sur
- 00:23:43One que je vais ici que je fais DNS je
- 00:23:47peux ajouter un enregistrement de type
- 00:23:49txt donc asud et je mets la valeur quasi
- 00:23:55le deuxième nom de domaine c'est de
- 00:23:56mettre sur un enregistrement de type A
- 00:23:58avec arobase l'IP qui est dédié à mon
- 00:24:02absence comme on le voit ici j'ai une IP
- 00:24:03dédiée donc je vais faire ajouter un
- 00:24:05enregistrement de type A avec arobase
- 00:24:08avec l'IP qui m'a été fournie donc ici
- 00:24:11bien sûr il y a des conflits avec la
- 00:24:13version précédente que je vais bien sûr
- 00:24:15résoudre dans le cas de cette vidéo mais
- 00:24:16après je vais revenir en arrière et donc
- 00:24:18une fois que j'ai fait tout ça à côté
- 00:24:19gestionnaire de DNS donc moi c'est wanna
- 00:24:22one vous pouvez choisir n'importe lequel
- 00:24:23vous cliquez sur validate et azur va
- 00:24:26interroger le DNS et valider que c'est
- 00:24:28bien votre domaine vous cliquez sur ad
- 00:24:29custom de main ce qui va dire simplement
- 00:24:31azur ajoute-moi son nom de domaine à
- 00:24:34cette application là et une fois que ça
- 00:24:36c'est fait en fait que Azur a terminé si
- 00:24:39je tape Chris freelance
- 00:24:44là moi j'ai une erreur par rapport à mon
- 00:24:46antivirus parce que je n'ai pas de
- 00:24:47certificat SSL donc je vais simplement
- 00:24:49dire que je veux accéder quand même à la
- 00:24:51page et j'arrive sur la production de
- 00:24:53mon site alors bien sûr j'en achète des
- 00:24:55pièces qui est foireux tout simplement
- 00:24:56parce que ce n'est pas le bon je vais
- 00:24:58vous montrer rapidement après quand vous
- 00:24:59pouvez faire pour mettre l'acheter PS
- 00:25:01mais vous avez vu comment vous pouvez
- 00:25:02facilement enregistrer votre nom de
- 00:25:05domaine avec votre absence c'est
- 00:25:08vraiment pas compliqué juste une
- 00:25:09validation DNS à faire donc une fois que
- 00:25:11ça c'est fait si je fais refresh je vois
- 00:25:13ici que j'ai mon nom de domaine en mode
- 00:25:15note sécure et je veux faire un binding
- 00:25:17SSL pour ajouter un certificat à son nom
- 00:25:19de domaine en cliquant ici sur adbinding
- 00:25:21en fait il va me dire pour ce nom de
- 00:25:23domaine est-ce que tu veux faire un
- 00:25:25upload d'un certificat que tu as déjà
- 00:25:26acheté donc le fichier point.pfx ou
- 00:25:28importer via l'abservice certificate et
- 00:25:31si je clique sur une porte il me demande
- 00:25:33d'aller chercher un certificat mais moi
- 00:25:35je n'en ai pas donc
- 00:25:37il existe pour le web un système ultra
- 00:25:40sympathique qui s'appelle let's en crypt
- 00:25:42qui vous fournit des certificats SSL
- 00:25:44gratuitement mais qui expire très
- 00:25:46rapidement au bout de trois mois et
- 00:25:48avant avec azur on est obligé d'avoir un
- 00:25:51système de robot et ainsi de suite qui
- 00:25:52faisait un nouvel an pour vous mais non
- 00:25:53c'est extrêmement simple je vais cliquer
- 00:25:55ICI sur TLS et SSL settings je vais
- 00:25:58aller dans private qui certificate et je
- 00:26:00vais cliquer sur Create app service
- 00:26:02manette certificat donc je veux créer un
- 00:26:04certificat SSL qui est manager par la
- 00:26:07service donc automatiquement renouvelé
- 00:26:08par azur en cliquant sur ce bouton il me
- 00:26:11demande de choisir le domaine que je
- 00:26:12veux sécuriser donc moi ici j'en ai
- 00:26:14qu'un seul c'est par rapport à votre nom
- 00:26:15de domaine qui est personnalisé je
- 00:26:17clique sur Create et azur va simplement
- 00:26:19me créer un certificat SSL qui sera
- 00:26:21valide reconnu par les autorités et qui
- 00:26:24va me permettre après de le gérer
- 00:26:26directement dans mon application donc ça
- 00:26:29prend un peu de temps à faire ici azur
- 00:26:31m'a bien créé mon certificat si je vais
- 00:26:33faire refresh je le vois ici dans ma
- 00:26:36liste donc qui est lié à mon domaine une
- 00:26:39date d'expiration qui a été définie de
- 00:26:41six mois par rapport à la date de
- 00:26:42génération mais vu que c'est géré
- 00:26:43automatiquement par azur le
- 00:26:45renouvellement se fera de façon
- 00:26:46automatique tant que je loue la servi
- 00:26:49chez eux une fois que j'ai mon
- 00:26:50certificat qui a été émis je vais dans
- 00:26:52custom de main je vais dans un AD
- 00:26:54binding ici sur le certificat donc là je
- 00:26:56peux aller choisir le certificat Casio
- 00:26:58ma générée et après j'ai deux types de
- 00:27:01façon de gérer le certificat soit je le
- 00:27:03fais par rapport au nom de domaine soit
- 00:27:04je le fais par rapport à l'IP sur
- 00:27:06laquelle mon absence a été fait on peut
- 00:27:08en avoir que un seul qui est basé sur
- 00:27:09l'IP donc moi choisir IP base et ça
- 00:27:12nécessite que vous avez un haricots dans
- 00:27:14votre don de Man qui pointe vers cette
- 00:27:16IP là moi tout est bon je peux faire le
- 00:27:18ad binding
- 00:27:19et donc en fait ce qu'on va faire azur
- 00:27:21c'est qu'il va lier mon certificat HTTPS
- 00:27:24avec mon nom de domaine que j'ai choisi
- 00:27:27personnalisé et il va devenir dorénavant
- 00:27:30sécurisé de telle sorte que si je
- 00:27:32rafraîchis et bien ici j'ai bien les
- 00:27:34bonnes informations de connexion de
- 00:27:37certificat et je vais donc retrouver en
- 00:27:39fait les informations par rapport
- 00:27:41notamment la date de péremption qui est
- 00:27:42là qui est donc celle générée par azur
- 00:27:45pour mon nom commun donc qui est un
- 00:27:47certificat tout à fait valide donc dans
- 00:27:49cette vidéo tu as vu comment tu peux te
- 00:27:51servir de Visual Studio pour publier ton
- 00:27:53application sur azur et directement tout
- 00:27:56créer depuis Visual Studio sans prendre
- 00:27:57la tête tu as également vu comment gérer
- 00:27:59la configuration comment gérer les slots
- 00:28:01de déploiement et comment ajouter un nom
- 00:28:04de domaine personnalisé ainsi qu'un
- 00:28:05certificat SSL à ton anomal personnalisé
- 00:28:07ça fait déjà beaucoup d'informations il
- 00:28:09rencontre d'autres choses à dire sur une
- 00:28:11âme service sur azur mais tu as la
- 00:28:13l'essentiel de l'information si tu veux
- 00:28:14avoir ton site hébergé sur azur de façon
- 00:28:18production ready fonctionnel j'espère
- 00:28:20que cette vidéo t'a plu si c'est le cas
- 00:28:22n'hésite pas à lâcher ton pouce bleu
- 00:28:23abonne-toi si c'est pas encore fait pour
- 00:28:24recevoir d'autres vidéos dans ce genre
- 00:28:26là n'hésite pas à utiliser l'espace
- 00:28:28commentaire s'il y a des choses que je
- 00:28:29n'ai pas couvert que tu aimerais bien
- 00:28:30dont je parle ou s'il y a des choses que
- 00:28:32tu vois autrement ou même si
- 00:28:34éventuellement je me serais trompé sur
- 00:28:36quelque chose on a les commentaires pour
- 00:28:37en parler dans tous les cas je te dis à
- 00:28:40bientôt pour une prochaine vidéo sur la
- 00:28:42techno de net
- Visual Studio 2022
- .NET MVC
- Azure
- Déploiement Web
- App Service
- SSL
- Domaine Personnalisé
- Configuration
- Slots de Déploiement
- Automatisation