Notre expertise Airtable

Vos équipes connaissent le métier. Donnez-leur la main sur les outils.

Une revue des achats. Une campagne de recrutement. Un processus qui déborde de son tableur. Nous en faisons un outil Airtable que vos équipes peuvent vraiment s’approprier.

Ces exemples sont issus des quatre années de construction et d’évolution d’outils de Julien Cyr chez Actual Group, notamment pour Actual Académie, ESUP, Holberton, iconoclass, Qwally, Open Campus et PBA. Cette expérience nourrit l’accompagnement Ownward aujourd’hui.

Pourquoi nous croyons en Airtable

Un socle. Plusieurs possibilités. Données communes · Espace équipe · Site connecté

Plus les équipes contribuent, plus la structure des données compte. Airtable la rend concrète : des tables, des champs typés, des enregistrements liés. Une nouvelle vue, interface ou automatisation peut s’appuyer sur ce même socle. Chacun peut construire sans recréer son propre modèle de données.

Nous vous aidons à trouver cet équilibre : donner de la liberté aux équipes, avec des définitions partagées, des droits adaptés et des règles claires pour faire évoluer la base. Airtable peut porter des processus de type ERP et un CRM sur mesure. Nous définissons ce qu’il pilote et ce qui reste dans les logiciels spécialisés, notamment la comptabilité.

Omni + Ownward

Construisez avec Omni. Allez plus loin avec Ownward.

Omni est une excellente raison de choisir Airtable. Décrire un besoin, construire une application, créer des éléments d’interface sur mesure et travailler avec ses données en langage naturel : vos équipes ont plus de moyens pour créer et faire évoluer leurs outils.

Ownward prolonge cette liberté quand le métier demande une expertise produit et technique plus poussée. Nous partons aussi de ce que vos équipes ont déjà construit avec Omni, le relions au reste de l’entreprise et vous aidons à le faire évoluer dans la durée.

  • Une interface qui épouse le métier

    Composants sur mesure, règles métier précises et prise en main guidée, affinés avec les personnes qui les utilisent.

  • Des données communes, des outils connectés

    Airtable, votre CRM, la comptabilité et le site web : un rôle clair pour chaque donnée et des intégrations qui prévoient les exceptions.

  • La confiance pour continuer à construire

    Droits, tests, code versionné et documentation pour les humains et les agents. Vos équipes continuent à créer ; nous accompagnons les évolutions complexes.

Découvrir Omni chez Airtable

Sur le terrain

Partons d’un cas concret.

Choisissez une histoire. Découvrez le besoin, visitez l’outil, puis explorez sa construction.

Référentiel & publication

La base métier devient aussi la source du site web.

Au départ…

Les opérations doivent maintenir programmes, campus et sessions dans un modèle cohérent que d’autres produits peuvent réutiliser. La première responsabilité est la qualité et le sens des données sources.

Ce que nous avons construit

Un référentiel Airtable partagé, avec des entités liées et des mappings explicites pour les usages en aval. Cet exemple porte sur la préservation des relations quand le catalogue évolue ; l’exemple web lié traite la publication.

Technologies et documentations officielles

Une donnée, plusieurs usages
  1. Airtable

    Maintenir

    Modèle métier et relations

  2. Supabase

    Préparer la diffusion

    Champs choisis, statuts et médias

  3. Vercel

    Servir le site

    Next.js lit le catalogue publiable

Le flux documenté utilise une synchronisation dédiée. Zapier peut coordonner d’autres événements, mais ne remplace pas ce moteur dans ce cas.

Entrez dans l’outil

Écran 1 sur 6

1. Maintenir l’offre

1. Maintenir l’offre

Le catalogue interne s’appuie sur les formations et campus liés.

Ce que nous voulons changer

Donner aux opérations un référentiel maintenable dont les relations restent fiables lorsqu’il est lu par d’autres systèmes.

Comment c’est construitModèle de données, code, contrôles et autonomie des équipes

Parcours utilisateur

  1. 01

    Maintenir les programmes et les campus liés.

  2. 02

    Lire les champs sources sélectionnés et distinguer une absence de donnée d’une erreur de lecture.

  3. 03

    Préserver les relations valides pour les systèmes en aval.

Structure de la base

Entité / tableChamps clésRelations
FormationsTitre · filière · descriptionCampus et promotions liés
PromotionsPériode · formation · campusRelient l’offre et les lieux

Implémentation technique

  • Les entités sources et leurs relations ont des identifiants stables.
  • Les mappings rendent explicites les champs partagés avec les produits en aval.
  • Un échec de lecture des relations ne doit pas devenir une consigne d’effacement des liens existants.

Décision d’ingénierie

Une lecture en échec ne doit pas effacer les relations du catalogue

