C o u S h e l l
Gratuit sur le web, pour toujours.
Ouvrez app.cou.sh dans n'importe quel navigateur et mettez-vous au travail. Rien à installer — et pour essayer, pas même besoin de compte.
Fonctionne hors ligne.
Votre travail est d'abord enregistré sur votre appareil. Dès que vous êtes de nouveau en ligne, tout se synchronise tout seul.
Il vous appartient.
Aucun verrouillage : CouShell repose sur Abracadabra, un moteur ouvert — vos données restent portables.
Pas une énième app de notes.
Un arbre partagé, des dizaines de façons de le travailler — tableaux, graphes, IA, voix, fenêtres flottantes. Les fonctionnalités ci-dessous, vous ne les trouverez réunies nulle part ailleurs.
Bien plus qu'un document
Tableau, calendrier, galerie, table, chronologie, carte, graphique — c'est toujours le même arbre, vu comme vous en avez besoin. Changez de vue : rien ne bouge, rien ne se perd.
Une IA qui travaille dans votre espace
Pointez un assistant vers votre espace de travail et regardez-le lire, éditer et ranger juste à côté de vous.
Voyez comment tout se connecte
Chaque lien entre vos documents, dessiné comme un graphe vivant. La forme de votre travail, d'un coup d'œil.
Étalez-vous comme sur un bureau
Détachez n'importe quel document dans une fenêtre flottante. Disposez tableaux, notes et chats côte à côte — votre espace, votre agencement.
Du Markdown pur, sur votre disque
Importez et exportez du Markdown propre avec frontmatter YAML. L'app de bureau garde un vrai dossier de fichiers .md synchronisé — vos notes restent les vôtres, dans un format ouvert.
Naviguez d'un geste
Balayez la vue principale pour avancer et reculer, balayez depuis le bord pour ouvrir le menu, balayez pour fermer — naturel au tactile, au trackpad ou à la Magic Mouse.
Tous les médias, intégrés
Déposez images, vidéos, audio et fichiers — ils vivent dans le document, lisibles et prévisualisables, pas enterrés derrière un téléchargement.
Des métadonnées que toutes les vues comprennent
Donnez un statut, des dates, une couverture et une priorité à n'importe quel document — et chaque vue, du tableau au calendrier en passant par la galerie, lit les mêmes métadonnées typées. Définissez les champs une fois ; les vues font le reste.
Parlez-en, directement ici
Passez en vocal ou en chat sans quitter la page — la conversation vit à côté du travail, pas dans une autre app.
Une collaboration qui se ressent.
Chaque nœud, chaque curseur, chaque vue — en direct, à l'instant même.
Un arbre. Toute l'équipe.
Pas de dossiers — chaque nœud est un document, et tout document peut en contenir d'autres. Docs, tableaux, calendriers, tables : tout dans un seul arbre, chacun montrant en direct qui s'y trouve.
- Tout document peut contenir d'autres documents — pas de dossiers.
- Les points de présence montrent en direct qui est dans chaque document.
- Transformez un document en tableau ou en calendrier — même nœud, mêmes données.
Curseurs, sélections, conversations entières.
Multi-curseur natif TipTap. Chaque sélection s'affiche dans la couleur de la personne qui l'a faite.
- Curseurs lissés à 60 fps
- Sélections au caractère près
- Le nom de chacun flotte au-dessus de son curseur
- Chaque modification est attribuée à son auteur
Suivez qui vous voulez, dans n'importe quelle vue.
Choisissez une personne : sa vue, son curseur et sa sélection s'affichent sur votre écran — kanban, doc, carte, n'importe quelle lentille.
- Cliquez sur un avatar pour passer en mode suivi.
- Ses changements de vue deviennent les vôtres.
- Décrochez quand vous voulez — rien n'est verrouillé.
- Parfait pour le pair-travail, les revues et les démos.
Éditez hors ligne. Synchronisez au retour.
CouShell écrit d'abord sur votre appareil. Le serveur est un confort, pas une dépendance.
- Votre bibliothèque vit sur votre appareil.
- Fusion CRDT sans conflits, sans blocage.
- Le mode avion est entièrement pris en charge.
- Reconnexion = fusion automatique, sans rien demander.
les fonctionnalités collaboratives en avance.
les fonctionnalités collaboratives en avance.
Amenez votre propre IA
Tout assistant IA compatible MCP rejoint votre espace de travail comme un participant à part entière — il lit vos documents, écrit du contenu et discute avec votre équipe.
Faites-le tourner à votre façon.
Utilisez l'app web gratuite, laissez-nous l'héberger, ou faites tourner le serveur ouvert vous-même. Tous les détails serveur et hébergement sont sur abr.ac.
App web gratuite
Ouvrez app.cou.sh dans n'importe quel navigateur. Rien à faire tourner, rien à configurer.
Ouvrir l'app webHébergement géré
Laissez Abracadabra gérer le serveur pour vous — sauvegardes, montée en charge et disponibilité comprises.
Hébergement sur abr.acAuto-hébergement
Faites tourner le serveur ouvert Abracadabra sur votre propre machine. Vos données n'en sortent jamais.
Guide d'auto-hébergementIl y a tout un moteur là-dessous.
CouShell n'est qu'une app parmi d'autres sur Abracadabra — un moteur temps réel ouvert. Les mêmes briques sont à votre disposition.
- Un backend temps réelAuthentification, stockage, présence et synchronisation CRDT depuis un seul serveur ouvert.
- Des runners qui transforment les donnéesDes runners de service qui observent un document et réagissent via un RPC typé.
- Construisez votre propre app par-dessusSDK TypeScript, Rust et Swift — web, natif ou bureau.
// un backend temps réel — avec du REST quand vous en voulezimport { Abracadabra } from '@abraca/dabra'const abra = new Abracadabra({ server })await abra.connect()// lire une fois via REST…const doc = await abra.documents.get(id)// …ou l'observer en directdoc.observe((state) => render(state))// présence + authentification incluses d'officeabra.presence.set({ cursor, name })
// un runner qui transforme vos donnéesprovider.rpc.handle('summarize', async ({ docId }) => { const doc = await provider.documents.get(docId) const text = doc.toPlainText() // confiez-les à n'importe quel modèle, API ou pipeline const summary = await ai.summarize(text) // écrivez le résultat dans l'arbre await provider.documents.create({ parentId: docId, label: 'Summary', body: summary, })})
// construisez votre propre app par-dessusimport { Abracadabra } from '@abraca/dabra'const abra = new Abracadabra({ server })await abra.connect()// chaque document est un CRDT que vous éditez comme un état localconst board = await abra.documents.open(boardId)board.children.push({ label: 'New task' })// …et il se synchronise instantanément avec tous les clientsabra.on('sync', () => refresh())