Comment construire un backend pour Deno ?
Dans ce tutoriel, vous apprendrez à construire un backend pour Deno en utilisant Back4App.
Nous passerons en revue chaque étape pour intégrer les fonctionnalités clés de Back4App : base de données, API REST, authentification des utilisateurs, stockage de fichiers et requêtes en temps réel, dans un environnement Deno.
Vous verrez comment communiquer avec Back4App via des points de terminaison REST et créer une infrastructure complète sans gérer les serveurs vous-même.
Lorsque vous utilisez Back4App, vous pouvez éviter de configurer manuellement des serveurs avec Deno, ce qui vous fait gagner du temps et des efforts.
Vous vous concentrerez sur l'écriture d'un code plus simple, grâce à la bibliothèque standard de Deno et à son approche moderne.
À la fin de ce guide sur la construction d'un backend pour Deno, vous aurez un chemin clair pour intégrer une sécurité avancée, du code cloud et des tâches planifiées dans votre application Deno.
Une fois que vous aurez terminé ce tutoriel, vous serez en mesure de faire fonctionner le serveur, de gérer les API REST, d'intégrer l'authentification des utilisateurs, de stocker des fichiers et de planifier des tâches facilement.
Vous comprendrez également comment gérer vos données avec l'approche fetch de Deno en utilisant l'API REST de Back4App.
- Un compte Back4app et un nouveau projet Back4app Commencer avec Back4app. Si vous n'avez pas de compte, vous pouvez en créer un gratuitement. Utilisez le lien ci-dessus pour préparer votre projet.
- Installer Deno Vous pouvez obtenir Deno à https://deno.land. Installez Deno sur votre système d'exploitation et confirmez-le avec deno --version.
- Familiarité avec les concepts de base de Deno Comme les modules, les systèmes de fichiers, deno run --allow-net, ou comment importer des modules d'application de la bibliothèque standard.
- Connaissances de base des API REST Nous utiliserons des appels fetch et le type de contenu des en-têtes pour la gestion des données, donc assurez-vous de connaître les fondamentaux de REST et JSON.
Assurez-vous d'avoir ces prérequis avant de commencer. Avoir votre projet Back4App configuré et votre environnement Deno local en cours d'exécution vous permettra de suivre ce tutoriel sans problème.
La base de votre backend Deno est un projet Back4App. Si vous ne l'avez pas encore créé :
- Connectez-vous à votre compte Back4App.
- Cliquez sur le bouton “Nouvelle application” dans votre tableau de bord Back4App.
- Donnez un nom à votre application (par exemple, “Deno-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Une fois votre projet prêt, il apparaîtra dans votre tableau de bord Back4App. Ce projet est l'endroit où vous configurerez les bases de données, la sécurité et les API.
Puisque nous n'avons pas de SDK Parse pour Deno, nous utiliserons les points de terminaison de l'API REST de Back4App. Vous pouvez trouver l’ID d'application, l’Clé API REST, et l’URL du serveur dans les Paramètres de l'application ou la section Sécurité et clés de votre application.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Tout au long de ce tutoriel, nous utiliserons fetch pour envoyer des requêtes de Deno à Back4App. Assurez-vous d'inclure votre clé API et le type de contenu des en-têtes dans chaque appel.
Dans cette étape, vous allez créer un modèle de données sur Back4App et interagir avec lui en utilisant des API REST depuis Deno.
- Allez dans la section “Base de données” de votre tableau de bord Back4App.
- Cliquez sur “Créer une nouvelle classe” et nommez-la, par exemple, “Todo.”
- Ajoutez des colonnes pertinentes (par exemple, titre (String), estComplété (Boolean)).
![Créer une nouvelle classe Créer une nouvelle classe](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Vous pouvez également permettre à Parse de créer ces colonnes automatiquement lorsque les données sont enregistrées.
L'agent IA de Back4App peut concevoir votre schéma pour vous :
- Ouvrez l'agent IA dans votre tableau de bord Back4App.
- Décrivez votre modèle de données (par exemple, “Créer une classe Todo avec un titre, une description et un champ isCompleted.”).
- Permettez à l'agent de générer le schéma automatiquement.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Cela vous aide à gérer des schémas plus complexes rapidement.
Depuis Deno, vous pouvez exécuter le serveur en appelant des points de terminaison REST avec fetch. Par exemple, pour créer un Todo :
To fetch Todos:
You can run these with:
Back4App also provides a GraphQL endpoint: https://parseapi.back4app.com/graphql
Les requêtes en direct vous mettent à jour en temps réel, mais Deno n'a pas de bibliothèque Parse LiveQuery native. Vous pouvez toujours configurer la fonctionnalité de requête en direct dans votre tableau de bord Back4App pour d'autres clients ou utiliser un WebSocket dans Deno pour vous abonner manuellement. Pour plus de détails, voir la documentation des requêtes en direct.
Les ACL (Listes de Contrôle d'Accès) et les CLP (Permissions au Niveau de la Classe) de Back4App protègent vos données. Utilisez les CLP pour définir des règles par défaut pour une classe entière. Ensuite, utilisez les ACL pour des restrictions au niveau des objets.
- Ouvrez la base de données section dans votre tableau de bord Back4App.
- Sélectionnez une classe (par exemple, “Todo”).
- Allez dans les autorisations au niveau de la classe onglet.
- Activez ou désactivez l'accès en lecture/écriture pour le public ou pour les utilisateurs authentifiés selon les besoins.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
Lors de la création ou de la mise à jour d'un objet via REST, vous pouvez inclure un attribut ACL dans le corps de la requête. Par exemple :
Cet exemple ne permet qu'au rôle “Admins” de lire ou d'écrire. L'accès public est désactivé.
Cloud Code est l'endroit où vous stockez la logique sécurisée côté serveur. Vous ne gérez pas les serveurs vous-même. Vous pouvez ajouter des validations ou des déclencheurs pour des classes spécifiques.
Vous pouvez définir une fonction Cloud (en JavaScript) et la déployer sur votre application. Par exemple, une fonction pour vérifier la longueur du texte pourrait être :
Vous pouvez déployer du code via le Back4App CLI ou le panneau Cloud Code dans votre tableau de bord Back4App.
Vous pouvez importer des bibliothèques externes avec require(). Une fois déployé, l'environnement serveur les exécutera. Cela est utile pour des tâches avancées, mais n'oubliez pas que les exécuter depuis Deno est séparé de votre environnement Cloud Code sur Back4App.
Back4App utilise la classe Parse User pour l'authentification. Pendant que vous travaillez avec Deno, vous pouvez appeler des points de terminaison REST pour gérer les utilisateurs.
Vous pouvez configurer Google, Facebook, Apple et d'autres fournisseurs sur Back4App. Ensuite, vous appellerez les points de terminaison dédiés avec des jetons OAuth. Voir la documentation de Connexion Sociale de Back4App pour plus de détails.
Pour télécharger des fichiers depuis Deno, utilisez une requête POST vers https://parseapi.back4app.com/files/<FILENAME>. Par exemple:
Vous pouvez ensuite stocker l'URL du fichier résultant dans vos objets de classe. Cette méthode est parfaite pour stocker des images ou des documents pendant que vous exécutez le serveur dans Deno.
La vérification des emails garantit un accès légitime. La réinitialisation du mot de passe aide les utilisateurs à retrouver un accès sécurisé.
- Activer la vérification par email dans votre tableau de bord Back4App sous Paramètres d'email.
- Personnaliser vos modèles de vérification.
- Activer la réinitialisation du mot de passe et définir votre mise en page d'email préférée.
Lorsqu'un utilisateur s'inscrit, il reçoit un lien de vérification si vous avez activé la vérification par e-mail. Pour réinitialiser le mot de passe, appelez le point de terminaison REST POST /requestPasswordReset.
Les travaux Cloud s'exécutent périodiquement sans intervention humaine. Par exemple, vous pouvez supprimer des anciens enregistrements quotidiennement ou envoyer des rappels par e-mail réguliers.
Après avoir déployé ce travail, vous pouvez le planifier dans Paramètres de l'application > Paramètres du serveur > Travaux en arrière-plan sur votre tableau de bord Back4App.
Un Webhook est un rappel HTTP déclenché lorsque des événements se produisent, tels que la création ou la mise à jour d'objets. Vous pouvez vous intégrer à Slack, Stripe ou tout service externe.
- Ouvrez “Plus” > “WebHooks” dans le tableau de bord Back4App.
- Cliquez sur “Ajouter un Webhook” et fournissez le point de terminaison de votre service tiers.
- Définissez quels déclencheurs ou classes vous souhaitez envoyer des requêtes.
![Ajout d'un Webhook Ajout d'un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Cela permet aux systèmes externes de recevoir des données chaque fois que vous créez ou modifiez des objets dans Back4App.
Les équipes non techniques peuvent utiliser ce panneau pour gérer les données visuellement. Il simplifie les opérations CRUD et les revues de données.
- Allez dans le tableau de bord de l'application > Plus > Application Admin et choisissez “Activer l'application Admin.”
- Créez un utilisateur administrateur pour vous connecter.
- Définissez un sous-domaine pour votre application Admin.
![Activer l'application Admin Activer l'application Admin](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Vous pouvez ensuite vous connecter à l'application Admin pour gérer les enregistrements en toute sécurité.
Dans ce tutoriel, vous avez découvert comment construire un backend pour Deno sur Back4App. Vous avez créé des modèles de données, géré l'authentification des utilisateurs, appris sur les ACL et les CLP pour la sécurité, et programmé des tâches Cloud.
Vous avez également vu comment intégrer des API externes via des webhooks et comment exécuter le serveur ou les APIs REST avec des commandes deno run --allow-net.
Cette configuration vous permet de démarrer rapidement sans configurer manuellement des systèmes de fichiers ou des complexités de bibliothèque standard pour l'architecture serveur.
Prochaines étapes :
- Développez votre application Deno avec des points de terminaison supplémentaires et une logique avancée utilisant Cloud Code.
- Intégrez plus de services (par exemple, passerelles de paiement, analyses) avec vos données Back4App.
- Référez-vous à la documentation officielle de Back4App pour des conseils plus approfondis sur la sécurité, la performance et l'analyse des journaux.
- Expérimentez avec des fonctionnalités avancées en temps réel ou le stockage kv de deno, reliant les données entre votre runtime Deno et l'environnement robuste de Back4App.
Avec vos nouvelles connaissances, vous pouvez déployer en toute confiance un backend Deno sécurisé, évolutif et riche en fonctionnalités soutenu par Back4App.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)