00:00:00D'accord, combien de fois avez-vous reconstruit exactement le même backend ?
00:00:04CRUD, authentification, panneau d'administration, téléchargement de fichiers.
00:00:07Souvent, ce qui ressemble à de la création n'est en fait que de la reconstruction.
00:00:10Et si vous pouviez pointer un outil vers votre base SQL existante pour obtenir un backend complet ?
00:00:15C'est Directus, une API en temps réel et un tableau de bord pour gérer le contenu SQL.
00:00:21Beaucoup de développeurs réalisent qu'ils ont choisi la méthode difficile depuis le début.
00:00:25Laissez-moi vous montrer comment tout cela fonctionne en seulement quelques minutes.
00:00:30[MUSIQUE]
00:00:33Le plus gros problème de backend pour la plupart d'entre nous n'est pas la complexité, c'est la répétition.
00:00:38Nous ne résolvons pas de nouveaux problèmes, nous lions le même code encore et encore,
00:00:42et cela finit par dévorer tout notre temps.
00:00:44Directus élimine tout cela.
00:00:46Il se connecte directement à votre base de données Postgres, MySQL ou Oracle.
00:00:50Pas de migrations, pas besoin de reconstruire tout votre schéma ailleurs.
00:00:53Nous obtenons instantanément des API REST et GraphQL,
00:00:57des permissions au niveau des champs, des abonnements en temps réel,
00:01:01des flux et automatisations, la gestion de fichiers et une interface d'administration propre.
00:01:05Maintenant, ce qui est génial, c'est que votre base de données reste telle quelle.
00:01:08Ce n'est pas une couche de duplication.
00:01:10Cela compte beaucoup plus qu'il n'y paraît.
00:01:12Laissez-moi vous montrer.
00:01:13Si vous aimez les outils open-source et les astuces de code pour accélérer votre travail,
00:01:17n'oubliez pas de vous abonner.
00:01:18Nous publions des vidéos tout le temps.
00:01:20Très bien, commençons de zéro avec une installation propre de Directus,
00:01:24sans tables de base de données, rien de préchargé.
00:01:27Juste une toile complètement blanche après avoir créé mon compte ici.
00:01:32Et au lieu de me connecter à quelque chose qui existe déjà,
00:01:34je vais créer une application complète de gestion de commandes en une minute environ.
00:01:39D'abord, je crée une collection et je la nomme "Orders", juste comme ça.
00:01:45C'est tout.
00:01:45Maintenant l'application a un endroit où stocker les données, et nous pouvons y ajouter des détails.
00:01:51Je vais sélectionner et remplacer ceux dont nous avons besoin ici,
00:01:54comme le client, la date, enfin toutes ces choses amusantes.
00:01:58Ensuite, je peux ajouter manuellement n'importe quel autre champ
00:02:00dont nous pourrions avoir besoin pour ce genre de projet.
00:02:03Je pourrais donc mettre le nom du client, l'e-mail, le produit en menu déroulant,
00:02:08où je peux ajouter une clé et une valeur.
00:02:10Je peux faire de même pour le montant et le statut.
00:02:13Chaque champ ajoute plus de détails sur les données que nous allons stocker.
00:02:16Et remarquez ce qui manque ici.
00:02:18Eh bien, c'est le SQL.
00:02:19Il n'y a pas de SQL.
00:02:20Il n'y a pas de migrations.
00:02:22Pas besoin de changer d'onglet pour écrire un fichier de schéma.
00:02:25Tout est sauvegardé directement dans Directus immédiatement.
00:02:28Maintenant je peux aller dans la vue contenu et commencer à ajouter des commandes.
00:02:32Je peux ajouter la première commande ici, juste un compte fictif.
00:02:35J'en ajoute une autre.
00:02:36Et puis une troisième, n'est-ce pas ?
00:02:39Nous avons trois commandes différentes ici dans le système.
00:02:42Maintenant j'ai des données réelles avec lesquelles nous pouvons commencer à jouer.
00:02:45Mais pour l'instant c'est totalement ouvert, ce qui veut dire que n'importe qui peut tout faire.
00:02:49Alors corrigeons cela.
00:02:50Comment fait-on ?
00:02:51Eh bien, avec les permissions.
00:02:53Je vais donc dans le rôle public.
00:02:55Je vais trouver la collection "orders" que nous avons créée.
00:02:58Nous pouvons activer la lecture.
00:03:00Et je vais m'assurer que tout le reste est désactivé.
00:03:03Créer, mettre à jour, supprimer.
00:03:05Tout cela a disparu.
00:03:06C'est maintenant plus contrôlé et plus sûr pour ce que nous voulons.
00:03:10D'accord, c'est là que ça commence à devenir vraiment cool
00:03:12car nous pouvons faire de l'automatisation et créer des flux autour de ça.
00:03:16Je vais aller ici et créer un nouveau flux.
00:03:19Je vais lui donner un nom très simple, qu'est-ce que c'est ?
00:03:22Je vais mettre : notifier lors d'une nouvelle commande.
00:03:24Nom simple, conforme à mon objectif.
00:03:26Et je vais tout sélectionner depuis les items de la collection nommée "orders".
00:03:31Maintenant je peux créer un déclencheur.
00:03:33Et pour le déclencheur, je me branche sur la création d'un nouvel élément,
00:03:37spécifiquement dans cette collection "orders".
00:03:39Désormais, chaque fois qu'une commande arrive, quelque chose va se passer.
00:03:43Je vais ajouter une opération.
00:03:44Nous allons envoyer un e-mail.
00:03:46Il va écrire un objet.
00:03:47Je vais ajouter mon e-mail à cela.
00:03:49Et dans le corps, je vais extraire les données de la commande.
00:03:52Ainsi, dès qu'une commande entre, les données seront envoyées par e-mail.
00:03:56Je peux sauvegarder cette opération, puis le flux, et c'est terminé.
00:04:00Maintenant, regardez bien.
00:04:02Je vais revenir en arrière.
00:04:03Et dans mon fichier Docker Compose de départ, j'ai ajouté Mailpit pour tester.
00:04:07C'est un moyen super simple de tester la fonction d'envoi d'e-mail.
00:04:11Quand je passe une commande de plus, rien d'extraordinaire,
00:04:14mais cette fois, quelque chose est différent.
00:04:16Cela déclenche maintenant le flux automatiquement et un e-mail part avec les détails.
00:04:20Il n'y a pas de logique backend ici.
00:04:22Pas besoin de tout câbler ensemble.
00:04:25On est partis de rien : pas de tables, pas de backend, pas de structure réelle.
00:04:30Et en quelques minutes, c'est une application fonctionnelle avec permissions et,
00:04:33oui, l'automatisation, ce qui était la partie la plus cool.
00:04:35Et c'est ce qui rend Directus vraiment génial.
00:04:38C'est comme une combinaison de logique visuelle de base de données avec un n8n ou Zapier intégré,
00:04:43mais ce ne sont pas vraiment ses concurrents directs.
00:04:45Alors, qu'est-ce que Directus exactement ?
00:04:47C'est une plateforme de données open source qui se place au-dessus de votre base SQL.
00:04:52Elle ne se met pas à côté.
00:04:53Elle se place par-dessus.
00:04:55Ce modèle "database-first" est tout l'intérêt du projet.
00:04:58Qu'est-ce que cela signifie concrètement ?
00:04:59Eh bien, cela implique plusieurs choses pour nous.
00:05:01Cela signifie qu'il n'y a pas de verrouillage propriétaire.
00:05:03Le SQL complet est toujours là et fonctionne avec les systèmes hérités.
00:05:07C'est pourquoi on l'utilise pour des backends SaaS, des outils internes, des CMS headless,
00:05:13ou des agents IA avec des données contrôlées.
00:05:15Vous essayez de moderniser un vieux système sans tout réécrire.
00:05:19Votre base de données est le moteur réel ici.
00:05:21Directus lui donne simplement un tableau de bord et des contrôles.
00:05:24À première vue, si vous avez utilisé Strapi, Payload ou Hasura,
00:05:28Directus va sembler similaire, mais ils résolvent des problèmes différents.
00:05:33Strapi et Payload sont orientés "code-first".
00:05:36Vous définissez les schémas dans le code, puis reconstruisez votre structure là-bas.
00:05:40Ça fonctionne, mais c'est du travail supplémentaire.
00:05:42Directus change la donne avec quelques ajustements.
00:05:45Votre schéma existe déjà, donc au lieu de le recréer, vous le connectez simplement.
00:05:50C'est un flux de travail entièrement différent.
00:05:52Hasura est excellent pour du GraphQL rapide, mais Directus va beaucoup plus loin.
00:05:58Vous obtenez des API.
00:05:59Oui, nous les avons, mais nous avons aussi l'espace admin, les permissions, les fichiers et l'automatisation.
00:06:05Et voici ce qui intéresse le plus les développeurs après l'avoir testé : les permissions.
00:06:10Je ne parle pas de simples règles ici.
00:06:12On parle d'un contrôle réel sans aucun plugin.
00:06:15Si votre problème est "j'ai besoin d'un backend", vous avez des options.
00:06:18Si votre problème est "je ne veux pas reconstruire mon backend une fois de plus", c'est différent.
00:06:23Bien sûr, aucun outil n'est parfait, mais celui-ci est vraiment pas mal.
00:06:26Qu'est-ce que j'ai trouvé de super cool ?
00:06:28Eh bien, les permissions fonctionnent tout simplement.
00:06:29C'est génial.
00:06:30Les flux éliminent beaucoup de tâches répétitives.
00:06:32L'interface était très propre et rapide, et c'est facile à déployer avec Docker.
00:06:37En plus de tout ça, il passe très bien à l'échelle.
00:06:39Mais avec tous ces points positifs, il y a forcément des inconvénients.
00:06:43Les compromis sont que les flux avancés peuvent prendre du temps, d'accord ?
00:06:46Si vous avez déjà utilisé n8n ou autre, vous comprenez.
00:06:49La documentation n'est pas toujours complète.
00:06:51Et si vous auto-hébergez, vous devez gérer l'infrastructure vous-même.
00:06:54De plus, les configurations complexes peuvent devenir désordonnées localement.
00:06:57Directus supprime simplement un type très spécifique de travail backend répétitif.
00:07:00Alors, est-ce que Directus en vaut la peine ?
00:07:02Pour beaucoup d'entre nous, probablement que oui.
00:07:03Cela dépend de ce que vous faites, surtout si vous avez déjà des données SQL, ou si vous
00:07:07êtes fatigué de reconstruire ces backends basiques sans arrêt, alors oui,
00:07:11cela apporte une réelle valeur.
00:07:13Ça gagne du temps, réduit la maintenance, et vous gardez le contrôle des données.
00:07:17Encore une fois, c'est de l'open source.
00:07:19C'est nous qui contrôlons.
00:07:20Quand ne faudrait-il pas l'utiliser ?
00:07:22Si vous êtes dans un environnement TypeScript strict, comme un énorme monorepo, sans doute pas.
00:07:26Si vous n'avez pas de base de données existante, probablement pas non plus.
00:07:29Et si vous voulez que tout soit défini en code dès le départ, alors quelque chose comme Payload
00:07:33a beaucoup plus de sens ici.
00:07:34Mais si vous vous dites : "Attends, ça peut juste se poser sur ma base de données ?"
00:07:38Oui, tout à fait.
00:07:39Alors ça vaut peut-être le coup d'essayer.
00:07:41Si vous aimez les outils open source et les astuces de code comme celle-ci, abonnez-vous à la
00:07:45chaîne Better Stack.
00:07:46On se retrouve dans une prochaine vidéo.