/foːɾʲ/Irish, verbto help

Le backend sur lequel vos agents construisent.

Contenu structuré et données applicatives, gérés ensemble. Vous définissez vos modèles ; Fóir fournit l'API, les outils d'édition, la connexion des clients et l'isolation des tenants.

Start buildingRead the docs

  1. La construction

    Votre backend commence par un seul fichier de config.

    Écrivez-le vous-même ou demandez à un agent de code de le faire. Il nomme vos modèles, leurs champs et la façon dont vos clients se connectent.

    Fóir en génère l'API.

    Les modèles, les champs, les recherches et la connexion des clients sont des lignes de config. Un seul push les transforme en API GraphQL.

  2. Console

    Votre équipe édite ensemble, dans une console construite à partir de vos modèles.

    Chaque modèle reçoit un éditeur avec des champs typés, des versions et un aperçu. Plusieurs personnes peuvent travailler dans le même enregistrement en même temps et voir les curseurs des autres.

  3. Ask Fóir

    Posez une question à Fóir sur vos données.

    L'assistant de la console compte à travers vos enregistrements, compare les étapes et vous dit ce qu'il a trouvé, avec les chiffres qu'il a utilisés.

    Demandez-lui ensuite de faire le travail.

    Il recherche, écrit et modifie des enregistrements avec les mêmes outils que vous, et ne peut rien faire que votre propre rôle ne puisse faire. Ce qu'il écrit attend sous forme de brouillon.

  4. Connexion et rôles

    La connexion est intégrée.

    Une seule connexion hébergée pour votre équipe et vos utilisateurs : passkeys, vérification en deux étapes, et connexion avec Google, Apple, Shopify ou n'importe quel fournisseur OIDC.

    Un seul ensemble d'utilisateurs, en pools, avec des rôles.

    Un pool regroupe les personnes qui peuvent se connecter à un projet ou à une organisation. Une adhésion donne un rôle à un utilisateur, et chaque rôle est construit à partir de la même liste de permissions.

  5. Enregistrements

    L'app lit avec une clé publiable.

    Elle tourne sur votre propre hébergement et demande à l'API les produits que tout le monde peut voir.

    Les clients se connectent, et un enregistrement peut appartenir à l'un d'eux.

    La connexion est hébergée par Fóir. Un modèle peut rendre chaque enregistrement privé pour le client qui en est propriétaire.

    Une écriture peut être envoyée deux fois sans risque.

    Une connexion faible pousse l'app à renvoyer la commande. Elle porte la même clé d'idempotence, si bien que Fóir répond avec le premier résultat et ne change rien.

    Personne d'autre ne peut le lire.

    Un deuxième client envoie la même requête et n'obtient rien. La règle est appliquée dans la base de données, si bien qu'une vérification oubliée ne peut pas laisser fuiter une ligne.

  6. Publication

    Le contenu s'édite de n'importe où.

    Un éditeur ajoute une image depuis un téléphone. Elle est enregistrée comme brouillon, de sorte que l'app affiche toujours la page publiée.

    Publiez, et l'app l'a.

    Le contenu est résolu à chaque requête, la lecture suivante renvoie donc la nouvelle version. Rien n'est reconstruit ni redéployé.

  7. Personnalisation

    Fóir décide quelle version chaque visiteur reçoit.

    Un site web, une app et un agent envoient la même lecture. Un visiteur qu'aucune règle ne retient reçoit la version par défaut.

    Il détermine qui demande.

    La localisation vient de la requête et les segments du profil du client, sur le serveur. Celui-ci a dépensé plus de £1,000, l'entrée VIP est donc servie.

    Les règles se combinent, et la priorité tranche.

    Ce visiteur est à Paris et a déjà acheté des chaussures de course. Trois entrées correspondent, et c'est la première d'entre elles qui est servie.

    Une variante peut changer un champ et laisser le reste.

    Elle peut remplacer un enregistrement entier, ou remplacer un seul champ ou un seul paragraphe. Les éditeurs rédigent chaque version dans le même éditeur et la prévisualisent comme l'audience à laquelle elle est destinée.

    Un visiteur ne peut pas se faire passer pour quelqu'un d'autre.

    La localisation et les segments ne sont jamais pris auprès de l'appelant. Modifier la requête ne change rien, et la version par défaut revient.

  8. Déploiements

    Planifiez une campagne et livrez-la d'un seul bloc.

    Un déploiement publie un ensemble d'enregistrements ensemble à l'heure que vous choisissez. Mettez-le en pause, relancez ce qui a échoué, ou annulez le tout.

  9. Clés

    Chaque clé ne voit que l'API qui lui a été accordée.

    Une mutation qu'une clé ne peut pas exécuter est absente du schéma qui lui est remis, de sorte qu'une clé divulguée n'a rien à découvrir.

  10. Organisations

    Transformez l'app que vous avez construite en SaaS.

    Un deuxième client veut ce que vous avez construit pour le premier. Ajoutez-le comme organisation : les mêmes modèles et le même code, avec ses propres données, ses propres membres et sa propre connexion.

    Aucun client ne peut lire les données d'un autre.

    L'identifiant fixe la frontière avant qu'une requête n'atteigne une ligne, et la règle s'exécute comme sécurité au niveau des lignes dans la base de données. Une vérification que vous avez oubliée ne peut pas laisser fuiter.

  11. Paywall

    Ajoutez un paywall à votre app.

    Donnez à une opération un quota par utilisateur ou par organisation. Quand quelqu'un l'atteint, il peut payer, via Stripe sur le web ou via un app store sur un téléphone, et son abonnement relève la limite. L'argent va directement sur votre propre compte.

  12. Opérations

    Votre logique s'exécute dans du code qui vous appartient.

    Décrivez ce dont vous avez besoin et Fóir rédige le contrat, puis remet à votre agent de code un prompt. L'agent l'écrit et le déploie sur votre hébergement. Fóir ne détient jamais votre code.

    Chaque appel arrive signé et délimité.

    Fóir détermine qui appelle et ce que l'opération peut toucher, et l'envoie avec l'appel. Son client typé transforme tout ce qui sort des octrois en erreur de compilation. Chaque exécution est enregistrée, et une relance porte la même clé d'idempotence pour que rien ne se produise deux fois.

  13. Secrets

    Les secrets restent dans le coffre.

    Votre code détient une référence et jamais la clé. Fóir la renseigne quand il appelle votre fonction, uniquement pour le projet auquel l'appel appartient, et journalise chaque lecture.

    Quand un agent a besoin d'une clé, il la demande à une personne.

    L'agent dépose une tâche dans Work et attend. Quelqu'un ajoute la clé depuis son téléphone, elle va directement dans le coffre, et l'agent poursuit avec une référence qu'il peut utiliser et une valeur qu'il ne voit jamais.

  14. Hooks

    Réagissez quand quelque chose se produit.

    Un hook exécute une opération quand un enregistrement est créé, modifié ou publié, ou quand une autre opération se termine. La livraison est garantie au moins une fois, et toute livraison peut être renvoyée.

  15. Notifications

    Prévenez vos clients à l'instant où quelque chose change.

    Une notification part en push et arrive dans la boîte de réception propre à l'app. Chaque client choisit les catégories dont il veut entendre parler, et Fóir respecte ce choix.

  16. E-mail

    Un e-mail qui lit vos données.

    Un modèle se remplit à partir de vos enregistrements au moment de l'envoi. Envoyez-le à propos d'un enregistrement ou à tout un segment, selon une planification, avec le consentement appliqué et les ouvertures suivies.

  17. Médias

    Téléversez une image une fois. Chaque écran reçoit la sienne.

    Un champ image renvoie du WebP et de l'AVIF dans les tailles qu'un écran demande, avec un blurhash à afficher pendant le chargement de l'image.

  18. Recherche

    Recherchez par le sens, dans ce que l'appelant peut lire.

    Les enregistrements sont vectorisés au moment où ils sont écrits. Une question trouve la correspondance la plus proche, et un enregistrement privé n'apparaît jamais pour quelqu'un d'autre.

  19. À proximité

    Trouvez ce qui est à proximité.

    Un champ de point géographique rend les enregistrements consultables par distance, de sorte qu'une app peut demander ce qui se trouve à moins de deux kilomètres de l'endroit où se tient quelqu'un.

  20. Travail

    Une note sur votre site en ligne devient une tâche.

    Toute personne que vous autorisez peut laisser une note sur une page. Elle est ancrée à l'enregistrement derrière la page, et arrive donc dans Work avec le bon élément attaché.

    Les personnes et les agents décident de ce qui part en ligne, au même endroit.

    Assignez la tâche à un collègue ou confiez-la à Fóir. L'agent écrit des brouillons librement, et rien ne passe en ligne tant qu'une personne n'a pas approuvé la publication.

  21. Agents

    Confiez une mission permanente à un agent.

    Un agent de longue durée surveille ce qui se passe et maintient votre contenu à jour via MCP. Sa clé borne ce qu'il peut modifier, il agit donc seul à l'intérieur de ces limites.

  22. Votre app dans la console

    L'administration propre à votre app, dans la console.

    Une app déclare une page et les permissions exactes avec lesquelles elle agit. La console l'affiche dans sa navigation et lui remet un jeton, de sorte qu'aucun mot de passe ni cookie ne passe de l'un à l'autre.

  23. Intégrations

    Connectez les systèmes que vous exploitez déjà.

    Une app d'intégration fait correspondre les champs d'un autre système à vos modèles et garde les enregistrements synchronisés. Un changement là-bas met à jour le même enregistrement ici.

  24. Export

    Vos données vous appartiennent, emportez-les.

    Une seule commande exporte chaque enregistrement vers une base Postgres qui vous appartient.

  25. Commencer

    Créez un projet et définissez vos modèles.

    Le reste est déjà là.