Passer au contenu du pied de page
Iron Academy Logo
Application C#
Application C#

Autres catégories

Déploiement de l'API sur un VPS

Tim Corey
23m 24s

Le déploiement d'une application web est une étape importante dans le parcours de tout développeur .NET. Que vous travailliez avec ASP.NET Core, .NET Framework, ou que vous développiez d'autres types de sites web dynamiques, le déploiement de votre application sur un serveur privé virtuel (VPS) vous donne un contrôle total sur l'environnement d'hébergement, la sécurité et l'évolutivité.

Dans ce guide détaillé, nous explorons comment déployer une API C# minimale sur un VPS en nous inspirant du tutoriel de Tim Corey, "Déploiement de l'API sur un VPS." De l'enregistrement du domaine aux certificats SSL et à la publication via Visual Studio, Tim couvre tous les aspects. Si vous étudiez les solutions VPS ou les options d'hébergement .NET Core, ce guide est votre porte d'entrée vers un déploiement pratique.

Pourquoi utiliser un exemple d'API dans le développement Web?

Dès le départ, Tim explique l'intérêt de disposer d'un exemple d'API. Il s'agit d'un terrain d'essai essentiel lors de la création d'applications frontales avec des technologies telles que HTML, JavaScript ou même Blazor. Vous bénéficiez d'une expérience complète en matière de développement web, de la logique du backend à l'hébergement et au déploiement.

Stratégie de domaine : Ne l'achetez que lorsqu'il est prêt

Tim insiste sur un principe essentiel : ne vous précipitez pas pour acheter un nom de domaine dès que vous avez une nouvelle idée d'application. De nombreux développeurs en herbe dépensent trop d'argent pour des domaines, des packs d'hébergement et des fonctions telles que des serveurs de messagerie sans disposer d'un prototype fonctionnel.

Au lieu de cela, concentrez-vous d'abord sur vos langages de programmation, vos modèles de données et votre logique d'API. Une fois le projet arrivé à maturité, c'est le moment de prendre votre domaine et votre compte d'hébergement. Toutefois, pour ce tutoriel, Tim a préacheté thesampleapi.com via Namecheap, un fournisseur d'hébergement fiable qu'il recommande.

Choisir un fournisseur d'hébergement VPS

Pour ce projet, Tim fait appel à InterServer, un fournisseur d'hébergement VPS auquel il fait confiance pour ses serveurs privés virtuels performants et peu coûteux. Bien qu'il utilise généralement Azure (en particulier pour Microsoft SQL Server ou les déploiements à l'échelle de l'entreprise), Tim opte ici pour InterServer afin de mettre en avant sa flexibilité.

Il mentionne les avantages des plans d'hébergement VPS :

  • Plus de contrôle que les plans d'hébergement partagés

  • De meilleures performances pour les sites web dynamiques

  • Stockage SSD et espace disque évolutif

  • Protection DDoS en option et accès complet au système d'exploitation

Pour les développeurs qui comparent les options d'hébergement Linux VPS et Windows Server, le cas d'utilisation de Tim montre comment travailler avec les deux environnements, bien que cet exemple utilise un VPS basé sur Windows.

Configuration de l'hébergement web avec le panneau de contrôle Plesk

Tim explique comment configurer son service d'hébergement à l'aide du panneau de contrôle Plesk. Les solutions VPS permettent généralement d'accéder à la racine ou au panneau de contrôle pour configurer votre serveur web. Il met en place le domaine thesampleapi.com et configure l'hébergement web de base.

Cette étape comprend :

  • Activation de l'hébergement DNS

  • Création du répertoire d'hébergement

  • Comprendre la structure du serveur partagé par rapport au serveur dédié sur le VPS

Tim note que les utilisateurs de VPS hébergent souvent plusieurs domaines sous une même instance de serveur. C'est la force du VPS par rapport à l'hébergement Windows partagé de base : il s'adapte à vos besoins et peut gérer efficacement un trafic élevé.

Mise à jour des paramètres DNS via Namecheap

Pour connecter le domaine à l'hébergeur, Tim met à jour les enregistrements NS (Name Server) sur Namecheap pour qu'ils pointent vers le DNS d'InterServer. Cela permet au domaine de se résoudre à l'adresse IP du SPV.

Tim indique que la traduction peut prendre jusqu'à 48 heures, mais d'après son expérience, elle est souvent terminée en 15 minutes ou moins, ce qui est un avantage pour les développeurs .NET désireux de voir leur travail en direct.

Installation d'un certificat SSL

La sécurité n'est pas négociable dans les applications web modernes. Tim met en place un certificat SSL en utilisant Let's Encrypt, qui offre un cryptage de site gratuit. Il utilise un certificat SSL de type wildcard afin que les sous-domaines tels que www.thesampleapi.com et api.thesampleapi.com soient également sécurisés.

Il s'agit d'une étape cruciale, notamment pour les API ASP.NET Core qui manipulent des données sensibles. Les certificats SSL cryptent les communications entre les clients et le serveur web, ce qui est indispensable pour des sites web performants et sécurisés.

