Retour a la doc Collections
Live

Collections

La couche builder de Freelance OS. Tu définis un type de contenu, tu lui donnes un schéma, tu remplis des entrées. Le site public les affiche en listes et en pages de détail. Avec comptes end-users et abonnements Stripe par-dessus.

Vue d'ensemble

Une Collection est un type de contenu que tu définis toi-même dans ton workspace. Un article, un bien immobilier, un membre d'annuaire, un produit, une offre d'emploi, ce que tu veux. Tu lui donnes un schéma (une liste de champs typés), puis tu stockes des entrées. C'est la primitive qui transforme Freelance OS en builder d'app, pas juste en outil de contenu figé.

Le schéma couvre 20 types de champs: texte, texte long, rich text, nombre, booléen, date, date et heure, url, email, téléphone, image, galerie d'images, sélection, multi-sélection, couleur, devise, pourcentage, référence vers une autre collection, lookup (suit une référence et affiche un champ de l'entrée liée) et rollup (agrège les entrées d'une autre collection qui pointent vers celle-ci). Chaque champ peut être requis, servir de titre, porter une liste d'options, et être traduit par locale.

Par-dessus la donnée, une couche d'accès. Une collection peut accepter des soumissions publiques depuis un formulaire du site. Elle peut être owner-scoped: chaque entrée est privée pour l'end-user qui l'a créée, avec email vérifié en option. Et le workspace peut vendre l'accès: tu crées des plans, tu fixes un prix Stripe, les end-users s'abonnent, tu suis le MRR par devise dans un tableau de bord dédié.

Ce que le module fait

Schéma et types de champs

Tu construis le schéma dans l'éditeur de champs. Chaque champ a une clé, un label, un type, un ordre, une contrainte requis, et une config (aide, placeholder, min/max). Un champ est marqué comme titre: il sert de H1 sur la page de détail, de nom sur les cartes de liste, et de base pour le SEO.

  • Référence: un champ qui pointe vers une entrée d'une autre collection
  • Lookup: affiche un champ de l'entrée référencée, sans stocker de valeur
  • Rollup: compte, somme, moyenne, min ou max sur les entrées liées
  • Multi-sélection, devise, pourcentage, galerie d'images, couleur, téléphone

Entrées et statut

Chaque entrée (record) a un statut: brouillon, publié, archivé. Seules les entrées publiées sortent sur le site public. Tu édites en grille ou en formulaire, tu réordonnes, tu dupliques, tu supprimes en masse. Chaque entrée garde son historique de versions: tu peux relire une version passée et la restaurer.

Traduction par locale

Une entrée porte une donnée par défaut plus des surcharges par locale (data_i18n). Les champs traduisibles (texte, texte long, rich text, url, email) peuvent avoir une valeur différente par langue. Le rendu public choisit la bonne locale et retombe sur la valeur par défaut si la traduction manque.

Soumissions publiques et comptes end-users

Une collection peut accepter des entrées créées depuis un formulaire du site, avec un statut forcé (brouillon ou publié). En mode owner-scoped, chaque end-user ne voit que ses propres entrées, et tu peux exiger un email vérifié. L'annuaire des end-users est géré depuis l'admin: liste, comptage par utilisateur, export CSV, renvoi de l'email de vérification, retrait d'un compte.

Plans et abonnements

Le workspace peut vendre l'accès à son app. Tu crées des plans avec un prix mensuel ou annuel, dans la devise de ton choix. Le prix Stripe est immuable: changer le montant crée un nouveau prix et y branche le plan, les abonnements en cours gardent leur tarif d'origine. Les end-users passent au checkout via Stripe Connect, se désabonnent, et le tableau de bord facturation montre le MRR normalisé par devise. Cette partie reste inerte tant que le workspace n'a pas connecté Stripe.

Comment on l'utilise

  1. 01

    Décris ton app

    Dans /collections/generate, tu écris ce que ton app doit gérer. Le moteur propose un schéma: des collections et leurs champs, bornés à ton workspace. Tu ajustes avant de créer.

  2. 02

    Affine le schéma

    Tu ouvres l'éditeur de champs, tu ajoutes des types, tu marques le champ titre, tu poses les références vers d'autres collections. La vue schéma montre le graphe des relations.

  3. 03

    Remplis les entrées

    Tu saisis à la main dans la grille ou le formulaire, ou tu importes un CSV. Tu peux dupliquer une entrée existante comme point de départ.

  4. 04

    Publie

    Tu passes les entrées en publié. Tu branches une page de détail construite dans Pages comme template. Le site public affiche la liste et une page par entrée.

  5. 05

    Ouvre l'accès end-user

    Tu actives les soumissions publiques ou le mode owner-scoped avec email vérifié. Tu gères les comptes depuis l'annuaire des end-users.

  6. 06

    Vends l'accès

    Tu crées des plans, tu fixes le prix Stripe, tu suis les abonnements et le MRR par devise dans le tableau de bord facturation.

Connexions