Comment construire un backend pour Ionic ?
Dans ce tutoriel, vous apprendrez à construire un backend complet pour une application Ionic en utilisant Back4App.
Nous aborderons la gestion de base de données, les fonctions Cloud Code, les API REST et GraphQL, l'authentification des utilisateurs, la gestion des fichiers, et plus encore.
Notre objectif est de vous montrer comment construire un backend pour Ionic qui est sécurisé, évolutif et facile à maintenir.
Nous utiliserons l'environnement intuitif de Back4App pour simplifier la configuration côté serveur, vous évitant ainsi de configurer manuellement des serveurs ou des bases de données.
Vous apprendrez des outils essentiels tels que la planification de tâches avec Cloud Jobs, l'application de règles de sécurité avancées, et l'intégration de webhooks avec d'autres services.
À la fin, vous serez prêt à étendre ce backend fondamental en un système prêt pour la production pour votre application Ionic.
- Un compte Back4App et un nouveau projet Back4App Commencer avec Back4App. Si vous n'avez pas de compte, créez-en un gratuitement et suivez le guide ci-dessus pour configurer votre projet.
- Environnement de développement Ionic de base Assurez-vous d'avoir le Ionic CLI installé et de pouvoir créer et exécuter une application Ionic.
- Node.js (version 14 ou supérieure) installé Télécharger Node.js pour gérer les dépendances et construire votre projet.
- Familiarité avec JavaScript/TypeScript et les concepts Ionic Documentation officielle d'Ionic. Une bonne compréhension des structures, composants et hooks de cycle de vie d'Ionic sera utile.
- Connectez-vous à votre compte Back4App.
- Créez une nouvelle application en utilisant le bouton “Nouvelle application” dans votre tableau de bord Back4App.
- Nommez votre application (par exemple, “Ionic-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Ce projet Back4App est la base de votre backend. Contrairement à l'utilisation d'un SDK Parse côté client, ce tutoriel démontrera comment effectuer des appels via REST et GraphQL depuis votre application Ionic.
- Dans le tableau de bord Back4App, allez à App Settings ou Security & Keys.
- Notez votre Application ID, REST API Key, et GraphQL Endpoint. Vous en aurez besoin pour envoyer des requêtes depuis votre application Ionic.
Avoir une base de données bien structurée est la colonne vertébrale de chaque application. Le tableau de bord de Back4App facilite la conception de modèles de données et la gestion des relations.
- Allez à la section Database dans votre tableau de bord Back4App.
- Créez une nouvelle classe (par exemple, “Todo”) et ajoutez des colonnes (par ex., title comme une chaîne, isCompleted comme un booléen).
![Créer une nouvelle classe Créer une nouvelle classe](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
- Ouvrez l' Agent IA depuis votre tableau de bord Back4App.
- Décrivez votre schéma souhaité, comme “Créer une classe Todo avec des champs pour le titre (String) et isCompleted (Boolean).”
- L'Agent IA générera automatiquement le schéma.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Depuis votre code Ionic, vous pouvez exécuter des requêtes HTTP. Par exemple, pour créer un Todo:
Pour récupérer tous les Todos:
Vous pouvez intégrer ces appels en utilisant fetch, Axios, ou toute bibliothèque cliente HTTP dans les fichiers de service ou de composant de votre application Ionic.
De même, vous pouvez envoyer des mutations et des requêtes GraphQL depuis votre application Ionic. Par exemple, pour créer un nouveau Todo :
Exemple Les appels REST ou GraphQL peuvent être placés dans un fichier de fournisseur/service dans votre structure Ionic, puis appelés depuis vos pages.
Les requêtes en direct fournissent des mises à jour en temps réel des données de votre application, bien qu'elles nécessitent le SDK Parse ou une approche d'abonnement spécialisée. Si vous avez besoin de données en temps réel, vous pouvez activer Live Queries dans les paramètres de votre serveur Back4App. Vous utiliseriez généralement une connexion WebSocket pour surveiller les changements dans vos classes. Cependant, pour les appels basés sur HTTP standard, vous pouvez interroger périodiquement les points de terminaison REST ou GraphQL.
Les ACL (Listes de contrôle d'accès) vous permettent de définir des autorisations de lecture/écriture sur des objets individuels. Les CLP (Permissions au niveau de la classe) vous permettent de gérer un accès plus large au niveau de la classe. Ces fonctionnalités sont cruciales pour protéger les données privées et garantir que seuls les utilisateurs autorisés peuvent modifier les informations.
- Dans votre tableau de bord Back4App, allez à Base de données > Permissions au niveau de la classe.
- Configurez vos paramètres par défaut de classe (par exemple, seuls les utilisateurs authentifiés peuvent créer de nouveaux Todos).
Lors de la création ou de la mise à jour des enregistrements, vous pouvez passer des ACL via REST :
Pour plus d'informations, consultez les Directives de Sécurité de l'Application.
Le Code Cloud vous permet d'exécuter du JavaScript côté serveur pour des tâches telles que la validation des données, les déclencheurs ou les intégrations. Vous pouvez créer des points de terminaison personnalisés pour centraliser la logique, ce qui est particulièrement utile si vous souhaitez garder le code hors du client.
Dans votre main.js côté serveur (Back4App), vous pourriez écrire :
Déployez cela via le Back4App CLI ou dans la section Code Cloud du tableau de bord.
Vous pouvez envoyer une requête POST :
Vous recevrez une réponse JSON contenant les données retournées ou un message d'erreur.
Vous pouvez installer des packages comme axios dans votre environnement Cloud Code pour intégrer des services tiers. Incluez-les dans main.js:
Déployez et appelez-le de la même manière que vous le feriez pour toute fonction Cloud Code.
L'inscription et la connexion des utilisateurs peuvent être effectuées avec des appels REST à la User classe. Par exemple, pour s'inscrire:
En cas de succès, vous recevrez un sessionToken. Conservez-le en toute sécurité et incluez-le dans les en-têtes des futures requêtes pour des opérations authentifiées.
Vous pouvez configurer des connexions sociales (comme Google ou Facebook) en configurant le flux OAuth via Back4App ou en utilisant des fournisseurs externes. Consultez les Docs de connexion sociale pour des étapes détaillées.
Back4App offre un stockage de fichiers sécurisé. Vous pouvez attacher des fichiers à des objets ou les stocker indépendamment. Par exemple :
La réponse inclura une URL de fichier que vous pouvez stocker dans une classe :
Vous pouvez activer les règles de sécurité des fichiers dans les Paramètres du serveur de Back4App pour exiger une authentification ou limiter les téléchargements de fichiers à des rôles spécifiques.
La vérification par e-mail garantit la légitimité des e-mails des utilisateurs. La réinitialisation du mot de passe fournit un moyen sécurisé de récupérer des identifiants perdus. Cela aide à maintenir la confiance et une gestion appropriée des utilisateurs dans votre application Ionic.
- Allez dans Paramètres de l'application > Paramètres de l'e-mail.
- Activer la vérification par e-mail.
- Personnalisez les modèles d'e-mail de vérification et de réinitialisation de mot de passe.
Les Cloud Jobs vous permettent de planifier des tâches récurrentes comme le nettoyage des données ou l'envoi d'e-mails récapitulatifs. Vous les écrivez dans votre main.js:
Après le déploiement :
- Allez à Paramètres de l'application > Paramètres du serveur > Tâches en arrière-plan.
- Planifiez cleanupOldTodos pour s'exécuter quotidiennement.
![Planification d'un Cloud Job Planification d'un Cloud Job](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Les webhooks vous permettent d'envoyer des données à des services externes lorsque certains événements se produisent dans votre projet Back4App. Si votre application Ionic doit déclencher une action dans Stripe ou Slack après la création d'un nouvel enregistrement, vous pouvez utiliser des webhooks pour automatiser cela.
- Allez à Plus > WebHooks dans votre tableau de bord Back4App.
- Ajoutez un nouveau Webhook et définissez son point de terminaison (par exemple, https://your-service.com/webhook-endpoint).
- Choisissez l' événement (par exemple, “Après Enregistrement” dans la Todo classe).
![Ajout d'un Webhook Ajout d'un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Vous pouvez également initier des requêtes sortantes à partir des déclencheurs de Cloud Code dans main.js en utilisant des bibliothèques HTTP standard.
Le Back4App Admin App est une interface plus simple pour les parties prenantes non techniques. Elle fournit un moyen facile d'effectuer des opérations CRUD sur vos classes sans entrer dans le tableau de bord principal de Parse.
- Dans le tableau de bord, allez à Plus > Admin App.
- Cliquez sur Activer l'Admin App et créez un utilisateur administrateur.
- Choisissez un sous-domaine pour accéder à votre interface d'administration.
![Activer l'Admin App Activer l'Admin App](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Ce panneau vous aide à gérer les données sans écrire de requêtes, ce qui le rend idéal pour les clients ou les membres de l'équipe qui préfèrent une interface graphique.
En complétant ce guide sur comment construire un backend pour Ionic, vous avez :
- Créé un backend sécurisé sur Back4App avec des modèles de données robustes et des relations.
- Intégré avec des API REST et GraphQL pour lire et écrire des données depuis votre application Ionic.
- Implémenté la sécurité avec des ACL et des CLP.
- Déployé le Cloud Code pour une logique et des déclencheurs personnalisés.
- Configuré l'authentification des utilisateurs et le stockage de fichiers.
- Mis en place des Cloud Jobs pour la planification des tâches.
- Exploité des webhooks pour des intégrations externes.
- Exploré le panneau d'administration pour simplifier l'administration des données.
Avec cette base, votre application Ionic peut évoluer en une plateforme prête pour la production. Ajoutez plus de logique, connectez des API tierces, ou peaufinez les règles de sécurité pour correspondre à votre cas d'utilisation.
- Améliorez votre build de production en implémentant la mise en cache, l'accès basé sur les rôles, et la surveillance des performances.
- Intégrez des fonctionnalités avancées telles que des requêtes en temps réel ou l'authentification multi-facteurs.
- Consultez la documentation officielle de Back4App pour une exploration approfondie des analyses, des journaux, et de l'optimisation des performances.
- Explorez d'autres tutoriels qui démontrent des applications de chat, des intégrations IoT, ou des fonctionnalités basées sur la localisation combinées avec les services backend robustes de Back4App.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)