Skip to main content

Gestion des Bases de Données

Softyflow fournit deux approches principales pour la gestion des données : Bases de données SQL via Sources de Données Externes (EDS) et Collections MongoDB. Ce guide couvre les deux approches avec des exemples d'utilisation pratiques.

Avant de vous plonger dans l'intégration des bases de données, assurez-vous d'avoir complété la configuration de votre projet et de comprendre comment utiliser les bases de données dans vos interfaces web et processus.

1. Aperçu

1.1. SQL via EDS (Sources de Données Externes)

La fonctionnalité Sources de Données Externes (EDS) de Softyflow vous permet de connecter vos applications à des bases de données d'entreprise existantes. Elle supporte un large éventail de bases de données SQL, y compris MySQL, PostgreSQL, Oracle, SQL Server et Snowflake, ainsi que des APIs externes. Cela permet une intégration transparente avec votre infrastructure de données existante, ce qui en fait un outil puissant pour les applications au niveau de l'entreprise. Pour un examen plus approfondi, vous pouvez explorer la documentation intégration EDS.

La page Sources de Données Externes (EDS) sert de hub central pour gérer tous vos connexions de données externes. Elle offre une vue consolidée de chaque source de données configurée, des bases de données SQL traditionnelles aux APIs modernes, simplifiant la gestion des données dans vos projets.

Page de gestion des Sources de Données Externes (EDS) dans Softyflow

La page de gestion EDS affichant une liste des bases de données et APIs configurées.

À partir de cette interface, vous pouvez effectuer plusieurs actions clés :

  • Afficher toutes les Sources de Données : La liste principale affiche le Nom et le Type (par exemple, PostgreSQL, MySQL, api) de chaque EDS configurée, vous donnant une vue claire de vos connexions.
  • Créer une Nouvelle EDS : Le bouton "+ Créer EDS" ouvre un assistant pour vous guider dans la connexion à une nouvelle source de données externe.
  • Gérer les EDS Existantes : Chaque source de données dans la liste est associée à des options pour modifier, tester ou supprimer la connexion.

La capture d'écran ci-dessus illustre une variété de sources de données configurées. Par exemple, "Test Mysql" est une EDS pour une base de données MySQL, tandis que "Google Calendar API" est une intégration avec une api web. Cela met en évidence la flexibilité de Softyflow, vous permettant de construire des applications qui consolident des données provenant de systèmes divers, comme des bases de données internes et des services web tiers.

1.2. Collections MongoDB

Pour les projets qui nécessitent de la flexibilité et de la vitesse, Softyflow inclut une base de données MongoDB intégrée. Cette option NoSQL est idéale pour le prototypage rapide, le stockage de données spécifiques à l'application et la gestion de données avec des schémas évolutifs ou semi-structurés. Elle vous permet de commencer rapidement sans les frais généraux de configuration d'une base de données externe.

La page Bases de Données Internes (Collections) est votre centre de commande pour gérer ces collections MongoDB. Elle fournit une interface conviviale pour superviser, créer et gérer toutes les données NoSQL de votre projet.

Page de gestion des Collections MongoDB dans Softyflow

La page des Collections affichant une liste des bases de données MongoDB internes.

À partir de cette page centralisée, vous pouvez effectuer plusieurs actions essentielles :

  • Afficher les Collections : La liste principale affiche toutes les collections disponibles, montrant leur Nom et le Projet auquel elles appartiennent. Dans l'exemple ci-dessus, vous pouvez voir une collection nommée clients_db associée au projet "Gestion Des Factures - groupeg2c".
  • Créer une Nouvelle Collection : Le bouton "+ Créer une Collection" dans le coin supérieur droit vous permet d'ajouter instantanément une nouvelle collection pour stocker les données de votre application.
  • Rechercher et Filtrer : La barre de Recherche fournit un moyen rapide de trouver une collection spécifique par son nom, ce qui est particulièrement utile dans les projets avec plusieurs collections.
  • Naviguer : Si vous avez un grand nombre de collections, les contrôles de pagination au bas de la liste facilitent leur parcours.

2. SQL via EDS

2.1. Configuration Rapide

