[{"data":1,"prerenderedAt":713},["ShallowReactive",2],{"article-alternates":3,"article-\u002Ffr\u002Flifestyle\u002Ftechstack-partnership":13},{"i18nKey":4,"paths":5},"lifestyle-004-2026-05",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Flifestyle\u002Ftool-stack-2026-operationelle-wirbelsaeule","\u002Fen\u002Flifestyle\u002Ftool-stack-2026-roibase-daily-operations","\u002Fes\u002Flifestyle\u002Ftechstack-2026-operaciones-diarias","\u002Ffr\u002Flifestyle\u002Ftechstack-partnership","\u002Fit\u002Flifestyle\u002Ftech-stack-2026-operazioni-team","\u002Fru\u002Flifestyle\u002Ftool-stack-2026-operational-backbone","\u002Ftr\u002Flifestyle\u002Ftool-stack-2026-roibasein-operasyonel-omurgasi",{"_path":9,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":20,"i18nKey":4,"tags":21,"readingTime":27,"author":28,"body":29,"_type":707,"_id":708,"_source":709,"_file":710,"_stem":711,"_extension":712},"lifestyle",false,"","Tool Stack 2026: Operations quotidiennes de l'équipe Roibase","Linear, Notion, Slack, Figma, Granola — patterns d'intégration et discipline de productivité mesurable dans une équipe de croissance de 12 personnes.","2026-05-30","techstack-partnership",[22,23,24,25,26],"tool-stack","async-workflow","linear","notion","team-operations",8,"Roibase",{"type":30,"children":31,"toc":692},"root",[32,40,47,67,75,110,122,129,154,160,172,181,186,194,238,243,249,270,303,311,341,346,352,357,362,368,396,414,419,425,430,570,575,581,586,594,612,620,638,646,676,681,687],{"type":33,"tag":34,"props":35,"children":36},"element","p",{},[37],{"type":38,"value":39},"text","Les discussions sur les tool stacks dégénèrent souvent en catalogues : « voici les apps qu'on utilise ». Mais l'enjeu réel n'est pas les outils isolés — c'est le pattern d'intégration, le coût du context-switching, la discipline async-first. Chez Roibase, une équipe de 12 personnes travaille en remote-first depuis 2018. En 2026, nos opérations quotidiennes tournent autour de 5 outils : Linear, Notion, Slack, Figma, Granola. Plutôt que de les énumérer, nous exposons la couche d'intégration — où vivent les données, quels workflows les déclenchent, quelles notifications sont fermées.",{"type":33,"tag":41,"props":42,"children":44},"h2",{"id":43},"linear-pas-de-sprints-métriques-de-flow",[45],{"type":38,"value":46},"Linear : Pas de sprints, métriques de flow",{"type":33,"tag":34,"props":48,"children":49},{},[50,52,58,60,65],{"type":38,"value":51},"Linear est vendu comme outil de gestion de projet, mais chez Roibase c'est une « couche de visibilité du work-in-progress ». Pas de planification de sprint — pas de cycles, pas de jalons. À la place, chaque issue reçoit une ",{"type":33,"tag":53,"props":54,"children":55},"strong",{},[56],{"type":38,"value":57},"priority (P0\u002FP1\u002FP2)",{"type":38,"value":59}," et une ",{"type":33,"tag":53,"props":61,"children":62},{},[63],{"type":38,"value":64},"estimate (1-3-5-8)",{"type":38,"value":66},". La priorité n'est pas décidée par la personne, mais par le système : P0 = bloque le déploiement aujourd'hui, P1 = doit être fermé dans le cycle, P2 = backlog.",{"type":33,"tag":34,"props":68,"children":69},{},[70],{"type":33,"tag":53,"props":71,"children":72},{},[73],{"type":38,"value":74},"Métriques de flow :",{"type":33,"tag":76,"props":77,"children":78},"ul",{},[79,90,100],{"type":33,"tag":80,"props":81,"children":82},"li",{},[83,88],{"type":33,"tag":53,"props":84,"children":85},{},[86],{"type":38,"value":87},"Cycle time :",{"type":38,"value":89}," Moyenne de 2,3 jours entre ouverture et fermeture d'une issue (donnée Q4 2025). Les issues dépassant 5 jours sont automatiquement promues en P0.",{"type":33,"tag":80,"props":91,"children":92},{},[93,98],{"type":33,"tag":53,"props":94,"children":95},{},[96],{"type":38,"value":97},"Work-in-progress limit :",{"type":38,"value":99}," Maximum 3 issues ouvertes par personne. Pour en prendre une 4e, il faut en fermer une ou la déléguer.",{"type":33,"tag":80,"props":101,"children":102},{},[103,108],{"type":33,"tag":53,"props":104,"children":105},{},[106],{"type":38,"value":107},"Merge-to-close time :",{"type":38,"value":109}," Temps écoulé entre la fusion d'une PR et la fermeture de l'issue Linear — cible \u003C30 minutes (CI\u002FCD + QA automatisés).",{"type":33,"tag":34,"props":111,"children":112},{},[113,115,120],{"type":38,"value":114},"L'intégration Slack de Linear est fermée. Au lieu d'un bombardement de notifications, nous avons un ",{"type":33,"tag":53,"props":116,"children":117},{},[118],{"type":38,"value":119},"système de digest",{"type":38,"value":121}," : chaque matin à 09:00, un résumé est posté sur Slack (nombre d'issues P0, cycle time moyen, répartition du WIP). Personne ne mention sur Linear — tout le monde lit le digest du matin.",{"type":33,"tag":123,"props":124,"children":126},"h3",{"id":125},"synchronisation-linear-notion",[127],{"type":38,"value":128},"Synchronisation Linear → Notion",{"type":33,"tag":34,"props":130,"children":131},{},[132,134,141,143,152],{"type":38,"value":133},"Les issues complétées sont archivées dans Notion chaque semaine (workflow Zapier). Notion héberge une « Retrospective Database » — chaque issue fermée est taggée par service. Par exemple, les issues du projet ",{"type":33,"tag":135,"props":136,"children":138},"code",{"className":137},[],[139],{"type":38,"value":140},"branding",{"type":38,"value":142}," sont rapportées sous ",{"type":33,"tag":144,"props":145,"children":149},"a",{"href":146,"rel":147},"https:\u002F\u002Fwww.roibase.com.tr\u002Ffr\u002Fbranding",[148],"nofollow",[150],{"type":38,"value":151},"Marque & Identité Visuelle",{"type":38,"value":153},". Cette donnée alimente la planification de capacité tous les 3 mois : combien de temps d'ingénierie chaque service consomme-t-il ?",{"type":33,"tag":41,"props":155,"children":157},{"id":156},"notion-source-of-truth-pas-un-wiki",[158],{"type":38,"value":159},"Notion : Source of truth, pas un wiki",{"type":33,"tag":34,"props":161,"children":162},{},[163,165,170],{"type":38,"value":164},"Notion n'est pas un wiki — c'est un « decision log ». Chaque décision stratégique (par exemple « tracking côté serveur ou côté client pour cette campagne ? ») est documentée au format ",{"type":33,"tag":53,"props":166,"children":167},{},[168],{"type":38,"value":169},"RFC (Request for Comments)",{"type":38,"value":171},". Le template RFC :",{"type":33,"tag":173,"props":174,"children":176},"pre",{"code":175},"## Décision\n[Une phrase — qu'est-ce qu'on fait]\n\n## Contexte\n[Pourquoi c'est nécessaire maintenant]\n\n## Alternatives\n[Au moins 2 options + tableau des tradeoffs]\n\n## Mesure\n[Comment saurons-nous si la décision était juste dans 4 semaines]\n\n## Propriétaire\n[Qui en est responsable]\n",[177],{"type":33,"tag":135,"props":178,"children":179},{"__ignoreMap":16},[180],{"type":38,"value":175},{"type":33,"tag":34,"props":182,"children":183},{},[184],{"type":38,"value":185},"Après l'ouverture d'un RFC, il y a 48 heures pour commenter en async. Personne n'appelle une réunion — chacun lit à son rythme, commente. Après 48 heures, le decision owner documente la décision finale, et l'action passe à Linear.",{"type":33,"tag":34,"props":187,"children":188},{},[189],{"type":33,"tag":53,"props":190,"children":191},{},[192],{"type":38,"value":193},"Couches de données dans Notion :",{"type":33,"tag":195,"props":196,"children":197},"ol",{},[198,208,218,228],{"type":33,"tag":80,"props":199,"children":200},{},[201,206],{"type":33,"tag":53,"props":202,"children":203},{},[204],{"type":38,"value":205},"RFC Database",{"type":38,"value":207}," — tous les décisions",{"type":33,"tag":80,"props":209,"children":210},{},[211,216],{"type":33,"tag":53,"props":212,"children":213},{},[214],{"type":38,"value":215},"Retrospective Database",{"type":38,"value":217}," — tâches complétées venant de Linear",{"type":33,"tag":80,"props":219,"children":220},{},[221,226],{"type":33,"tag":53,"props":222,"children":223},{},[224],{"type":38,"value":225},"Client Playbook",{"type":38,"value":227}," — notes opérationnelles par client (où est tel tableau de bord, où est telle API key)",{"type":33,"tag":80,"props":229,"children":230},{},[231,236],{"type":33,"tag":53,"props":232,"children":233},{},[234],{"type":38,"value":235},"Brand Assets",{"type":38,"value":237}," — liens Figma, tone-of-voice document",{"type":33,"tag":34,"props":239,"children":240},{},[241],{"type":38,"value":242},"La recherche dans Notion ne fonctionne pas bien, dit-on. Nous ne cherchons pas — chaque base est filtrée et taggée. Avoir besoin de search signifie généralement « j'ai rangé les données au mauvais endroit ».",{"type":33,"tag":41,"props":244,"children":246},{"id":245},"slack-async-first-real-time-en-second",[247],{"type":38,"value":248},"Slack : Async-first, real-time en second",{"type":33,"tag":34,"props":250,"children":251},{},[252,254,260,262,268],{"type":38,"value":253},"Les notifications Slack sont désactivées au niveau de l'équipe. Seuls ",{"type":33,"tag":135,"props":255,"children":257},{"className":256},[],[258],{"type":38,"value":259},"@channel",{"type":38,"value":261}," et ",{"type":33,"tag":135,"props":263,"children":265},{"className":264},[],[266],{"type":38,"value":267},"@here",{"type":38,"value":269}," sont actifs — avec une règle : interdit sauf P0 incident. La messagerie est divisée en 3 canaux :",{"type":33,"tag":195,"props":271,"children":272},{},[273,283,293],{"type":33,"tag":80,"props":274,"children":275},{},[276,281],{"type":33,"tag":53,"props":277,"children":278},{},[279],{"type":38,"value":280},"#daily-digest :",{"type":38,"value":282}," Résumés Linear\u002FNotion, logs de déploiement CI\u002FCD",{"type":33,"tag":80,"props":284,"children":285},{},[286,291],{"type":33,"tag":53,"props":287,"children":288},{},[289],{"type":38,"value":290},"#async-questions :",{"type":38,"value":292}," Questions sans attente de réponse immédiate (réponse sous 24h acceptable)",{"type":33,"tag":80,"props":294,"children":295},{},[296,301],{"type":33,"tag":53,"props":297,"children":298},{},[299],{"type":38,"value":300},"#sync-now :",{"type":38,"value":302}," Vraie coordination temps réel (incident production, optimisation de campagne live)",{"type":33,"tag":34,"props":304,"children":305},{},[306],{"type":33,"tag":53,"props":307,"children":308},{},[309],{"type":38,"value":310},"Attentes de temps de réponse :",{"type":33,"tag":76,"props":312,"children":313},{},[314,325,336],{"type":33,"tag":80,"props":315,"children":316},{},[317,323],{"type":33,"tag":135,"props":318,"children":320},{"className":319},[],[321],{"type":38,"value":322},"#sync-now",{"type":38,"value":324}," → 15 minutes",{"type":33,"tag":80,"props":326,"children":327},{},[328,334],{"type":33,"tag":135,"props":329,"children":331},{"className":330},[],[332],{"type":38,"value":333},"#async-questions",{"type":38,"value":335}," → 24 heures",{"type":33,"tag":80,"props":337,"children":338},{},[339],{"type":38,"value":340},"DM → 48 heures (pas de culture de DM, canaux utilisés)",{"type":33,"tag":34,"props":342,"children":343},{},[344],{"type":38,"value":345},"Les threads Slack sont obligatoires. Répondre au message principal est interdit — chaque message ouvre un thread. Les conversations parallèles ne s'entrelacent pas.",{"type":33,"tag":123,"props":347,"children":349},{"id":348},"intégration-slack-granola",[350],{"type":38,"value":351},"Intégration Slack → Granola",{"type":33,"tag":34,"props":353,"children":354},{},[355],{"type":38,"value":356},"Granola est un outil de notes de réunion — mais chez Roibase il n'est utilisé que pour les appels clients. Pas de réunions internes (0-1 sync call par semaine). Après un appel client, Granola envoie la transcription IA sur Slack, l'équipe lit en async. Les items d'action deviennent automatiquement des issues Linear (trigger Zapier).",{"type":33,"tag":34,"props":358,"children":359},{},[360],{"type":38,"value":361},"Le killer feature de Granola : il met en surbrillance les engagements numériques mentionnés (« résultats du test A\u002FB dans 2 semaines », « CTR doit augmenter de 15 % »). Ces éléments reçoivent automatiquement un rappel — personne n'oublie.",{"type":33,"tag":41,"props":363,"children":365},{"id":364},"figma-pas-un-handoff-une-spec-vivante",[366],{"type":38,"value":367},"Figma : Pas un handoff, une spec vivante",{"type":33,"tag":34,"props":369,"children":370},{},[371,373,379,381,387,388,394],{"type":38,"value":372},"Figma n'est pas qu'un outil de design — c'est une « couche de frontend spec ». Chaque composant UI est défini comme variant dans Figma. Le développeur n'extrait pas de code de Figma (pas de copy CSS) — mais il lit le comportement du composant. Par exemple, un bouton a ses états ",{"type":33,"tag":135,"props":374,"children":376},{"className":375},[],[377],{"type":38,"value":378},"hover",{"type":38,"value":380},", ",{"type":33,"tag":135,"props":382,"children":384},{"className":383},[],[385],{"type":38,"value":386},"active",{"type":38,"value":380},{"type":33,"tag":135,"props":389,"children":391},{"className":390},[],[392],{"type":38,"value":393},"disabled",{"type":38,"value":395}," en tant que frames dans Figma. La logique d'état correspondante est appliquée dans le code.",{"type":33,"tag":34,"props":397,"children":398},{},[399,404,406,412],{"type":33,"tag":53,"props":400,"children":401},{},[402],{"type":38,"value":403},"Liaison Figma → Linear :",{"type":38,"value":405},"\nChaque fichier Figma a un plugin ",{"type":33,"tag":135,"props":407,"children":409},{"className":408},[],[410],{"type":38,"value":411},"Linear Issue",{"type":38,"value":413},". Quand le design est approuvé, le designer ouvre une issue Linear directement, colle le lien Figma dans la description. Quand le développeur prend l'issue, il connaît déjà le design — il implémente sans poser de questions.",{"type":33,"tag":34,"props":415,"children":416},{},[417],{"type":38,"value":418},"Les commentaires Figma ne s'écoulent pas vers Slack (pour éviter le bombardement). À la place, un « Figma Digest » hebdomadaire — les commentaires ouverts sont convertis en issues Linear.",{"type":33,"tag":41,"props":420,"children":422},{"id":421},"pattern-dintégration-où-vivent-les-données",[423],{"type":38,"value":424},"Pattern d'intégration : Où vivent les données ?",{"type":33,"tag":34,"props":426,"children":427},{},[428],{"type":38,"value":429},"Les discussions sur les tool stacks commencent souvent par « quel outil utilisez-vous ? ». La vraie question : « quelle donnée est canonique où ? ». Chez Roibase, la propriété des données fonctionne ainsi :",{"type":33,"tag":431,"props":432,"children":433},"table",{},[434,458],{"type":33,"tag":435,"props":436,"children":437},"thead",{},[438],{"type":33,"tag":439,"props":440,"children":441},"tr",{},[442,448,453],{"type":33,"tag":443,"props":444,"children":445},"th",{},[446],{"type":38,"value":447},"Type de donnée",{"type":33,"tag":443,"props":449,"children":450},{},[451],{"type":38,"value":452},"Source de vérité",{"type":33,"tag":443,"props":454,"children":455},{},[456],{"type":38,"value":457},"Synchronisée vers",{"type":33,"tag":459,"props":460,"children":461},"tbody",{},[462,481,499,517,535,553],{"type":33,"tag":439,"props":463,"children":464},{},[465,471,476],{"type":33,"tag":466,"props":467,"children":468},"td",{},[469],{"type":38,"value":470},"Travail actif (WIP)",{"type":33,"tag":466,"props":472,"children":473},{},[474],{"type":38,"value":475},"Linear",{"type":33,"tag":466,"props":477,"children":478},{},[479],{"type":38,"value":480},"Slack digest quotidien",{"type":33,"tag":439,"props":482,"children":483},{},[484,489,494],{"type":33,"tag":466,"props":485,"children":486},{},[487],{"type":38,"value":488},"Travail complété (rétrospective)",{"type":33,"tag":466,"props":490,"children":491},{},[492],{"type":38,"value":493},"Notion",{"type":33,"tag":466,"props":495,"children":496},{},[497],{"type":38,"value":498},"Linear (archivé)",{"type":33,"tag":439,"props":500,"children":501},{},[502,507,512],{"type":33,"tag":466,"props":503,"children":504},{},[505],{"type":38,"value":506},"Décisions stratégiques",{"type":33,"tag":466,"props":508,"children":509},{},[510],{"type":38,"value":511},"Notion (RFC)",{"type":33,"tag":466,"props":513,"children":514},{},[515],{"type":38,"value":516},"Linear (action items)",{"type":33,"tag":439,"props":518,"children":519},{},[520,525,530],{"type":33,"tag":466,"props":521,"children":522},{},[523],{"type":38,"value":524},"Notes d'appels clients",{"type":33,"tag":466,"props":526,"children":527},{},[528],{"type":38,"value":529},"Granola",{"type":33,"tag":466,"props":531,"children":532},{},[533],{"type":38,"value":534},"Slack thread",{"type":33,"tag":439,"props":536,"children":537},{},[538,543,548],{"type":33,"tag":466,"props":539,"children":540},{},[541],{"type":38,"value":542},"Spec UI",{"type":33,"tag":466,"props":544,"children":545},{},[546],{"type":38,"value":547},"Figma",{"type":33,"tag":466,"props":549,"children":550},{},[551],{"type":38,"value":552},"Description issue Linear",{"type":33,"tag":439,"props":554,"children":555},{},[556,561,565],{"type":33,"tag":466,"props":557,"children":558},{},[559],{"type":38,"value":560},"Assets marque",{"type":33,"tag":466,"props":562,"children":563},{},[564],{"type":38,"value":493},{"type":33,"tag":466,"props":566,"children":567},{},[568],{"type":38,"value":569},"Figma (lien embedded)",{"type":33,"tag":34,"props":571,"children":572},{},[573],{"type":38,"value":574},"Pas de double source-of-truth. Si une donnée paraît canonique à deux endroits, l'un est faux.",{"type":33,"tag":41,"props":576,"children":578},{"id":577},"discipline-des-notifications-quand-se-taire-quand-faire-du-bruit",[579],{"type":38,"value":580},"Discipline des notifications : Quand se taire, quand faire du bruit",{"type":33,"tag":34,"props":582,"children":583},{},[584],{"type":38,"value":585},"Le plus grand danger d'un modern tool stack est la notification creep. Chez Roibase, la stratégie est :",{"type":33,"tag":34,"props":587,"children":588},{},[589],{"type":33,"tag":53,"props":590,"children":591},{},[592],{"type":38,"value":593},"Complètement fermées :",{"type":33,"tag":76,"props":595,"children":596},{},[597,602,607],{"type":33,"tag":80,"props":598,"children":599},{},[600],{"type":38,"value":601},"Mentions Linear (threads Slack à la place)",{"type":33,"tag":80,"props":603,"children":604},{},[605],{"type":38,"value":606},"Commentaires Figma (digest hebdomadaire)",{"type":33,"tag":80,"props":608,"children":609},{},[610],{"type":38,"value":611},"Mises à jour Notion (personne ne watch)",{"type":33,"tag":34,"props":613,"children":614},{},[615],{"type":33,"tag":53,"props":616,"children":617},{},[618],{"type":38,"value":619},"En tant que digest :",{"type":33,"tag":76,"props":621,"children":622},{},[623,628,633],{"type":33,"tag":80,"props":624,"children":625},{},[626],{"type":38,"value":627},"Résumé quotidien Linear (09:00)",{"type":33,"tag":80,"props":629,"children":630},{},[631],{"type":38,"value":632},"Résumé commentaires Figma ouverts (vendredi 17:00)",{"type":33,"tag":80,"props":634,"children":635},{},[636],{"type":38,"value":637},"Log de déploiement CI\u002FCD (résumé après chaque déploiement)",{"type":33,"tag":34,"props":639,"children":640},{},[641],{"type":33,"tag":53,"props":642,"children":643},{},[644],{"type":38,"value":645},"Temps réel :",{"type":33,"tag":76,"props":647,"children":648},{},[649,659,664],{"type":33,"tag":80,"props":650,"children":651},{},[652,657],{"type":33,"tag":135,"props":653,"children":655},{"className":654},[],[656],{"type":38,"value":259},{"type":38,"value":658}," (incident P0 seulement)",{"type":33,"tag":80,"props":660,"children":661},{},[662],{"type":38,"value":663},"Résumé appel client Granola (5 min après la fin)",{"type":33,"tag":80,"props":665,"children":666},{},[667,669,674],{"type":38,"value":668},"Erreur production (Sentry → Slack, canal ",{"type":33,"tag":135,"props":670,"children":672},{"className":671},[],[673],{"type":38,"value":322},{"type":38,"value":675}," uniquement)",{"type":33,"tag":34,"props":677,"children":678},{},[679],{"type":38,"value":680},"À chaque nouvel outil : première question « notification real-time ou digest ? ». Réponse par défaut : digest.",{"type":33,"tag":41,"props":682,"children":684},{"id":683},"et-maintenant",[685],{"type":38,"value":686},"Et maintenant ?",{"type":33,"tag":34,"props":688,"children":689},{},[690],{"type":38,"value":691},"Au lieu du réflexe « adoptons aussi cet outil », posez-vous : « où doit être canonique cette donnée ? ». Le stack 2026 de Roibase repose sur Linear\u002FNotion\u002FSlack\u002FFigma\u002FGranola, mais ces outils peuvent changer — l'important est le pattern d'intégration, la discipline des notifications, la culture async-first. Si votre équipe se plaint « pourquoi je ne reçois pas la notification de X ? », le problème n'est pas l'outil — c'est que la propriété des données est floue.",{"title":16,"searchDepth":693,"depth":693,"links":694},3,[695,699,700,703,704,705,706],{"id":43,"depth":696,"text":46,"children":697},2,[698],{"id":125,"depth":693,"text":128},{"id":156,"depth":696,"text":159},{"id":245,"depth":696,"text":248,"children":701},[702],{"id":348,"depth":693,"text":351},{"id":364,"depth":696,"text":367},{"id":421,"depth":696,"text":424},{"id":577,"depth":696,"text":580},{"id":683,"depth":696,"text":686},"markdown","content:fr:lifestyle:techstack-partnership.md","content","fr\u002Flifestyle\u002Ftechstack-partnership.md","fr\u002Flifestyle\u002Ftechstack-partnership","md",1782050766294]