Quickstarters
Feature Overview
Comment construire un backend pour Dart ?
25 min
introduction dans ce tutoriel, vous apprendrez comment construire un backend pour dart en utilisant back4app nous nous concentrerons sur l'intégration des fonctionnalités essentielles de back4app—telles que la gestion de base de données, les fonctions cloud code, les api rest et graphql, l'authentification des utilisateurs et les requêtes en temps réel (live queries)—dans un projet basé sur dart étant donné que dart est un langage de programmation polyvalent, vous pouvez l'utiliser pour divers projets backend, des serveurs web simples aux applications à grande échelle en tirant parti de l'environnement intuitif de back4app, vous configurerez rapidement un cadre backend robuste et sécurisé sans lourde maintenance de serveur vous verrez comment des fonctionnalités telles que les acl, les clp, la planification de tâches en arrière plan et la création de logique personnalisée avec cloud code rationalisent vos opérations côté serveur après avoir terminé ce tutoriel, vous serez prêt à faire évoluer votre backend dart ou à ajouter des intégrations plus avancées prérequis pour compléter ce tutoriel, vous aurez besoin de un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app si vous n'avez pas de compte, vous pouvez en créer un gratuitement environnement de développement dart de base vous pouvez le configurer en installant le sdk dart et tout éditeur de votre choix pour plus d'informations, voir obtenir le sdk dart https //dart dev/get dart dart 2 0 ou supérieur assurez vous que votre environnement est à jour, afin de pouvoir profiter des fonctionnalités récentes de dart et des bibliothèques côté serveur comme package shelf familiarité avec dart et les concepts backend si vous êtes nouveau dans dart, consultez la documentation officielle de dart https //dart dev/guides pour acquérir une maîtrise de base assurez vous d'avoir tous ces prérequis en place avant de commencer avoir votre projet back4app prêt et votre environnement dart local correctement configuré vous aidera à suivre plus facilement étape 1 – créer un nouveau projet sur back4app et se connecter pourquoi créer un nouveau projet back4app ? un nouveau projet back4app constitue la base de votre backend, gérant votre base de données, la sécurité, les api, le stockage de fichiers, et plus encore il vous donne une structure organisée pour construire votre logique côté serveur basée sur dart créer un projet back4app connectez vous à votre compte back4app cliquez sur “nouvelle application” dans le tableau de bord back4app donnez à votre application un nom descriptif (par exemple, “dart backend tutorial”) une fois créé, votre projet apparaîtra dans le tableau de bord back4app ce projet est l'endroit où vous configurerez tous les paramètres backend pour votre application dart installez le sdk parse et connectez vous bien que dart n'ait pas de sdk parse officiel, il existe des bibliothèques maintenues par la communauté comme parse server sdk qui permettent l'intégration avec back4app vous pouvez l'ajouter en incluant la dépendance suivante dans le fichier pubspec yaml dependencies parse server sdk ^4 0 0 # example version exécutez ensuite dart pub get initialiser parse dans votre code dart (par exemple, dans un main dart fichier) import 'package\ parse server sdk/parse server sdk dart'; future\<void> main() async { const keyapplicationid = 'your application id'; const keyclientkey = 'your javascript key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize( keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true, ); // your dart server logic goes here print('parse initialized with back4app!'); } récupérez votre application id , javascript key , et parse server url depuis le tableau de bord back4app (sous “paramètres de l’application” > “sécurité & clés”) avec cette étape, votre application dart peut interagir en toute sécurité avec votre cadre backend back4app étape 2 – configuration de la base de données créer un modèle de données dans le tableau de bord back4app, accédez à la section “base de données” et créez une nouvelle classe (par exemple, “todo”) ajoutez des colonnes pour vos champs, tels que title (string) et iscompleted (boolean) créer un modèle de données en utilisant l'agent ia ouvrez l'agent ia dans votre tableau de bord d'application décrivez votre schéma souhaité (par exemple, “veuillez créer une classe todo avec des champs title et iscompleted ”) laissez l'agent ia finaliser le schéma pour vous lecture et écriture de données à l'aide du sdk avec la bibliothèque parse server sdk, vous pouvez enregistrer et interroger des données depuis votre code dart par exemple import 'package\ parse server sdk/parse server sdk dart'; future\<parseobject?> createtodoitem(string title, bool iscompleted) async { final todo = parseobject('todo') set('title', title) set('iscompleted', iscompleted); final response = await todo save(); if (response success && response result != null) { print('todo created ${response result}'); return response result as parseobject; } else { print('error creating todo ${response error? message}'); return null; } } future\<list\<parseobject>?> fetchtodos() async { final query = querybuilder\<parseobject>(parseobject('todo')); final response = await query query(); if (response success && response results != null) { return response results as list\<parseobject>; } else { print('error fetching todos ${response error? message}'); return null; } } lecture et écriture de données à l'aide de l'api rest curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo lecture et écriture de données à l'aide de l'api graphql mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } travailler avec des requêtes en direct (optionnel) pour activer les mises à jour en temps réel, activez les requêtes en direct dans votre tableau de bord back4app (paramètres du serveur) vous pouvez ensuite vous abonner depuis dart, bien que vous ayez peut être besoin d'une bibliothèque spécialisée la bibliothèque parse server sdk peut avoir un support partiel des requêtes en direct ; consultez sa documentation pour plus de détails étape 3 – application de la sécurité avec les acl et les clp aperçu acls (listes de contrôle d'accès) restreindre la lecture/écriture au niveau de l'objet clps (permissions au niveau de la classe) restreindre la lecture/écriture au niveau de la classe étape par étape permissions au niveau de la classe dans le tableau de bord back4app, ouvrez la section base de données, choisissez une classe et configurez les clps sous « sécurité » acls dans le code (en utilisant le parse server sdk) future\<parseobject?> createprivatetodo(string title, parseuser owneruser) async { final todo = parseobject('todo') set('title', title); final acl = \<string, dynamic>{}; // grant read/write to the owner acl\[owneruser objectid!] = {"read" true, "write" true}; // disable public read/write acl\[' '] = {"read" false, "write" false}; todo setacl(acl); final response = await todo save(); if (response success && response result != null) { return response result as parseobject; } else { print('error setting acl ${response error? message}'); return null; } } étape 4 – écriture des fonctions cloud code pourquoi cloud code le cloud code est essentiel pour créer une logique métier personnalisée côté serveur il vous évite de gérer votre propre infrastructure et garde votre code sécurisé et évolutif exemple de fonction et déclencheurs dans votre main js (pour cloud code) // main js parse cloud define('hellodart', (request) => { return `hello from dart and back4app, ${request params name || 'guest'}!`; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'each todo needs a title!'; } }); déploiement utiliser le cli back4app utiliser le tableau de bord allez à cloud code > fonctions collez votre code dans main js cliquez sur déployer npm et cloud code si vous avez besoin de modules npm supplémentaires pour votre cloud code, spécifiez les dans le package json cela vous permet d'intégrer des api externes ou des opérations avancées directement depuis votre code côté serveur étape 5 – configuration de l'authentification activer l'authentification des utilisateurs dans le tableau de bord back4app, vous pouvez activer la vérification par e mail ou configurer des connexions sociales par défaut, la classe parse user stocke les mots de passe de manière sécurisée exemples de code (utilisant parse server sdk en dart) import 'package\ parse server sdk/parse server sdk dart'; future\<void> signupuser(string username, string password, string email) async { final user = parseuser(username, password, email); final response = await user signup(); if (response success) { print('user signed up ${response result}'); } else { print('error ${response error? message}'); } } future\<void> loginuser(string username, string password) async { final user = parseuser(username, password, null); final response = await user login(); if (response success) { print('user logged in ${response result}'); } else { print('error ${response error? message}'); } } connexion sociale configurer des fournisseurs comme google, apple ou facebook dans le tableau de bord back4app implémentez le plugin parse server sdk correspondant ou un flux oauth personnalisé si disponible étape 6 – gestion du stockage de fichiers configuration du stockage de fichiers back4app héberge automatiquement les fichiers que vous téléchargez via les api parse vous pouvez stocker des images, des documents ou tout type de fichier exemple (dart) considérations de sécurité vous pouvez contrôler qui peut télécharger ou récupérer des fichiers en ajustant vos clp ou rôles d'utilisateur dans le tableau de bord back4app étape 7 – vérification par e mail et réinitialisation du mot de passe aperçu la vérification par e mail confirme que les utilisateurs possèdent les e mails avec lesquels ils s'inscrivent, tandis que les liens de réinitialisation de mot de passe fournissent un moyen sécurisé de gérer les identifiants perdus configuration du tableau de bord back4app allez à paramètres de l'application > e mail activez vérifier les e mails des utilisateurs et réinitialisation du mot de passe personnalisez vos modèles d'e mail selon vos besoins mise en œuvre lorsque les utilisateurs s'inscrivent avec un e mail valide, ils reçoivent un lien de vérification par e mail pour les réinitialisations de mot de passe, appelez la méthode requestpasswordreset de parseuser (si disponible dans le parse server sdk) ou le point de terminaison rest étape 8 – planification des tâches avec cloud jobs ce que font les cloud jobs les cloud jobs vous permettent de planifier des tâches à intervalles réguliers, comme nettoyer les anciens enregistrements ou envoyer des rapports périodiques ils fonctionnent en arrière plan, indépendamment des actions déclenchées par l'utilisateur exemple dans main js , ajoutez parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); planification allez à paramètres de l'application > paramètres du serveur > tâches en arrière plan planifiez cleanupoldtodos pour s'exécuter quotidiennement ou à un intervalle de votre choix étape 9 – intégration des webhooks définition les webhooks permettent à votre application back4app d'effectuer des requêtes http vers un service externe lors de certains événements cela est utile pour s'intégrer à des services tiers comme slack ou stripe configuration allez à plus > webhooks dans votre tableau de bord back4app cliquez sur ajouter un webhook et fournissez un point de terminaison (par exemple, https //your external service com/webhook endpoint ) spécifiez l'événement déclencheur (par exemple, après qu'un todo soit créé) exemple si vous avez une url de webhook slack, vous pouvez la configurer pour recevoir une notification chaque fois qu'un nouveau todo est inséré cette connexion transparente entre votre backend dart et les outils externes améliore l'automatisation étape 10 – exploration du panneau d'administration back4app où le trouver dans votre console back4app, ouvrez plus > application admin et activez le panneau fonctionnalités gérez facilement les enregistrements de la base de données examinez les journaux, les tâches en arrière plan et les analyses contrôlez l'accès des utilisateurs et les rôles conclusion en suivant ces étapes, vous avez construit un backend sécurisé pour dart sur back4app géré votre base de données à travers les classes et champs parse créé un code cloud personnalisé pour gérer la logique côté serveur sécurisé les données en utilisant des acl, clp et l'authentification des utilisateurs planifié des tâches en arrière plan avec des cloud jobs intégré des services externes en utilisant des webhooks exploré le panneau d'administration pour une gestion facile des données cette base solide vous prépare à déployer des projets dart de manière efficace, que vous construisiez des serveurs web à grande échelle, des microservices ou des applications spécialisées à partir de là, vous pouvez faire évoluer votre framework backend, ajouter une logique plus complexe ou intégrer des fonctionnalités avancées telles que des notifications push ou des analyses avancées prochaines étapes explorer la préparation à la production utilisez des stratégies de mise en cache, gérez la concurrence et optimisez les performances pour un trafic élevé intégrer des fonctionnalités avancées telles que le contrôle d'accès basé sur les rôles, plus de connexions sociales ou des outils de collaboration en temps réel consultez la documentation officielle de back4app pour des informations plus approfondies sur les journaux, la sécurité et l'optimisation des performances expérimentez avec des packages supplémentaires comme le package shelf pour créer des serveurs web personnalisés aux côtés de votre couche de données basée sur parse, en tirant parti des capacités de dart en tant que langage de programmation flexible avec cette connaissance de comment construire un backend pour dart , vous disposez d'un moyen puissant de gérer les données, de sécuriser vos processus côté serveur et d'automatiser les flux de travail de votre application, le tout sans avoir besoin d'une infrastructure significative