Comment créer un backend pour Swift ?
Dans ce tutoriel, vous apprendrez à construire un backend complet pour une application Swift en utilisant Back4App.
Nous allons passer en revue 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, les requêtes en temps réel (Live Queries), et plus encore—pour créer un backend sécurisé, évolutif et robuste qui communique sans problème avec votre application cliente basée sur Swift.
En tirant parti de la configuration rapide et de l'environnement intuitif de Back4App, vous réduirez considérablement le temps et les efforts nécessaires par rapport à la configuration manuelle des serveurs et des bases de données.
En cours de route, vous acquerrez une expérience pratique avec des fonctionnalités cruciales, y compris des fonctionnalités de sécurité avancées, la planification de tâches avec Cloud Jobs, et la configuration de webhooks pour des intégrations externes.
À la fin de ce tutoriel, vous serez bien préparé à améliorer ce service backend fondamental en une application prête pour la production ou à intégrer facilement une logique personnalisée et des API tierces selon vos besoins.
Vous verrez comment travailler avec une plateforme BaaS peut transformer le développement backend en une expérience plus fluide, surtout lors de la création d'un backend rapide ou de toute autre application backend. Commençons!
Pour compléter ce tutoriel, vous aurez besoin de :
- 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. Suivez le guide ci-dessus pour préparer votre projet.
- Un environnement de développement Swift Vous pouvez utiliser Xcode comme votre IDE pour créer des applications iOS ou macOS en utilisant Swift. Assurez-vous d'avoir une version stable récente de Xcode installée sur votre machine.
- Familiarité avec le langage de programmation Swift Si vous êtes nouveau dans Swift, consultez la Documentation Swift officielle ou un tutoriel pour débutants avant de commencer.
- Parse Swift SDK Si vous utilisez CocoaPods, ajoutez pod 'ParseSwiftOG' à votre Podfile. Ou si vous utilisez Swift Package Manager, ajoutez .package(url: "https://github.com/netreconlab/Parse-Swift.git", from: "5.0.0") à vos dépendances. Lisez-en plus dans les Docs Parse Swift.
Assurez-vous d'avoir tous ces prérequis en place avant de commencer. Avoir votre projet Back4App configuré et votre environnement Swift local prêt vous aidera à suivre plus facilement.
La première étape pour construire votre backend Swift sur Back4App consiste à créer un nouveau projet. Ce projet est la base de toutes les configurations backend discutées dans ce tutoriel. Swift peut se connecter sans problème à votre nouveau backend en utilisant le SDK Parse Swift. Voyons comment.
- Connectez-vous à votre compte Back4App.
- Cliquez sur le bouton “Nouvelle application” dans votre tableau de bord Back4App.
- Nommez votre application (par exemple, “Swift-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Après la création, vous verrez la nouvelle application listée dans votre tableau de bord. C'est ici que vous configurerez votre base de données, vos fonctions cloud et d'autres paramètres cruciaux pour votre application backend.
Back4App est alimenté par la plateforme Parse, qui fournit la base de votre base de données, des mises à jour en temps réel, l'authentification, et plus encore. Votre application Swift peut se connecter à Back4App en installant et en initialisant le SDK Parse Swift.
Récupérez vos clés Parse: Dans votre tableau de bord Back4App, allez dans les “Paramètres de l'application” ou “Sécurité & Clés” de votre application pour trouver votre ID d'application et Clé client. Vous verrez également votre URL du serveur Parse (souvent https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Installez le SDK Parse Swift:
- Gestionnaire de paquets Swift (Recommandé):
- CocoaPods:
Initialisez Parse dans votre application:
Vous pouvez faire cela dans le point d'entrée principal de votre projet Swift (par exemple, AppDelegate.swift ou la structure SwiftUI @main . Par exemple :
Avec cette configuration, votre client Swift peut maintenant envoyer des requêtes sécurisées à Back4App. Vous avez établi une connexion robuste qui simplifie les opérations de données sans nécessiter d'appels REST ou GraphQL manuels (bien que vous puissiez toujours les utiliser si vous le souhaitez).
Dans cette étape, vous allez configurer votre base de données backend sur Back4App et voir comment gérer les données depuis votre code Swift. Back4App utilise le modèle de données Parse, vous permettant de stocker des objets dans des structures semblables à des classes. Swift peut interagir facilement avec ces classes via le SDK Parse Swift.
- Accédez à la section “Base de données” dans votre tableau de bord Back4App.
- Créez une nouvelle classe (par exemple, “Todo”).
- Ajoutez des colonnes pour les données dont vous avez besoin, telles que “title” (String) et “isCompleted” (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 laisser le SDK Parse Swift créer ces colonnes automatiquement la première fois que vous enregistrez un objet. Dans tous les cas, votre schéma doit correspondre aux données que vous stockez afin que votre application puisse les gérer sans problème.
Back4App fournit un agent IA qui peut vous aider à concevoir votre modèle de données :
- Ouvrez l'agent IA depuis le tableau de bord ou le menu de votre application.
- Décrivez votre modèle de données en langage naturel. Par exemple : “Veuillez créer un nouveau projet Swift avec un schéma de classe ToDo.”
- Laissez l'agent IA créer le schéma pour vous automatiquement.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
En utilisant le SDK Parse Swift, vous pouvez créer une structure conforme à ParseObject pour représenter vos données. Par exemple, si vous avez une classe Todo :
Créez un objet Todo et enregistrez-le:
Interroger tous les éléments Todo:
Si vous préférez les requêtes HTTP standard, vous pouvez utiliser l'API REST. Par exemple, pour créer un nouveau Todo :
GraphQL est également pris en charge. Voici un exemple de mutation pour créer un Todo :
Si votre application Swift a besoin de mises à jour en temps réel, Back4App prend en charge les requêtes en direct. Pour iOS:
- Activer les requêtes en direct dans les Paramètres du serveur de votre application.
- Connectez-vous en spécifiant Parse.liveQueryServerURL dans votre application:
- Abonnez-vous aux mises à jour en direct:
Maintenant, chaque fois qu'un Todo est créé, mis à jour ou supprimé, vous recevrez des mises à jour en temps réel. Cela est particulièrement utile pour les fonctionnalités collaboratives ou sensibles au temps dans le développement de votre backend Swift.
Back4App utilise les Listes de Contrôle d'Accès (ACL) et les Permissions au Niveau de la Classe (CLP) pour sécuriser vos données. Les ACL vous permettent de définir des permissions par objet, tandis que les CLP définissent des règles d'accès par défaut pour toute une classe.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Dans le tableau de bord Back4App :
- Allez à Base de données et sélectionnez une classe (par exemple, “Todo”).
- Ouvrez les Permissions au Niveau de la Classe.
- Configurez les restrictions sur la lecture, l'écriture ou l'accès public.
Lors de la création ou de la mise à jour d'un ParseObject en Swift, vous pouvez définir un ACL. Par exemple :
Cela garantit que seul l'utilisateur spécifié peut lire ou modifier cet objet. La combinaison des ACL et des CLP forme un modèle de sécurité robuste et stratifié pour les données de votre application.
Le Cloud Code vous permet d'exécuter une logique Swift côté serveur (ou JavaScript si vous utilisez le style original de Cloud Code de Parse) sans exposer de secrets au client. C'est parfait pour les validations, les déclencheurs, les tâches planifiées, et plus encore.
Voici un exemple basé sur JavaScript, mais vous pouvez également travailler en TypeScript ou appeler depuis Swift. Dans votre dossier Cloud Code de Back4App, créez main.js:
Vous voudrez peut-être installer des modules NPM en les incluant dans votre package.json fichier, puis en les appelant dans main.js. Une fois déployé, vous pouvez invoquer ces fonctions depuis votre code Swift en utilisant callFunction.
Déployez votre Cloud Code via :
Vous pouvez également déployer via le tableau de bord Back4App en allant à Cloud Code > Functions. Collez votre code dans l'éditeur en ligne et cliquez sur Déployer.
Dans le Tableau de bord, vous verrez une classe par défaut _User pour les comptes utilisateurs. Activez tout fournisseur d'authentification supplémentaire (Apple, Facebook, Google, etc.) dans les Paramètres d'authentification de votre application si nécessaire.
Back4App prend en charge la connexion OAuth avec Google, Apple et Facebook. Configurez ces fournisseurs sur votre page de paramètres d'authentification, et utilisez le code d'intégration Parse Swift pertinent dans votre application Swift (par exemple, ParseFacebookUtils ou ParseAppleUtils) pour gérer les flux d'authentification. Pour plus de détails, consultez la Documentation sur la connexion sociale.
Vous pouvez stocker des images, des vidéos ou tout fichier dans Back4App. En Swift, vous avez ParseFile:
Ensuite, vous pouvez attacher ce fichier à un ParseObject et l'enregistrer. Récupérez l'URL du fichier pour l'afficher ou le télécharger ailleurs.
Pour restreindre l'accès aux fichiers, vous pouvez utiliser la configuration des fichiers de Parse Server. Par exemple, vous pourriez autoriser uniquement les utilisateurs authentifiés à télécharger des fichiers ou spécifier des autorisations de lecture/écriture dans votre code Swift.
Valider l'e-mail d'un utilisateur garantit une boîte aux lettres réelle et active. La réinitialisation du mot de passe aide vos utilisateurs à retrouver en toute sécurité l'accès à leur compte s'ils oublient leurs identifiants.
Allez à Paramètres de l'email et activez Vérification de l'email. Modifiez vos modèles d'email pour les flux de vérification et de réinitialisation.
Vous pouvez planifier des tâches côté serveur sur Back4App. Par exemple, nettoyer les anciennes données ou envoyer des rapports hebdomadaires. Définissez un travail dans votre code Cloud et planifiez-le via le tableau de bord Back4App.
Ensuite, dans les Paramètres du serveur de Back4App > Travaux en arrière-plan, vous pouvez le planifier pour qu'il s'exécute quotidiennement ou à tout intervalle.
![Planification d'un travail dans le cloud Planification d'un travail dans le cloud](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Les webhooks permettent à votre application de POST automatiquement des données vers des services externes chaque fois que certains événements se produisent. C'est parfait pour s'intégrer avec Slack, Stripe ou d'autres API tierces.
- Dans votre tableau de bord Back4App, allez à Plus > Webhooks.
- Ajoutez un point de terminaison webhook (par exemple, https://example.com/webhook).
- Choisissez des déclencheurs (par exemple, création d'objet dans “Todo”).
![Ajout d'un Webhook Ajout d'un Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Pour une logique personnalisée, vous pouvez également émettre des requêtes vers des URL externes dans les déclencheurs de Cloud Code :
![Avant de sauvegarder le WebHook Avant de sauvegarder le WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
L' Application d'administration Back4App est une interface point-and-click pour le personnel non technique ou de support. Elle fournit une interface graphique simple pour effectuer des opérations CRUD sur vos données—idéale pour gérer des données en dehors de votre environnement de développement.
- Allez au tableau de bord de l'application > Plus > Application d'administration.
- Activez l'application d'administration et choisissez un sous-domaine.
- Créez un utilisateur administrateur.
![Activer l'application d'administration Activer l'application d'administration](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Une fois activée, toute personne disposant des identifiants appropriés peut visualiser et modifier vos données à partir d'une interface web conviviale—aucun code requis.
En suivant ce tutoriel complet, vous avez appris comment construire un backend pour Swift en utilisant Back4App. Plus précisément, vous avez :
- Créé un backend sécurisé pour votre application Swift.
- Configuré une base de données avec des schémas de classe et des relations de données.
- Travaillé avec des requêtes en temps réel (Live Queries) pour des mises à jour immédiates.
- Mis en place une sécurité robuste avec des ACL et des CLP.
- Utilisé Cloud Code pour exécuter une logique personnalisée côté serveur.
- Implémenté l'authentification des utilisateurs avec vérification et réinitialisation de mot de passe.
- Géré les téléchargements de fichiers de manière sécurisée.
- Planifié des tâches automatisées avec Cloud Jobs.
- Appris sur les Webhooks pour intégrer des API externes.
- Exploré le panneau d'administration pour la gestion directe des données.
Vous avez maintenant un service backend fonctionnel et évolutif pour votre application Swift—un service qui peut être facilement étendu pour gérer des fonctionnalités plus complexes, se connecter à des services tiers ou s'adapter à un trafic utilisateur plus important. Vous avez également vu de première main comment la combinaison des fonctionnalités BaaS de Back4App et de la syntaxe moderne de Swift peut accélérer le développement backend.
- Construire une application Swift prête pour la production en développant votre UI/UX.
- Intégrer des fonctionnalités avancées comme une authentification spécialisée (basée sur les rôles, SSO), ou une logique Cloud Code supplémentaire pour des règles spécifiques au domaine.
- Consulter la documentation officielle de Back4App pour des plongées plus profondes dans les journaux, l'analyse ou la sécurité avancée.
- Explorer d'autres tutoriels sur le chat en temps réel, les tableaux de bord IoT ou les applications basées sur la localisation. Combinez-les avec des API externes pour résoudre des défis du monde réel.
C'est ainsi que l'on construit un backend pour Swift en utilisant Back4App ! Bon codage !
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)