La connexion à une base de données SQL externe est simple. La page "Ajouter des Sources de Données Externes (EDS)" fournit un formulaire complet pour définir tous les paramètres nécessaires pour que Softyflow établisse une connexion. L'exemple ci-dessous montre la configuration d'une base de données MySQL.

Configuration d'une nouvelle connexion MySQL dans EDS Softyflow

Configuration des détails de connexion pour une nouvelle source de données MySQL.

Comme illustré dans l'image, une nouvelle source de données nommée "Test Mysql" est en cours de configuration. Une caractéristique clé de Softyflow est la capacité à définir des paramètres de connexion distincts pour différents environnements (TEST, UAT, PROD). Ici, les détails de l'environnement TEST, comme le host (55.71.246.43) et la database (softyflow_test), sont entrés. Cette pratique est cruciale pour un cycle de vie de développement sécurisé, car elle isole les activités de développement et de test des données de production en direct.

Les champs de configuration clés incluent :

  • Nom et Type EDS : Assignez un Nom descriptif à votre connexion pour une identification facile. Sélectionnez le Type EDS approprié dans le menu déroulant (par exemple, MySQL, PostgreSQL, Oracle).
  • Onglets Environnement (TEST, UAT, PROD) : La configuration spécifique à l'environnement de Softyflow vous permet de gérer les connexions de base de données pour chaque étape du cycle de vie de votre application. Cela garantit que vous vous connectez toujours à la base de données appropriée—une base de données de test lors du développement, une base de données d'intermédiaire pour les tests d'acceptation des utilisateurs, et votre base de données de production pour l'application en direct.
  • Détails de Connexion : Ce sont les paramètres standard requis pour se connecter à une base de données, y compris le host (adresse du serveur), user, password et le nom de la database.

2.2. Cas d'Utilisation Courants

Les bases de données SQL sont l'épine dorsale de nombreux systèmes d'entreprise, et l'utilisation d'EDS pour s'y connecter ouvre un large éventail de possibilités :

  • Intégration d'Entreprise : Connectez vos applications Softyflow de manière transparente aux systèmes d'entreprise existants comme Customer Relationship Management (CRM), Enterprise Resource Planning (ERP) ou d'autres plates-formes héritées. Cela vous permet de construire des interfaces et des processus modernes qui exploitent vos données existantes. Pour plus d'informations, consultez nos fonctionnalités d'intégration.
  • Entreposage de Données et Analytique : Accédez et traitez de grands volumes de données à partir de plates-formes analytiques comme Snowflake ou Google BigQuery. Cela vous permet de construire des rapports sophistiqués et des tableaux de bord pilotés par les données directement dans Softyflow.
  • Synchronisation de Données Inter-Systèmes : Créez des flux de travail qui synchronisent les données entre plusieurs systèmes métier. Par exemple, vous pouvez construire un processus qui met à jour votre CRM chaque fois qu'une nouvelle entrée est faite dans un système de facturation séparé, garantissant la cohérence des données dans l'entreprise.

3. MongoDB Collections

3.1. Configuration Rapide

La création et la gestion d'une collection MongoDB dans Softyflow est conçue pour être rapide et intuitive. Les collections peuvent être créées directement depuis l'IDE Softyflow, et leur nature sans schéma fournit la flexibilité nécessaire pour le développement d'applications modernes.

Une fois qu'une collection est créée, sa page de gestion, comme illustré ci-dessous pour "demo_collection", devient le hub central pour contrôler ses données, environnements et sécurité.

Page de gestion d'une collection MongoDB

La page de gestion de la collection MongoDB "demo_collection".

Cette page offre un ensemble complet d'outils :

  • Gestion des Environnements : Softyflow organise vos données dans les environnements PROD, UAT et TEST. Cela vous permet de gérer les données pour chaque étape de votre cycle de vie de développement séparément. Vous pouvez rapidement voir le nombre de documents (Count) et la taille totale (Size) pour chaque environnement.
  • Opérations sur les Données : Une suite de boutons pour chaque environnement vous permet d'effectuer des opérations de données essentielles, y compris la visualisation, le téléchargement, le chargement et la suppression de données. Le bouton Migrer est une fonctionnalité puissante pour promouvoir les données d'un environnement à un autre (par exemple, de TEST à UAT).
  • Droits d'Accès : La sécurité est gérée au niveau de la collection. La section inférieure de la page est dédiée à la définition des permissions basées sur les rôles. Vous pouvez spécifier quel Rôle a les droits de Création, Lecture, Mise à jour et Suppression (CRUD). L'exemple montre le rôle "Everybody" avec toutes les permissions CRUD, ce qui pourrait convenir pour des données publiques. Cependant, pour la plupart des applications, vous voudrez configurer des rôles plus granulaires et restrictifs pour garantir la sécurité des données.

