Documentation

Tout pour construire et exploiter

Le livre blanc fondateur, les schémas par secteur, et une référence écrite depuis le code : les espaces, les rôles, et le point d'entrée qui existe. Les guides et la documentation publique de l'interface s'écrivent — écrivez-nous et nous vous accompagnons directement.

La référence

Écrite depuis le code, champ par champ. Ce qui n'est pas décrit ici n'existe pas encore — et la page le dit plutôt que de le taire.

Un espace

Un espace est un locataire : une organisation, une adresse, ses membres. Table mtb.spaces.

slugtext, uniqueLe sous-domaine. Minuscules, chiffres et tirets, 1 à 32 caractères, jamais un tiret en début ou en fin.
nametextLe nom de l'espace.
org_nametextLe nom légal ou usuel de l'organisation.
org_type · sector · size_bandtext, optionalDéclarés à la création ; descriptifs, jamais utilisés comme filtre.
langstext[]Les langues de l'espace. Vide par défaut.
plancommunity | organisation | territoire | networkContraint par la base, pas par l'interface : une valeur inconnue est refusée à l'écriture.
statuspending | active | suspendedUn espace créé est en attente. Il s'ouvre à la main — rien ne s'active tout seul.
owner_iduuid, nullableLe compte qui l'a créé. Si ce compte disparaît, l'espace survit sans propriétaire plutôt que d'être supprimé.

Membres et rôles

Table mtb.space_members. Trois rôles, et une règle tenue par la base, pas par l'écran.

ownerroleA créé l'espace. Le seul rôle qui peut le modifier.
adminroleAdministre l'espace au quotidien.
memberroleAppartient à l'espace. Le défaut.
RLSrègleOn ne voit un espace que si on en est membre, et on ne le modifie que si on en est propriétaire. Tenu dans la base : appeler l'interface directement ne le contourne pas.

Ouvrir un espace

Un point d'entrée, un appel. POST sur /functions/v1/provision-space.

emailrequisDoit ressembler à une adresse, sinon invalid_email (400).
orgNamerequisAu moins 2 caractères, sinon invalid_org (400).
spaceNamerequisSert à dériver le slug. Si rien de valide n'en sort : invalid_slug (400).
orgType · sector · langs · sizeoptionnelsEnregistrés tels que déclarés.
200réponse{ ok: true, slug, url: « <slug>.manatimebank.org », status: « pending » }
400 · 405 · 500refusbad_json, method_not_allowed, owner_failed. Chaque refus nomme sa cause — aucun ne dit seulement « erreur ».

Ce qui n'existe pas encore

L'inscription des heures, les contributions et la reconnaissance sont décrites dans le livre blanc comme un concept. Aucune table ne les porte et aucune fonction ne les calcule à ce jour. Elles sont volontairement absentes de cette référence : une documentation qui décrit ce qui n'existe pas se paie au premier lecteur qui essaie.

Questions fréquentes

Questions fréquentes

Le modèle est-il ouvert ?

Oui. Le modèle MANAtimebank et la couche de coordination TEMPOsystem sont ouverts et gardés par l'Alliance MANA.

Peut-on migrer nos données existantes ?

Oui — membres, heures et historique s'importent à l'accueil. Parlons de votre format.

À qui appartiennent les données ?

À vous. Propriété des données, conformité RGPD et export sont intégrés, sur chaque palier.

Prêt à créer votre espace temps ?