Redsmite Sync

approvedunreviewed

by redsmite-com

Automatically synchronizes your Redsmite reports to your vault.

↓ 118 downloadsUpdated 6mo agoMIT

Redsmite Sync — Plugin Obsidian

Synchronise automatiquement vos comptes-rendus (CRs) Redsmite dans votre vault Obsidian.

Fonctionnalités

  • Sync automatique — poll périodique (configurable, 1-60 min) des CRs en attente
  • Smart placement — le plugin propose un dossier basé sur le nom du client, et apprend vos préférences (après 2 confirmations identiques, le placement devient automatique)
  • Idempotence — un CR déjà présent dans le vault n'est pas re-téléchargé
  • Desktop only — fonctionne sur Windows, macOS, Linux (pas mobile)

Installation

Le plugin est disponible sur le Community Plugin Store d'Obsidian :

  1. Ouvrir Obsidian → Paramètres → Plugins tiers
  2. Désactiver le "Mode restreint" si ce n'est pas déjà fait
  3. Cliquer Parcourir → rechercher "Redsmite"
  4. Cliquer Installer → Activer

Les mises à jour sont automatiques via Obsidian.

Configuration

Après activation, aller dans Paramètres → Redsmite Sync :

ParamètreDescriptionDéfaut
Token APIToken d'authentification Redsmite (fourni par votre administrateur)—
Dossier cibleDossier par défaut pour les CRs sans correspondance clientRedsmite
Intervalle de syncFréquence de vérification des nouveaux CRs (minutes)5 min

Le bouton Tester la connexion vérifie que le token est valide.

Les correspondances client-dossier sont apprises automatiquement : après 2 placements confirmés dans le même dossier pour un client, les CRs suivants y sont classés sans intervention.

Architecture

Plugin (desktop, TypeScript)
  ↓ poll toutes les N minutes
Supabase Edge Function /obsidian-pending
  ↓ retourne les CRs non synchronisés
Plugin : smart placement (propose dossier → confirmation utilisateur)
  ↓
Plugin : télécharge le markdown via /obsidian-cr-md/:id
  ↓ écrit le fichier .md dans le vault
Supabase Edge Function /obsidian-ack/:id
  ↓ marque le CR comme synchronisé (obsidian_synced = true)

Développement

Prérequis

  • Node.js 18+
  • npm

Commandes

npm install          # installer les dépendances
npm run build        # compiler main.ts → main.js (production)
npm run dev          # compiler en mode watch (développement)

Structure

main.ts                  # Plugin principal (polling, sync, smart placement)
settings.ts              # Types et valeurs par défaut des settings
settings-tab.ts          # UI de configuration dans Obsidian
smart-placement-modal.ts # Modale de validation du dossier cible
folder-suggest-modal.ts  # Sélecteur de dossier fuzzy
manifest.json            # Métadonnées du plugin (id, version, compatibilité)
esbuild.config.mjs       # Config de build esbuild

Publier une mise à jour

  1. Modifier le code
  2. Bumper la version dans manifest.json ET package.json
  3. Build : npm run build
  4. Commit + push
  5. Créer une GitHub Release avec le tag = version (ex: 1.1.0)
  6. Attacher main.js et manifest.json comme assets de la release
  7. Les utilisateurs BRAT reçoivent la mise à jour automatiquement

Backend requis

Ce plugin nécessite les Edge Functions Supabase suivantes déployées en production :

  • obsidian-pending — GET, retourne les CRs en attente de sync
  • obsidian-ack — POST, marque un CR comme synchronisé
  • obsidian-cr-md — GET, retourne le contenu markdown d'un CR

Et la migration api_tokens_obsidian appliquée (table api_tokens + colonne obsidian_synced sur meeting_notes).

Licence

Propriétaire — Redsmite SAS

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.