Nous allons voir dans cet article comment mettre en ligne un site internet ASP.NET sur le Cloud de Microsoft, que j’ai nommé Azure. Ce service nous offre jusqu’à 5 sites pouvant être hébergé gratuitement, sans frais supplémentaires. La seule restriction réside au niveau du nom de domaine, qui sera un sous-domaine en .azurewebsites.net.
Pourquoi je vous parle de cela ? Pour faire suite, en partie, à l’article sur le développement d’un Bot pour Discord et à la formation vidéo sur le même sujet actuellement disponible sur la chaîne YouTube de Blog-Programmeur ! Azure est donc une très bonne solution, gratuite, pour mettre celui-ci, votre bot Discord, en ligne.
Le Cloud c’est quoi ?
Il serait intéressant que vous sachiez ce à quoi correspond le Cloud. L’hébergement sur le Cloud est assez différent d’un hébergement traditionnel sur un serveur dédié ou mutualisé. Dans ce cas de figure précis, votre site internet tourne sur une seule machine physique: composé d’un disque dur, de RAM, d’un processeur et parfois d’une carte graphique (pour des calculs complexes grâce, pas exemple, à la technologie Cuda de Nvidia).
Dans le cas du Cloud, c’est assez différent. Votre site internet ne fonctionne pas sur une machine physique mais, une machine virtuelle. Qui elle-même tourne sur plusieurs disques durs, plusieurs RAM physiques pouvant être à des mètres de distance, ne faisant pas partie d’une seule machine. Cela comporte plusieurs avantages :
- L’indisponibilité de votre site internet à cause d’une panne matérielle a peu de chances d’arriver, car votre site internet n’est pas sur une seule machine physique comme un ordinateur traditionnel. Donc si un composant ne fonctionne plus pas de problème, car la machine virtuelle n’est pas dépendante d’un seul composant.
- Très peu de chances de perdre des données, si un disque dur meurt, comme votre site internet est éparpillé sur plusieurs disques durs virtuels et copié en partie plusieurs fois, en dehors d’une panne massive la probabilité de perdre des données est très faible.
- De la modularité. À l’inverse d’un serveur physique qui possède des caractéristiques précises (taille du disque, nombre de RAM, etc…), un hébergement Cloud lui, adapte automatiquement les ressources nécessaires pour votre site internet donc en cas d’un gros trafic non prévu aucun risque de dépassement de mémoire car, la machine virtuelle s’adaptera en fonction.
- On paie ce que l’on consomme. C’est un gros avantage économique pour les grosses entreprises ou site internet. Vous n’avez pas de maintenance à faire, pas de configuration de serveur et surtout vous payez seulement ce que votre site internet utilise en RAM ou espace disque par mois. Donc si votre site internet rencontre peu de trafic pendant un mois, cela vous coûtera moins cher car, moins de consommation qu’une machine physique ou là, par contre, le prix sera le même car non évolutif.
Voilà, à peu près les différents avantages du Cloud: flexibilité, scalabilité, économique.
Microsoft Azure
Les Pré-requis
Dans cet exemple, je vais suivre le même schéma que la vidéo concernant la mise en ligne d’un Bot Discord sur Microsoft Azure. Si vous êtes plus vidéo, je vous invite à la regarder, celle-ci est disponible à cette adresse !
Le seul Pré-requis pour utiliser Microsoft Azure est d’avoir un compte Microsoft ainsi qu’une carte bancaire. Une carte bancaire ? Mais tu ne nous avais pas dit qu’il y avait une offre gratuite ?
Si, mais pour profiter de l’offre gratuite il vous faudra, lors de l’inscription au service Azure, fournir un numéro de carte bancaire valide. Déjà pour par la suite, si vous le souhaitez, opter pour des offres payantes mais c’est aussi un moyen pour Microsoft de diminuer le nombre de double comptes ou même de compte fantôme (un hacker pour faire une multitude de compte pour mettre en place des serveurs zombie afin de nuit à autrui par la suite avec des attaques DDOS ou du fishing).
Pour vous inscrire, rien de plus simple. Rendez-vous sur le site Microsoft Azure ! De plus, bonne nouvelle, vous aurez droit 170€ offert sur les autres services payants disponibles sur Azure.
Le panel Azure
Maintenant que vous avez votre compte, vous devriez avoir accès au panel de Microsoft Azure (voir image ci-dessous). En partant du principe que nous allons utiliser Visual Studio pour la mise en ligne d’un site internet nous n’aurons pas besoin d’y revenir par la suite (car Visual propose de créer pour nous directement l’App Services sans revenir sur le site).
Petit tour d’horizon rapide pour la forme, à gauche vous retrouverez le menu principal, que vous pouvez personnaliser les raccourcis à votre guise en fonction de vos besoins. Au centre de l’écran, le tableau de bord en lui-même. Qui vous permet d’avoir une vision globale de vos applications et services actuellement sur le Cloud. Pour la précision, l’hébergement d’un site internet ou d’une application web est nommé dans Azure ”App Services”. C’est donc ici que vous devrez créer, si vous n’utilisez pas Visual Studio, votre hébergeur.
L’offre gratuite d’hébergement concerne les sites en ASP.NET (Core), PHP, Java, Node.js, Python et du HTML simple. Pour les autres technologies l’offre gratuite de Microsoft Azure ne sera pas suffisante pour répondre à votre besoin ! Attention, je précise qu’aucune base de données n’est disponible dans l’offre gratuite (mais dans l’offre payante oui), une des solutions et d’opter pour une base de données Access, par exemple.
Mise en ligne
Si vous ne développez pas votre projet avec Visual Studio, vous trouverez le nécessaire sur le site de Azure, comme un accès FTP, SSH ou via le terminal Azure pour mettre en ligne votre web app. Mais si votre projet utilise Visual Studio comme IDE (ou un IDE compatible avec Microsoft Azure) bonne nouvelle, la mise en ligne sera très simple.
Première étape, rendez-vous dans votre projet, ouvrer lui dans Visual et vérifier que vous êtes bien connecté à votre compte Microsoft (visible en haut à droite de Visual). Une fois votre projet ouvert, je vous invite à faire un clic droit sur celui-ci, dans l’explorateur de solutions puis ”Publier…”. Une nouvelle page devrait s’ouvrir, proposant normalement différentes solutions, manières, de mettre en ligne votre site internet. De notre côté, nous opterons pour ”Service d’applications Microsoft Azure”. Une modale devrait s’ouvrir, configurer les différents paramètres en fonction de votre compte Microsoft Azure et des configurations associées. Ne pas oublier de changer le nom de votre application via le premier champ. Ce qui définira le nom de domaine associé (nom du projet plus, par la suite, azurewebsites.net). Et faite ”Créer“.
Et voilà ! Cela peut prendre un certain temps mais, Visual Studio va créer pour nous une instance sur Microsoft Azure puis y mettre notre application. Et bonne nouvelle, il vous faudra faire la même manipulation (avec la modale en moins) pour faire une mise à jour sur votre application en ligne. Pour ceux qui ont eu du mal à suivre, voilà la vidéo associée, n’hésitez surtout pas à la regarder.