3.2. Cas d'Utilisation Courants

La flexibilité des collections MongoDB les rend adaptées à une grande variété d'applications :

  • Prototypage et Développement Rapides : Lorsque vous devez mettre en place une application rapidement, les collections offrent une solution de stockage de données rapide sans avoir besoin d'une configuration de base de données formelle ou de conception de schéma.
  • Paramètres d'Application et Préférences Utilisateur : Les collections sont parfaites pour stocker des données de configuration, des paramètres spécifiques à l'utilisateur et des informations de personnalisation, car la structure peut facilement s'adapter à de nouvelles options.
  • Données Temporaires et de Session : Elles constituent un excellent choix pour stocker des données transitoires telles que les informations de session utilisateur, les journaux ou les résultats de calculs temporaires.
  • Schémas de Données Flexibles ou Évolutifs : Si votre structure de données est susceptible de changer au fil du temps ou si différents documents doivent avoir des champs différents, la nature sans schéma de MongoDB est un avantage significatif.

4. Utilisation dans les Widgets

L'une des fonctionnalités les plus puissantes de Softyflow est la capacité d'intégrer vos bases de données directement avec les widgets d'interface web. Cela vous permet de construire des interfaces utilisateur dynamiques et pilotées par les données avec facilité.

Dans le Concepteur d'Interface de Softyflow, vous pouvez connecter des widgets tels que les listes déroulantes et les tableaux à vos sources de données. L'image ci-dessous fournit un aperçu général d'un widget "Select" (liste déroulante) configuré pour récupérer ses options à partir d'une base de données externe.

Connexion d'un widget Select à une source de données EDS dans le Concepteur d'Interface.

Configuration d'une liste déroulante "Catégorie" pour être remplie à partir de l'EDS "Test Mysql".

Dans cet exemple, le panneau de configuration à droite montre que la Source de Données du widget est définie sur "EDS", et la Base de données spécifique est "Test Mysql". Cette configuration simple signifie que les options disponibles dans la liste déroulante seront dynamiquement remplies à partir de votre base de données MySQL, créant une expérience utilisateur interactive et riche en données.

4.1. Widgets Dropdown/Select

Les widgets Select sont couramment utilisés pour présenter aux utilisateurs une liste de choix. Remplir ces choix à partir d'une base de données est une exigence fréquente.

4.1.1. SQL via EDS

Lors de l'utilisation d'une base de données SQL, vous pouvez configurer le widget Select pour récupérer les données à l'aide d'une requête.

Configuration de la source de données pour un widget Select utilisant EDS.

Configuration EDS détaillée pour un widget Select.

La configuration implique quelques étapes clés :

  • Source de Données : Définissez cela sur EDS.
  • Base de données : Choisissez la connexion EDS spécifique, telle que Test Mysql.
  • Label et Value : Spécifiez quelles colonnes de votre base de données serviront de texte d'affichage (Label) et d'identifiant sous-jacent (Value) pour chaque option. Par exemple, vous pourriez utiliser une colonne nom_produit pour le Label et une colonne id_produit pour le Value.
  • Source EDS : Cliquer sur le bouton Modifier ouvre un éditeur de requêtes, où vous pouvez écrire la requête SQL pour récupérer les données.

Vous pouvez également écrire des requêtes dynamiques qui changent en fonction d'autres données de votre application.

Éditeur de requête SQL avec une variable dynamique.

Une requête SQL dynamique utilisant la variable `audit_type`.

La requête affichée ci-dessus, "SELECT * FROM planification where audit_type = " + {{audit_type}}, est un exemple puissant de filtrage dynamique. La syntaxe {{audit_type}} vous permet d'intégrer la valeur d'une variable du modèle de données de votre application directement dans la requête SQL. Si un utilisateur fait une sélection dans une autre partie du formulaire qui met à jour la variable audit_type, cette liste déroulante se rafraîchira automatiquement pour afficher une liste d'options filtrée. Il s'agit d'une technique clé pour construire des formulaires interactifs et réactifs.