Publier avec Visual Studio

Ensuite, Tim démontre comment publier l'API ASP.NET Core à partir de Visual Studio :

  1. Cliquez avec le bouton droit de la souris sur le projet → Publier

  2. Choisissez Folder comme cible

  3. Sélectionner le mode de publication

  4. Définissez le type de déploiement comme dépendant du Framework (pour les environnements dans lesquels les versions .NET appropriées sont préinstallées)

En cas de déploiement dans un environnement d'hébergement Linux sans .NET installé, Tim suggère de passer à un déploiement autonome. Celle-ci regroupe le runtime .NET Core requis, garantissant ainsi la compatibilité sur les serveurs distants.

La publication génère un ensemble de fichiers qui peuvent être téléchargés directement chez votre hébergeur.

Téléchargement de fichiers sur le serveur web

Tim utilise le gestionnaire de fichiers du panneau de contrôle pour supprimer les fichiers par défaut et télécharger le dossier publié. Il fait glisser le contenu directement de sa machine vers le système de fichiers de l'EPV. Une fois l'application téléchargée, l'URL du domaine renvoie un message de base "Hello World", indiquant que l'application est en ligne.

Pour les utilisateurs plus avancés, il recommande d'automatiser le déploiement en utilisant GitHub Actions ou webdev, en fonction des capacités de votre service d'hébergement.

Tester les points d'extrémité de l'API

Tim navigue ensuite vers /courses, une route définie dans son API C#. Elle renvoie des données JSON, prouvant que l'appli ASP.NET Core fonctionne correctement. Elle confirme également que la logique du backend, le routage et les logiciels intermédiaires sont correctement gérés sur le serveur web.

Réparation de l'interface utilisateur Swagger (Scaler/V1)

Un problème courant auquel sont confrontés de nombreux développeurs .NET est que Swagger UI (utilisé pour la documentation des API) ne fonctionne qu'en mode développement. Tim identifie que le fichier de configuration du projet désactive Swagger dans la production.

Il met à jour l'installation d'OpenAPI dans le fichier de configuration pour la rendre disponible même dans les environnements de production, ce qui est essentiel pour le débogage et les tests dans des environnements réels.

Redirection de la racine vers Swagger UI

Plutôt que d'afficher "Hello World" sur la page d'accueil, Tim ajoute une redirection dans le point de terminaison racine de l'API. Désormais, la visite de https://thesampleapi.com redirigera automatiquement les utilisateurs vers la documentation Swagger à l'adresse /scaler/v1. Cette petite modification améliore la convivialité et aide les développeurs à accéder rapidement aux spécifications de l'API.

Redéploiement après les mises à jour

Pour refléter les nouvelles modifications, Tim répète le processus de publication-téléchargement. Il efface le répertoire de fichiers du SPV et télécharge à nouveau la nouvelle version. Il explique que cette méthode entraîne de brefs temps d'arrêt, mais qu'elle est acceptable pendant la phase de développement.

Pour les applications de production à fort trafic, Tim recommande l'utilisation d'un emplacement de stockage (staging slot), une fonctionnalité que l'on trouve dans les plans d'hébergement plus avancés ou sur des plateformes comme Azure. Cela permet un déploiement sans faille et sans temps d'arrêt.

Vérification finale et test de l'API

Avec la mise à jour de l'API déployée, Tim confirme :

  • Le certificat SSL est actif

  • Les points de terminaison renvoient des données correctes

  • L'interface Swagger est accessible à l'adresse suivante : /scaler/v1

Le déploiement est un succès. Les développeurs peuvent désormais tester cette API en direct depuis n'importe quel frontend - qu'il s'agisse d'Angular, de React, de Blazor ou même d'applications de bureau comme WPF et WinForms.

Qu'est-ce qu'on fait maintenant ?

Tim conclut en encourageant les développeurs à explorer l'utilisation de l'exemple d'API avec différents frontaux. Que vous construisiez des sites web dynamiques, que vous testiez des intégrations ou que vous expérimentiez l'ASP classique ou le Visual Basic, cette API déployée est un atout majeur.

Vous pouvez accéder à l'API en direct à l'adresse suivante

Résumé

Le déploiement d'une API sur un VPS est une expérience d'apprentissage précieuse pour tout développeur travaillant avec .NET Core, .NET Framework ou les applications web en général. La vidéo de Tim Corey illustre l'ensemble du parcours - de la configuration du domaine au déploiement final - en proposant des conseils pratiques et des bonnes pratiques.

Si vous envisagez de passer à des plans d'hébergement VPS, si vous voulez éviter les frais cachés des sociétés d'hébergement web traditionnelles ou si vous voulez expérimenter au-delà de l'hébergement partagé, ce tutoriel vous met sur la bonne voie.

Que vous lanciez votre première API ou que vous exploriez l'hébergement de services dotnet, ce guide vous apporte clarté, contrôle et de puissantes fonctionnalités pour créer des applications web dynamiques et évolutives.

Hero Worlddot related to Déploiement de l'API sur un VPS
Hero Affiliate related to Déploiement de l'API sur un VPS

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi