Quickstarters

Comment construire un backend pour Symfony ?

29min

Introduction

Dans ce tutoriel, vous apprendrez comment construire un backend pour Symfony en utilisant Back4App.

Nous vous montrerons comment utiliser les fonctionnalités robustes de Back4App—y compris la gestion de base de données, le Cloud Code, les API REST et GraphQL—pour créer un backend sécurisé, évolutif et efficace qui fonctionne parfaitement avec votre application Symfony.

Vous découvrirez également comment gérer l'authentification des utilisateurs, le stockage de fichiers et les mises à jour en temps réel via des requêtes en direct (si applicable pour votre architecture).

En tirant parti de la configuration rapide et de la plateforme intuitive de Back4App, vous économiserez du temps et des efforts par rapport à la gestion manuelle des serveurs et des bases de données.

Vous acquerrez une expérience pratique en matière de sécurité avancée, de planification de tâches avec Cloud Jobs, de configuration de webhooks et d'autres fonctionnalités essentielles pour un développement backend fiable.

Après avoir terminé ce tutoriel, vous pouvez élargir ou personnaliser en toute confiance votre backend Symfony pour la production, intégrer des API externes et ajouter une logique métier complexe si nécessaire.

Prérequis

  • Un compte Back4app Inscrivez-vous gratuitement ici.
  • Un nouveau projet Back4app Commencer avec Back4app.
  • Configuration spécifique à Symfony Assurez-vous d'avoir Symfony installé localement. Confirmez que vous avez PHP et Composer prêts.
  • Connaissances de base en Symfony Une familiarité avec les contrôleurs, les services et le templating est bénéfique. Documentation officielle de Symfony.
  • Node.js (optionnel, pour certains outils de construction) Si vous prévoyez d'utiliser des outils basés sur Node pour des tâches front-end, installez Node.js.

Assurez-vous que votre environnement Symfony et votre projet Back4App sont configurés avant de commencer. Cela vous aidera à suivre les étapes sans problème.

Étape 1 – Création d'un nouveau projet sur Back4App et connexion

  1. Créer un projet Back4App:
    • Connectez-vous à votre compte Back4App.
    • Cliquez sur “Nouvelle application” dans le tableau de bord.
    • Nommez-la (par exemple, “Symfony-Backend-Tutorial”).
Document image