4.1.2. MongoDB Collections

Connecter un widget Select à une collection MongoDB est tout aussi facile.

Configuration de la source de données pour un widget Select utilisant une Collection MongoDB.

Remplissage d'une liste déroulante à partir de la "demo_collection".

Les options de configuration sont adaptées pour MongoDB :

  • Source de Données : Définir sur Collection.
  • Collection : Sélectionnez la collection MongoDB souhaitée (par exemple, demo_collection).
  • Label et Value : Mappez-les aux champs de vos documents MongoDB. Par exemple, Label pourrait être nom_categorie et Value pourrait être le _id du document.
  • Query, Sort By et Limit : Ces champs vous donnent un contrôle précis. Vous pouvez Trier les options (par exemple, par createdAt en ordre décroissant : -1), Limiter le nombre de résultats et ouvrir l'éditeur de Requête pour filtrer les documents.

Pour des scénarios plus complexes, vous pouvez utiliser un pipeline d'agrégation MongoDB pour transformer les données avant qu'elles ne soient affichées.

Éditeur de pipeline d'agrégation MongoDB.

Un pipeline d'agrégation pour filtrer et remodeler les données pour une liste déroulante.

Le pipeline affiché ci-dessus effectue trois étapes :

  1. $match : Filtre les documents, ne sélectionnant que ceux où le societe_id correspond à la valeur dynamique de {{societe_label}}.
  2. $project : Remodèle les documents pour créer un champ label et value, qui sont requis par le widget Select. Cela est utile pour adapter votre structure de données existante aux besoins du widget.
  3. $sort : Ordonne les résultats finaux par le champ label.

4.2. Widgets Table

Les widgets Table sont idéaux pour afficher une grande quantité de données dans un format structuré.

4.2.1. SQL via EDS

Connecter un widget Table à une base de données SQL est similaire à la connexion d'un widget Select. Vous définissez la source de données, choisissez la base de données et écrivez une requête pour récupérer les données. La configuration vous permet également de définir le tri et les limites.

Configuration de la source de données pour un widget Table utilisant EDS.

Configuration d'un widget Table pour afficher les données de l'EDS "Test Mysql".

4.2.2. MongoDB Collections

De même, vous pouvez remplir un widget Table à partir d'une collection MongoDB. L'interface utilisateur fournit des options pour sélectionner la collection, définir le tri et limiter le nombre d'enregistrements par page.

Configuration du widget Table utilisant une Collection MongoDB.

Configuration d'un widget Table avec des données provenant d'une collection MongoDB.

Les champs de configuration clés pour un tableau basé sur une collection incluent :

  • Source de données : Sélectionnez Collection pour utiliser une collection MongoDB.
  • Collection : Spécifiez la collection que vous souhaitez afficher.
  • Sort By : Définissez l'ordre de tri. Dans l'exemple, createdAt: -1 trie les données pour afficher les éléments les plus récents en premier.
  • Query : Le bouton Modifier ouvre l'éditeur de requêtes, vous permettant de filtrer les données affichées dans le tableau (par exemple, afficher uniquement les enregistrements avec un statut 'actif').
  • Limit : Cela définit le nombre d'enregistrements par page, permettant la pagination.

4.3. Filtrage Avancé

4.3.1. Filtres Dynamiques (SQL)

Pour une sécurité et une personnalisation plus avancées, vous pouvez construire des requêtes SQL qui changent dynamiquement en fonction du rôle de l'utilisateur ou d'un autre contexte.

Requête SQL avancée avec filtrage conditionnel basé sur le rôle de l'utilisateur.

Une requête SQL dynamique utilisant un opérateur ternaire pour le filtrage basé sur les rôles.

Le code JavaScript dans l'éditeur construit une requête SQL dynamique :

  • Il commence par une instruction SELECT de base.
  • Il utilise ensuite un opérateur ternaire (? :) pour vérifier si les rôles de l'utilisateur actuel (SF_connectedUser.roles) incluent un ID de rôle spécifique.
  • Si l'utilisateur a le rôle requis, une clause WHERE supplémentaire (and region = '"+code_region+"') est ajoutée à la requête, restreignant les données qu'il peut voir.
  • Sinon, la requête reste plus simple.

Il s'agit d'une technique puissante pour implémenter la sécurité des données et créer des applications sensibles au contexte où les utilisateurs ne voient que les données pertinentes pour eux.

4.3.2. Filtres de Requête MongoDB

Le même filtrage dynamique peut être réalisé avec les requêtes MongoDB. L'éditeur de requêtes vous permet d'utiliser la syntaxe {{variable}} pour construire des filtres qui répondent aux entrées de l'utilisateur ou à l'état de l'application.

Éditeur de requête MongoDB avec une variable dynamique.

Une requête MongoDB dynamique utilisant la variable.

5. Utilisation dans les Actions

Au-delà du remplissage des widgets, les bases de données sont centrales pour effectuer des opérations au sein de votre application. Les actions d'interface web et le concepteur de processus de Softyflow vous permettent de créer des flux de travail automatisés puissants pour gérer les données.

5.1. Soumission de Formulaire

Un cas d'utilisation principal pour les actions est la gestion des soumissions de formulaires, où les données saisies par l'utilisateur sont enregistrées dans une base de données.

5.1.1. SQL via EDS

L'action "Insert in EDS" vous permet d'enregistrer les données de formulaire dans une base de données SQL.

Configuration d'une action 'Insert in EDS' pour la soumission de formulaire.

Utilisation de l'action "Insert in EDS" pour enregistrer les données de formulaire dans une table MySQL.

Lorsqu'un utilisateur soumet un formulaire, vous pouvez déclencher un flux de travail qui :

  1. Valide les données : S'assure que tous les champs requis sont correctement remplis.
  2. Exécute l'action "Insert in EDS" : Cette action mappe les variables de votre formulaire (par exemple, {{variable1}}, {{variable2}}) aux colonnes correspondantes dans votre table SQL (par exemple, dans la base de données "Test Mysql").
  3. Fournit un Retour : Après l'enregistrement des données, vous pouvez afficher un message de confirmation à l'utilisateur ou le diriger vers une autre page.

5.1.2. MongoDB Collections

De même, l'action "Save in collection" est utilisée pour enregistrer les données de formulaire dans une collection MongoDB.

Configuration d'une action 'Save in collection' pour la soumission de formulaire.

Utilisation de l'action "Save in collection" pour insérer un document dans "demo_collection".

La configuration de cette action est simple :

  1. Sélectionner la Collection : Choisissez la collection cible, telle que demo_collection.
  2. Mapper les Données : L'action mappe automatiquement le modèle de données de votre formulaire à un nouveau document dans la collection.
  3. Définir les Actions Suivantes : Après l'enregistrement, vous pouvez ajouter d'autres actions, telles que le rafraîchissement d'un widget de tableau pour afficher les données nouvellement ajoutées, offrant une expérience transparente pour l'utilisateur.

5.2. Chargement et Traitement des Données

5.2.1. Agrégation MongoDB

Pour des besoins de récupération de données plus complexes, Softyflow fournit l'action "Aggregate collection". Cela vous permet d'exécuter un pipeline d'agrégation MongoDB complet.

Configuration de l'action d'Agrégation MongoDB.

Configuration d'une action "Aggregate collection".

Cette action est incroyablement polyvalente et peut être utilisée pour :

  • Effectuer des calculs sur plusieurs documents.
  • Regrouper les données pour générer des résumés ou des rapports.
  • Filtrer et remodeler les données avant qu'elles ne soient affichées dans un widget ou transmises à une autre action.

Le résultat de l'agrégation peut être stocké dans une variable pour une utilisation ultérieure.

5.3. Opérations de Mise à Jour

La mise à jour des données existantes est une autre opération de base de données fondamentale gérée par les actions.

5.3.1. Mise à Jour en SQL

L'action "Update in EDS" est l'équivalent d'une instruction SQL UPDATE. Elle est utilisée pour modifier un ou plusieurs enregistrements existants dans votre base de données SQL.

Configuration de l'action de Mise à Jour SQL.

Configuration d'une action "Update in EDS" pour modifier les enregistrements.

Vous utilisez généralement cette action après qu'un utilisateur a modifié un formulaire. Vous spécifiez la clause WHERE pour identifier le(s) enregistrement(s) à mettre à jour et mappez les nouvelles valeurs de vos variables de formulaire aux colonnes de la table.

5.3.2. Mise à Jour MongoDB

Pour MongoDB, l'action "Update in collection" vous permet de modifier un seul document.

Configuration de l'action de Mise à Jour MongoDB.

Configuration d'une action "Update in collection".

Pour utiliser cette action, vous fournissez l'ID du document que vous souhaitez mettre à jour et les nouvelles données que vous souhaitez définir. Cela est essentiel pour enregistrer les modifications apportées à un enregistrement existant qu'un utilisateur a modifié dans un formulaire d'édition.

6. Remplir les Formulaires avec les Données de la Base de Données

Une exigence courante pour les formulaires est de les pré-remplir avec des données existantes de la base de données, en particulier pour l'édition d'enregistrements. Softyflow fournit des actions dédiées à cet effet.

6.1. Remplir à partir de SQL via EDS

L'action "Find many in EDS" est un outil polyvalent pour récupérer plusieurs enregistrements d'une base de données SQL en fonction de critères spécifiques.

Configuration de l'action 'Find many in EDS'.

Utilisation de "Find many in EDS" pour rechercher des enregistrements.

Bien que cette action soit parfaite pour remplir des tableaux, elle peut également être utilisée pour trouver un enregistrement spécifique (ou un ensemble d'enregistrements) pour remplir un formulaire. Par exemple, vous pourriez l'utiliser pour trouver toutes les personnes de contact associées à un client particulier et les afficher dans une liste. Les résultats de l'action sont stockés dans une variable, que vous pouvez ensuite utiliser pour remplir les champs de votre formulaire.

6.2. Remplir à partir d'une MongoDB Collection

L'action "Get document" est spécifiquement conçue pour récupérer un seul document d'une collection MongoDB par son ID et remplir un formulaire avec ses données.

Configuration de l'action 'Get document'.

Utilisation de "Get document" pour remplir un formulaire avec des données d'un document MongoDB.

Cette action est fondamentale pour construire des formulaires "d'édition". Le flux de travail typique est :

  1. Un utilisateur sélectionne un élément dans une liste ou un tableau.
  2. L'ID de l'élément sélectionné est transmis à l'action "Get document".
  3. L'action récupère le document complet de la collection MongoDB.
  4. Les champs du document sont automatiquement mappés aux champs correspondants dans le modèle de données de votre formulaire, pré-remplissant le formulaire pour que l'utilisateur puisse le modifier.

7. Meilleures Pratiques

Choisir la bonne technologie de base de données est crucial pour le succès de votre projet. Voici quelques directives pour vous aider à choisir entre SQL EDS et les Collections MongoDB.

7.1. Quand Utiliser SQL via EDS

Les bases de données SQL sont le bon choix lorsque votre projet implique des données structurées et nécessite des fonctionnalités robustes de niveau entreprise.

Utiliser pour :

  • Systèmes d'Entreprise Existants : Intégration avec des systèmes établis comme les ERP, CRM ou autres bases de données héritées.
  • Rapports et Analytique Complexes : Lorsque vous devez effectuer des requêtes complexes, des jointures et des agrégations pour l'intelligence d'affaires.
  • Grands Ensembles de Données Relationnelles : Pour les applications qui gèrent de grands volumes de données avec des relations claires et prédéfinies.
  • Cohérence et Intégrité des Données : Lorsque la cohérence stricte des données et la conformité ACID sont non négociables.
  • Conformité Réglementaire : Pour les projets qui doivent respecter des normes strictes de gouvernance des données et réglementaires.

7.2. Quand Utiliser les MongoDB Collections

Les collections MongoDB offrent rapidité et flexibilité, ce qui les rend idéales pour le développement agile moderne.

Utiliser pour :

  • Développement Rapide d'Applications : Construire et itérer rapidement sur des prototypes et des MVP sans être ralenti par les migrations de schéma.
  • Données Flexibles et Évolutives : Pour les applications où le modèle de données devrait changer ou où les documents ont des structures variables.
  • Données Spécifiques à l'Application : Stockage de configurations, de préférences utilisateur ou d'autres données étroitement liées à la logique de l'application.
  • Données Temporaires ou de Cache : Gestion des données de session, des journaux ou du contenu en cache qui est de nature transitoire.
  • Gestion de Contenu : Gestion de contenu non structuré ou semi-structuré comme des articles, des catalogues de produits ou du contenu généré par les utilisateurs.

8. Considérations de Sécurité

La sécurité des bases de données est primordiale. Voici les pratiques de sécurité clés pour les bases de données SQL et MongoDB dans Softyflow.

8.1. Sécurité SQL

  • Prévenir l'Injection SQL : Utilisez toujours des requêtes paramétrées ou des instructions préparées, en particulier lors de l'intégration d'entrées utilisateur dans vos requêtes. Les fonctionnalités de requêtes dynamiques de Softyflow ({{variable}}) aident à atténuer ce risque.
  • Appliquer le Principe du Moindre Privilège : Utilisez le contrôle d'accès basé sur les rôles (RBAC) dans votre base de données pour garantir que les utilisateurs de l'application ne peuvent accéder qu'aux données qu'ils sont autorisés à voir.
  • Chiffrer les Données Sensibles : Protégez les données sensibles à la fois en transit (en utilisant SSL/TLS pour la connexion) et au repos (en utilisant le chiffrement au niveau de la base de données).
  • Effectuer des Audits Réguliers : Examinez régulièrement les journaux de la base de données et les permissions des utilisateurs pour détecter et traiter les vulnérabilités de sécurité potentielles.

8.2. Sécurité MongoDB

  • Validation de Schéma et d'Entrée : Même si MongoDB est sans schéma, votre application doit appliquer une couche de validation de données stricte pour empêcher l'enregistrement de données mal formées ou malveillantes.
  • Utiliser les Permissions au Niveau des Champs : Configurez des rôles qui n'ont la permission d'accéder qu'aux champs spécifiques dont ils ont besoin, plutôt qu'à l'ensemble du document.
  • Implémenter la Désinfection des Données : Désinfectez toute entrée fournie par l'utilisateur qui est utilisée dans les requêtes pour prévenir les attaques par injection NoSQL.
  • Établir des Plans de Sauvegarde et de Récupération : Sauvegardez régulièrement vos collections et testez vos procédures de récupération pour prévenir la perte de données en cas d'incident.

9. Migration Entre les Systèmes

Les flux de travail basés sur les actions de Softyflow permettent d'automatiser la migration de données entre différents systèmes de bases de données.

9.1. De MongoDB à SQL

Vous pouvez créer un processus Softyflow pour lire les données d'une collection MongoDB et les écrire dans une base de données SQL. Cela est utile pour déplacer les données d'un environnement de prototypage flexible vers une base de données de production structurée.

L'image ci-dessous montre une séquence d'actions qui automatise cette migration :

Une séquence d'actions dans Softyflow pour migrer les données de MongoDB vers SQL.

Un processus Softyflow pour migrer les données de MongoDB vers une base de données SQL.

Ce processus se compose de trois étapes principales :

  1. Get Collection : L'action getCollection récupère tous les documents de la demo_collection dans MongoDB.
  2. Set Variable : Les données sont stockées dans une variable, telle que exportedData. Dans un scénario réel, vous pourriez ajouter un script ici pour transformer les données afin qu'elles correspondent au schéma SQL.
  3. Insert in EDS : L'action insert in EDS itère à travers les exportedData et insère chaque enregistrement dans la table customers de la base de données "Test Mysql", en mappant les champs selon les besoins.

Ce type de flux de travail automatisé est un exemple puissant de la façon dont Softyflow peut orchestrer des opérations de données complexes entre des systèmes disparates.

Cette documentation fournit des exemples pratiques pour l'utilisation de SQL et MongoDB dans les applications Softyflow. Choisissez la méthode de stockage de données appropriée en fonction de vos exigences spécifiques et de votre infrastructure existante.


Prochaines Étapes

Maintenant que vous comprenez l'intégration des bases de données, continuez à construire votre application :

Pour une expérience pratique, essayez nos tutoriels pas à pas ou regardez nos tutoriels vidéo sur les bases de données.

Pour les fonctionnalités avancées des bases de données, explorez notre documentation EDS, intégration MongoDB, et apprenez à utiliser les bases de données dans les widgets Select et les widgets Table.