Adapté du garde-fou de synchronisation des liens formation/filière. Une lecture échouée omet la colonne ; un lien vide issu d’une lecture fiable peut l’effacer. Si tous les liens disparaissent alors que la base web en conserve, ils sont préservés et une alerte remonte. Entités renommées et vérification de base injectée pour ne révéler aucun identifiant privé.

TypeScriptpreserve-catalogue-links.ts31 lignes
type LinkRead =  | { ok: false; reason: "unconfigured" | "read-error" }  | { ok: true; links: Map<string, string | null> };export async function catalogueLinkPolicy(  source: LinkRead,  destinationIds: Map<string, string>,  hasPublishedRelationships: () => Promise<boolean>,) {  let trusted = source.ok;  if (source.ok && destinationIds.size > 0 &&      ![...source.links.values()].some(Boolean)) {    try {      trusted = !(await hasPublishedRelationships());    } catch {      trusted = false; // unable to verify: preserve the previous links    }  }  return {    warning: trusted ? null : "Relationships preserved; inspect source mapping",    fieldsFor(sourceId: string): { category_id?: string | null } {      if (!trusted || !source.ok) return {}; // omit, do not write null      const linkedId = source.links.get(sourceId) ?? null;      return {        category_id: linkedId ? destinationIds.get(linkedId) ?? null : null,      };    },  };}// Merge fieldsFor(id) into an allowlisted upsert row keyed by airtable_id.// Source reading and category synchronisation must complete beforehand.

Extrait adapté de l’implémentation

Une lecture en échec ne doit pas effacer les relations du catalogue

Contrôles et limites

  • Le navigateur ne reçoit pas de jeton Airtable ni de clé Supabase privilégiée.
  • Les champs internes et données de personnel ne font pas partie du catalogue public.
  • Une synchronisation n’est pas une publication : les droits, statuts et filtres de diffusion ont leur propre rôle.

Qui peut contribuer

  • Métier : maintenir les formations, campus et liens Airtable.
  • Communication : enrichir et valider la publication dans le back-office web.
  • Développeurs : faire évoluer les mappings, contrôles et composants versionnés.

Ce qui documente ce cas

Modèle source et contrôle de synchronisation examinés. Cette capture montre le catalogue interne ; le parcours web est présenté dans l’implémentation Vercel / Supabase liée.

Avec Ownward

Construit ensemble. À vous de le faire grandir.

Vos équipes doivent pouvoir gérer les évolutions du quotidien. Et savoir sur qui compter lorsqu’un sujet demande une expertise technique plus poussée.

  1. 01

    Partir du travail réel

    Nous échangeons avec les personnes qui font le travail, définissons une première version utile et construisons ensemble le modèle de données et l’interface.

  2. 02

    Apprendre sur ses propres outils

    Vos équipes apprennent à adapter les vues, interfaces et automatisations sur des cas réels. Nous documentons le modèle et les choix pour que la prochaine évolution ne dépende pas de nous.

  3. 03

    Aller plus loin, bien accompagné

    Citizen developers, développeurs et collègues qui codent avec Claude contribuent au même modèle documenté. Nous accompagnons les intégrations complexes, les revues de code et les escalades techniques dans la durée.

Le soin apporté à la livraison

Un outil livré avec tout ce qu’il faut pour le prendre en main.

Notre standard de livraison Ownward : l’aide reste disponible dans le produit, le savoir reste avec le code et les agents disposent du contexte pour contribuer.

  • Un assistant de prise en main toujours accessible

    Un parcours guidé pour comprendre les rôles, configurer les éléments essentiels et réussir la première action. Il reste accessible depuis l’aide, y compris pour accueillir de nouveaux collègues.

  • La documentation dans le dépôt livré

    Démarrage, modèle de données, configuration, intégrations, tests, publication et retour arrière : les explications évoluent avec la version du produit. Les secrets restent hors du dépôt.

  • Des consignes pour les agents codeurs

    AGENTS.md et, si utile, CLAUDE.md précisent l’architecture, les conventions, les commandes de vérification et les règles de modification. Un agent prolonge le modèle partagé ; l’équipe garde la revue et la décision de diffusion.

Voir un guide de prise en main dans une interface réelle
La place du Builder Hub, des composants sur mesure et de l’IA

Nous construisons et publions des extensions d’interface lorsque les équipes ont besoin d’une expérience plus adaptée à leur métier. Nous accompagnons l’organisation des responsabilités, des versions et des mises à jour dans Builder Hub. Pour les organisations Enterprise Scale, les applications et composants gérés offrent un mécanisme distinct pour diffuser des briques communes entre bases.

Nous utilisons l’IA lorsqu’elle sert une tâche précise, avec les accès adaptés et une validation humaine. Les fonctionnalités Enterprise dépendent de votre offre Airtable ; nous vous aidons à choisir et configurer celles qui sont utiles à vos équipes.

Quelle partie de votre travail pourrait être plus simple ?

Un processus, un point de friction, une idée : partons de là.

Parlons de votre projet