Une fois créé, il apparaît dans votre tableau de bord Back4App. Ce projet est votre fondation backend.

  1. Connectez-vous avec REST ou GraphQL:
    • Dans les “Paramètres de l’application” ou “Sécurité & Clés” de votre application, trouvez votre ID d'application et Clé API REST (et le point de terminaison GraphQL si vous prévoyez d'utiliser GraphQL).
    • Notez votre URL du serveur Parse (par exemple, https://parseapi.back4app.com).
    • Puisque Symfony n'a pas de SDK Parse natif, vous devrez vous fier au client HTTP de Symfony ou à une bibliothèque comme Guzzle pour communiquer avec les API REST ou GraphQL de Back4App.
Document image


Voici un exemple utilisant le Symfony HttpClient:

PHP


Ce service vous aidera à faire des requêtes à votre backend Back4App depuis Symfony.

Étape 2 – Configuration de la base de données

Création d'un modèle de données

Sur Back4App, vous définirez des classes (tables) qui stockent vos données. Disons que vous voulez une Todo classe pour contenir des tâches :

  1. Naviguez vers la base de données dans votre tableau de bord Back4App.
  2. Créez une nouvelle classe “Todo” et ajoutez des champs comme title (String) et isCompleted (Boolean).
Créer une nouvelle classe
Créer une nouvelle classe


Alternativement, laissez le Back4App AI Agent créer votre modèle de données :

  1. Ouvrez l'AI Agent dans le tableau de bord de votre projet.
  2. Décrivez votre modèle de données (par exemple, “Créez une classe Todo avec des champs title et isCompleted.”).
  3. Générez le schéma automatiquement.
Document image


Lecture et écriture de données en utilisant REST

Pour créer un nouveau Todo à partir d'un contrôleur Symfony, vous pouvez faire :

PHP


Pour les requêtes, utilisez une requête GET avec vos identifiants :

Bash


Lecture et écriture de données en utilisant GraphQL

Vous pouvez également intégrer GraphQL dans Symfony en utilisant une bibliothèque cliente GraphQL. Un exemple de mutation pour créer un Todo est :

GraphQL


Travailler avec des requêtes en direct (Optionnel)

Si votre application Symfony a besoin de données en temps réel, vous pourriez incorporer Live Queries dans un contexte plus front-end ou microservice en temps réel. Configurez les requêtes en direct dans les Paramètres du serveur sur Back4App, puis connectez un client WebSocket. Symfony peut répondre à ces mises à jour ou les diffuser via une couche en temps réel séparée si nécessaire.

Étape 3 – Appliquer la sécurité avec les ACL et les CLP

ACL (Listes de contrôle d'accès)

Les ACL vous permettent de contrôler qui peut lire ou écrire un objet. Par exemple, vous pouvez appliquer une ACL dans le code lors de la création de données avec l'API REST en ajoutant des champs _ACL dans votre JSON. Par exemple :

JSON


CLP (Permissions au niveau de la classe)

Les Permissions au niveau de la classe vous permettent de définir des règles d'accès larges pour une classe entière :

  1. Ouvrir la base de données dans le tableau de bord Back4App.
  2. Sélectionnez votre classe (par exemple, “Todo”).
  3. Allez à l'onglet Permissions et configurez l'accès en lecture/écriture.
Document image


Pour plus d'informations, visitez les Directives de sécurité de l'application.

Étape 4 – Écriture de fonctions Cloud Code

Le Cloud Code vous permet d'exécuter du JavaScript côté serveur de manière sécurisée sans gérer l'infrastructure. Bien que Symfony soit en PHP, vous pouvez toujours déléguer certaines tâches à Cloud Code sur Back4App pour une logique avancée, des déclencheurs et des validations.

Exemple : Valider un Todo avant de sauvegarder

JS


Déploiement

  1. Utilisez le Back4App CLI ou le tableau de bord pour déployer main.js.
  2. Invoquez vos fonctions Cloud via REST ou GraphQL depuis vos services Symfony.
Document image


Étape 5 – Configuration de l'authentification

La gestion des utilisateurs dans Back4App repose sur la classe Parse User . Avec Symfony, vous pouvez gérer les inscriptions des utilisateurs, les connexions et les réinitialisations de mot de passe via des appels REST ou GraphQL.

Inscription / Connexion via REST

Bash


Utilisez un service Symfony pour encapsuler ces appels si vous avez besoin de flux d'utilisateurs programmatiques.

Connexion Sociale

Si vous prévoyez d'intégrer la connexion Google ou Apple, référez-vous à la documentation de connexion sociale de Back4App. Vous configurerez vos applications OAuth et effectuerez des appels REST spécifiques pour compléter l'authentification.

Étape 6 – Gestion du stockage de fichiers

Téléchargement de fichiers avec REST

Bash


Après le téléchargement, vous obtiendrez une URL de fichier. Vous pouvez stocker ce lien dans n'importe quelle classe (par exemple, Todo) comme référence à ce fichier.

Étape 7 – Vérification par e-mail et réinitialisation du mot de passe

Configuration de l'e-mail

  1. Allez aux paramètres de l'email dans Back4App.
  2. Activez la vérification par email et les modèles de réinitialisation de mot de passe.
  3. Personnalisez les lignes “De” et “Objet” selon vos besoins.

Cela garantit que toutes les inscriptions nécessitent des confirmations d'email valides.

Étape 8 – Planification des tâches avec les Cloud Jobs

Exemple de Cloud Job

JS


Planifiez ce cleanupOldTodos job dans votre tableau de bord Back4App pour qu'il s'exécute quotidiennement, améliorant ainsi votre gestion des données.

Étape 9 – Intégration des Webhooks

Les Webhooks permettent à Back4App d'envoyer des requêtes HTTP à des services externes. Par exemple, vous pouvez envoyer un ping à un point de terminaison Slack chaque fois qu'un nouveau Todo est créé :

  1. Allez à Plus > WebHooks dans votre tableau de bord Back4App.
  2. Ajoutez un Webhook en spécifiant votre point de terminaison externe.
  3. Déclenchez l'événement lors de la création d'objet dans la classe Todo.
Ajout d'un Webhook
Ajout d'un Webhook


Étape 10 – Exploration du panneau d'administration Back4App

Utilisez le Back4App Admin App pour une interface de gestion des données conviviale :

  1. Activer l'Admin App depuis App Dashboard > Plus > Admin App.
  2. Créer un utilisateur Admin avec un nom d'utilisateur et un mot de passe sécurisés.
  3. Attribuer un sous-domaine personnalisé pour un accès facile.
Activer l'Admin App
Activer l'Admin App


Cette fonctionnalité aide les membres de l'équipe non techniques à visualiser et gérer les enregistrements sans plonger dans le code.

Conclusion

Vous avez appris comment construire un backend pour Symfony en utilisant Back4App. Cela incluait :

  • Créer un nouveau projet sur Back4App comme fondation.
  • Configurer la base de données avec des classes, des champs et des relations.
  • Sécuriser les données avec des ACL et des CLP.
  • Exploiter le Cloud Code pour la logique côté serveur.
  • Gérer l'authentification des utilisateurs (inscription, connexion, réinitialisation de mot de passe).
  • Gérer le stockage de fichiers avec l'API REST.
  • Configurer des Cloud Jobs pour des tâches périodiques.
  • Intégrer des webhooks pour connecter des services externes.
  • Naviguer dans le panneau d'administration Back4App pour une gestion facile des données.

Ces étapes vous donnent un cadre solide pour construire et faire évoluer votre application Symfony. Développez cette architecture pour gérer une logique plus complexe, intégrer des passerelles de paiement ou ajouter des fonctionnalités de sécurité avancées. Avec Back4App, vous gagnez du temps et des efforts sur l'hébergement et l'infrastructure—vous pouvez donc vous concentrer sur la fourniture de la meilleure expérience utilisateur possible.

Prochaines étapes

  • Construire une application Symfony prête pour la production en personnalisant votre backend Back4App pour un trafic plus élevé et des besoins de performance avancés.
  • Intégrer des fonctionnalités avancées comme l'accès basé sur les rôles, l'analyse ou les API tierces pour les paiements.
  • Explorer la documentation officielle de Back4App pour des informations plus approfondies sur la sécurité, les journaux et la surveillance.
  • Consulter d'autres tutoriels pour combiner ce backend avec des services en temps réel ou créer des sites web dynamiques avec des mises à jour en direct.

En suivant ces stratégies, votre projet Symfony bénéficie d'un backend puissant et efficace. Adoptez Back4App pour faciliter la maintenance et faire évoluer rapidement les capacités de votre application. Bonne chance pour la création de votre prochaine œuvre maîtresse Symfony!