mdViewer
Lecteur Markdown & Mermaid — OK-ia
Vos fichiers Markdown méritent mieux qu'un texte brut.
md Viewer les ouvre comme de vrais documents : titres, tableaux, diagrammes, cartes et encadrés s'affichent proprement, sur iPhone, iPad et Mac. Besoin de l'essentiel ? L'app résume le document et répond à vos questions. Écrit dans une autre langue ? Elle le traduit. Tout se passe sur votre appareil, même sans connexion.
Gratuit, sans compte, sans publicité.
🌐 Ouvrir le lecteur en ligne Essayer avec nos exemplesiPhone · iPad · Mac — iOS/iPadOS 26.4 ou macOS 26.4 ou ultérieur · Français, English, Deutsch, Español, Italiano
Ce que vous allez aimer
📄 Un vrai document, pas du code
Titres, tableaux, listes et citations, avec une typographie soignée et le mode sombre. Ouvrez un fichier depuis Fichiers, un e-mail ou une autre app : il est prêt à lire.
📊 Des diagrammes et des cartes
Les diagrammes Mermaid et les cartes s'affichent d'eux-mêmes, zoomables en plein écran. Les encadrés et liens de vos notes Obsidian aussi.
✨ L'essentiel en un geste
Un résumé clair, des questions suggérées sur le document, des réponses tirées de son seul contenu — et la traduction quand il est écrit dans une autre langue.
🎬 Du rapport au diaporama
Un bouton, et votre document devient une présentation plein écran. Puis exportez-le en PDF, Word ou PowerPoint.
🗣️ Siri et Raccourcis
« Ouvre le dernier rapport », « Résume un rapport » : votre dossier de rapports se consulte à la voix, depuis Spotlight ou un raccourci.
🔒 Hors ligne et privé
Aucun compte, aucun envoi : vos documents restent sur vos appareils. Seuls les fonds de carte se chargent en ligne.
Des rapports Markdown qui prennent vie
md Viewer affiche vos .md comme de vrais rapports : titres, tableaux, citations, callouts Obsidian, entités colorées — et les blocs spécialisés se transforment d'eux-mêmes. Un bloc ```mermaid devient un diagramme (flowchart, séquence, gantt, pie, mindmap) rendu hors-ligne au thème OK-ia, zoomable en plein écran vectoriel. Un bloc ```leaflet devient une carte géographique interactive : marqueurs positionnés, popups, fonds OpenFreeMap/OpenStreetMap, cadrage automatique sur les points et mode plein écran pour explorer.
Mode Présentation : du rapport au diaporama en un geste
Un bouton ▶ et chaque bloc séparé par --- devient une diapositive plein écran, façon Keynote. Cinq transitions (Fondu, Poussée, Entrée, Échelle, Retournement 3D), navigation au clavier, aux gestes ou aux flèches, vue d'ensemble en vignettes, mise à l'échelle automatique du contenu — images, diagrammes et cartes occupent tout l'écran. Et quand la réunion est finie, le diaporama s'exporte en PowerPoint (.pptx), texte et tableaux restant éditables.
Cinq thèmes de couleurs
Le diaporama se décline en cinq ambiances — Clair, Sombre, Console, Sépia et Océan — à choisir dans le menu ⚙ selon la salle, l'écran ou l'humeur. Le choix est mémorisé d'une présentation à l'autre, et la lisibilité de la charte OK-ia est préservée dans chacun.
« Le mode Console est mon préféré. »
— Patrick Ostertag, développeur de md Viewer
Exportez : PDF, Word, PowerPoint
Le rapport s'exporte en PDF paginé au format A4 (ou Letter selon votre région) : un vrai document, qu'on feuillette, qu'on transmet, et qu'on annote au Pencil dans Apple Notes. Les cartes et les diagrammes y figurent en entier, et aucun titre ne reste seul en bas d'une page. Ou en Word (.docx) — titres, gras et italiques, citations, listes, images, diagrammes… et tableaux éditables. Le diaporama s'exporte en PowerPoint (.pptx) mixte : texte et tableaux restent éditables, diagrammes et cartes sont intégrés en haute résolution. Le générateur OOXML est développé maison, sans aucune dépendance — les fichiers s'ouvrent dans Word et Pages, PowerPoint et Keynote. Et le .md source se partage tel quel.
En cinq langues
md Viewer parle votre langue : français, anglais, allemand, espagnol ou italien. L'app suit celle de votre appareil quand elle en fait partie, l'anglais sinon — et vous pouvez en choisir une autre à tout moment dans les Réglages. Toute l'app suit : menus, messages, formats de date, diaporama… jusqu'aux fonctions Apple Intelligence, dont le résumé et les réponses sont rédigés dans la langue choisie, même si le document, lui, est écrit dans une autre.
Prérequis : le choix de la langue (Système / Français / English / Deutsch / Español / Italiano) fonctionne sur tous les appareils compatibles — iPhone, iPad (iOS/iPadOS 26.4+) et Mac (macOS 26.4+), sans connexion. Seul le résumé rédigé par Apple Intelligence demande davantage : un appareil compatible Apple Intelligence sous iOS/iPadOS/macOS 26 ou ultérieur, avec Apple Intelligence activé dans les réglages système ; le bouton ✦ n'apparaît que lorsque ces conditions sont réunies.
Essayez, tout de suite
Deux fichiers de démonstration condensent tout ce que vous venez de lire : un rapport complet (les cinq familles Mermaid, carte Leaflet, callouts, entités colorées, tableaux, listes de tâches, code) et une présentation d'une douzaine de diapositives. Si md Viewer est installé, « Ouvrir dans md Viewer » les charge directement ; sinon, téléchargez le .md et ouvrez-le depuis Fichiers.
📄 Le rapport
Un observatoire complet : 5 diagrammes Mermaid, carte de Suisse romande, callouts, entités colorées, tableaux et listes de tâches.
Ouvrir dans md Viewer Ouvrir dans le lecteur en ligne Télécharger le .md🎞️ La présentation
13 diapositives : un diagramme par famille, carte interactive, tableau, thèmes et transitions à essayer, export PowerPoint.
Ouvrir dans md Viewer Ouvrir en diaporama, dans le navigateur Télécharger le .mdSous Windows, Linux, ou sans rien installer
L'application existe pour iPhone, iPad et Mac. Ailleurs — ou pour un collègue qui doit juste lire un rapport que vous lui envoyez — le lecteur en ligne affiche les mêmes documents : diagrammes, cartes, callouts, entités colorées. Les fichiers ne quittent pas la machine : ils sont lus par le navigateur, rien n'est téléversé.
- Ouvrir un fichier — bouton « Ouvrir un fichier… », ou glissez simplement votre .md sur la page.
- L'installer comme application — dans Edge ou Chrome, menu ⋯ puis Applications › Installer ce site en tant qu'application. Le lecteur s'ouvre alors dans sa propre fenêtre depuis le menu Démarrer, fonctionne sans connexion, et double-cliquer un .md dans l'Explorateur l'ouvre directement.
- Enregistrer en PDF — bouton « Imprimer / PDF », puis « Enregistrer au format PDF ». Cartes et diagrammes y figurent entiers.
Et aussi
📄 Rendu fidèle OK-ia
Le pipeline du viewer ok-ia.ch, embarqué dans l'app : typographie Nunito, tableaux, citations, callouts Obsidian (note, tip, warning…), wiki-links et coloration des entités (personnes, lieux, organisations).
🔎 Sommaire, recherche & zoom
Sommaire automatique avec saut direct à une section, recherche dans le document avec surlignage et navigation entre occurrences, taille de texte ajustable, images et diagrammes en plein écran.
✨ Résumé Apple Intelligence
Un résumé structuré (chapitres, gras, listes) généré sur l'appareil par le modèle local d'Apple Intelligence — dans la langue de l'app, sans qu'aucun texte ne quitte votre appareil. Nécessite un appareil compatible Apple Intelligence (iOS/macOS 26+).
💬 Discuter avec le document
Posez vos questions sur le rapport ouvert : les réponses sont structurées en chapitres et fondées sur son seul contenu, générées sur l'appareil. Quand la réponse ne s'y trouve pas, l'app le dit plutôt que d'inventer. L'écran de départ propose des amorces tirées du document lui-même. Même prérequis Apple Intelligence que le résumé.
🌍 Traduire le document
Un rapport arrive en allemand, vous lisez en français : un bouton le traduit sur l'appareil, paragraphe après paragraphe, sous vos yeux. Les diagrammes et les libellés de cartes suivent ; le code, les liens et les noms d'entités restent intacts. L'original reste à un geste, et rien ne part sur le réseau. Cinq langues, dans les deux sens.
🗂️ Coffre à rapports
Désignez un dossier (iCloud Drive) comme « coffre » : vos nouveaux rapports apparaissent sur l'écran d'accueil, et s'ouvrent automatiquement sur Mac. Siri et Raccourcis : « Ouvre le dernier rapport ».
🔒 100 % hors-ligne
marked, Mermaid, Leaflet et MapLibre sont embarqués dans l'app : rendu, diagrammes, résumé et exports fonctionnent sans réseau. Aucun compte, aucun pistage. Interface en cinq langues, au choix dans les réglages.
L'app en images
Pensé pour vos flux OK-ia
md Viewer est le lecteur des rapports générés par les outils OK-ia (observatoires, veille, fornews.ai) — et de n'importe quel fichier Markdown. Ouvrez un .md depuis Fichiers, le partage iOS, un glisser-déposer sur Mac, ou par lien : mdviewer://open?url=https://…/rapport.md.
Faites écrire vos rapports au bon format
Claude, ChatGPT, GitHub Copilot, Gemini : tous acceptent des instructions permanentes — « personnalisation », « custom instructions », « règles du dépôt ». Collez-y une fois la consigne de format, et chaque rapport produit ensuite s'ouvre dans md Viewer avec ses diagrammes, ses cartes et ses callouts déjà en place, sans retouche.
Astuce
Le format que lit md Viewer est du Markdown standard, celui d'Obsidian : frontmatter YAML, blocs mermaid pour les diagrammes, blocs leaflet pour les cartes, callouts > [!info], wiki-liens [[Entité]], et une ligne --- pour découper un diaporama. Demander ces éléments à votre assistant suffit : il n'y a rien de propriétaire à apprendre.
La version courte, pour toutes vos questions
Pour que les réponses de tous les jours s'ouvrent aussi bien que les rapports : collez ces dix lignes dans les instructions permanentes de votre assistant. Elles ne supposent aucune source de données particulière.
Réponds en Markdown, prêt à être lu dans md Viewer :
- Commence par un titre (#) et un résumé de deux ou trois phrases.
- Structure la réponse avec des sous-titres (##), des listes et des tableaux.
- Pour un processus, une chronologie, une répartition ou une hiérarchie, ajoute un diagramme dans un bloc ```mermaid (flowchart, sequence, timeline, gantt, pie ou mindmap), avec 8 éléments au plus et des libellés courts.
- Pour des lieux, ajoute une carte dans un bloc ```leaflet : une ligne id: nom-de-la-carte, puis une ligne par lieu au format marker: latitude, longitude, [[Nom du lieu]]. La carte se cadre toute seule.
- Mets les points à retenir dans des encadrés : > [!info], > [!tip] ou > [!warning].
- Écris les personnes, organisations et lieux importants en wiki-liens : [[Nom]].
- Si je demande une présentation, sépare les diapositives par une ligne ---.
- N'invente ni chiffre ni source : si une information manque, dis-le.
- Donne toute la réponse dans un seul bloc Markdown, que je puisse enregistrer en fichier .md.
D'un long document à une présentation
Un rapport, une étude, un compte rendu de trente pages ? Cette consigne ne se range pas dans les instructions permanentes : collez-la avec le document, et l'assistant en tire un diaporama prêt à projeter. Ouvrez le fichier dans md Viewer, touchez ▶, et présentez — ou exportez-le en PowerPoint.
Transforme le document ci-joint en présentation pour md Viewer, en Markdown :
- Première diapositive : le titre (#) et une phrase qui dit l'essentiel.
- Sépare les diapositives par une ligne --- seule, avec une ligne vide avant et après.
- Chaque diapositive suivante a un titre (##) et porte une seule idée.
- Deuxième diapositive : le plan, en liste numérotée.
- Au plus 5 puces par diapositive, de 12 mots au plus ; pas de longs paragraphes.
- Quand une idée s'y prête, montre-la plutôt que de l'écrire : un diagramme dans un bloc ```mermaid (8 éléments au plus), un tableau de 5 lignes au plus, ou un encadré > [!tip] ou > [!warning].
- Pour des lieux, une diapositive avec une carte dans un bloc ```leaflet : une ligne id: nom-de-la-carte, puis une ligne par lieu au format marker: latitude, longitude, [[Nom du lieu]].
- Garde exacts les chiffres, les noms et les citations du document ; n'invente rien.
- Termine par une diapositive « À retenir » (3 points), puis « Sources » si le document en cite.
- Vise 10 à 15 diapositives pour un document d'une dizaine de pages.
- Donne toute la présentation dans un seul bloc Markdown, que je puisse enregistrer en fichier .md. Après le bloc, dis en une phrase ce que tu as laissé de côté.
Un exemple de demande
Une fois les instructions en place, la commande tient en une phrase :
analyse le corpus de fornews-agence par mcp et prépare un rapport
sur les dernières nouvelles concernant openai
Les instructions complètes, pour des rapports de veille
Voici celles qui produisent les rapports de veille d'OK-ia — à adapter à votre propre source de données. Elles décrivent la structure attendue, les diagrammes, la carte, et surtout ce que le modèle n'a pas le droit d'inventer.
Afficher les instructions complètes (Markdown)
# Prompt — Rapport de veille fornews.ai
## Contexte
Tu es un analyste de veille spécialisé dans le champ sémantique **« Condition humaine, technologie et société »**.
Je te fournis un fichier JSON exporté depuis **fornews.ai**. Génère un **rapport de veille complet en Markdown**, livrable dans Obsidian, selon la structure et les règles ci-dessous.
---
## Structure réelle de l'export fornews.ai
L'export est un objet JSON avec les clés suivantes. **Lis-les toutes avant d'écrire** : plusieurs sont sous-exploitées alors qu'elles orientent l'analyse.
| Clé | Contenu | Usage attendu |
|---|---|---|
| `titre` | nom de la collection | oriente le titre H1, ne le recopie pas tel quel |
| `note` | ma note personnelle sur la collection | **révèle mon intention de veille** — infléchit l'angle du rapport |
| `regle.entites_suivies` | entités déclenchant la collecte | distingue le **cœur du corpus** de sa **périphérie** |
| `regle.active`, `suivie` | état de la règle | mentionner en pied de page |
| `date_creation`, `date_maj` | bornes techniques | pied de page |
| `entites` | liste plate `{valeur, articles}` | **fréquence = poids** : classe les entités par nombre d'occurrences |
| `articles[]` | `titre`, `resume`, `source`, `date`, `url`, `origine` | matière analytique |
| `liens` | souvent vide | ignorer si vide |
### Ce que l'export **ne contient pas** (et qu'il ne faut donc jamais inventer)
- **Aucun champ `imageURL`** → voir la procédure « Images » ci-dessous.
- **Aucun typage NER** (`org` / `person` / `loc` / `gpe` / `product` / `event`) : `entites` est une liste plate. La typologie doit être **reconstruite par toi**, à partir des valeurs et de leur contexte dans les résumés.
- **Aucune coordonnée géographique** : les latitudes/longitudes de la carte doivent être résolues par toi à partir des noms de lieux.
---
## Procédure « Images »
1. Pour chaque article pertinent, récupère la métadonnée **`og:image`** (à défaut `twitter:image`) sur la page de l'article via son `url`.
2. **Vérifie chaque URL** avant insertion : la réponse doit avoir un type MIME `image/*`. Toute URL qui échoue est écartée silencieusement.
3. Privilégie les visuels ≥ 1000 px sur le grand côté.
4. Format : `` — la légende doit apporter une information, pas répéter le titre de section.
5. **Jamais d'image extérieure au corpus.** Aucune image générée, aucune image trouvée par recherche web.
6. Certaines sources bloquent la récupération (protection anti-robot). Si un pan éditorial du corpus se retrouve non illustré, **signale-le en fin de rapport** : c'est une information sur le biais visuel du dossier.
7. Si la récolte échoue globalement, remplace les illustrations par des **diagrammes Mermaid** et dis-le dans la note méthodologique.
8. Evite d'utiliser 2 fois la même image dans le rapport
---
## Qualité des résumés — vigilance obligatoire
Les `resume` sont générés automatiquement et structurés en `## Contexte` / `## Faits principaux` / `## Enjeux` / `## Points clés`. Ils comportent régulièrement :
- des **erreurs de traduction ou de translittération** (un prénom de personnage rendu par un autre, une œuvre confondue avec une autre) ;
- des **hallucinations ponctuelles** (un acteur cité qui n'est pas au générique) ;
- du **bruit de scraping** : bandeaux cookies, biographies d'auteur, appels à newsletter, mentions de partenariat ;
- des **doublons** stricts (même article publié deux fois) ;
- des **articles hors sujet** captés par la règle de collecte.
Règles de traitement :
- **Ne retiens un fait chiffré, un nom ou une date que s'il est corroboré par au moins deux articles**, ou s'il provient d'une source primaire clairement identifiée dans le résumé. Sinon, ne l'utilise pas.
- **Dédoublonne** avant de compter : le nombre d'articles annoncé en en-tête est le nombre brut, mais l'analyse porte sur les articles utiles.
- **N'exploite jamais le bruit de scraping** comme matière analytique.
- Les articles périphériques (hors `entites_suivies`) ne sont pas des déchets : traités ensemble, ils documentent **l'effet d'entraînement** du sujet principal sur son écosystème. Consacre-leur un point clé quand ils sont nombreux.
---
## Champ sémantique de référence
Toutes les analyses doivent résonner avec ces thèmes :
Humain · Vie · Mort · Santé · Environnement · Espace · Liberté · Information · Désinformation · Communication · Langage · Intelligence · Ignorance · Recherche · Science · Robot · Ordinateur · Code · Nature · Réalité · Société · Loi · Pouvoir · Politique · Éthique · Responsable · Innovation · Outil · Danger · Maladie · Sécurité · Cinéma · Jeu · Art · Loisir · Simulation · Virtuel · Imaginaire · Consommation · Hier · Aujourd'hui · Demain · Futur · Temps · Histoire · Mémoire · Culture · Éducation · Apprentissage · Développement · Progrès · Créativité · Évolution · Bonheur · Émotion · Conscience · Identité
---
## Structure du rapport
### En-tête
Frontmatter YAML **sans champ `title`** (il ferait doublon avec le H1) :
---
date: AAAA-MM-JJ
type: rapport-veille
tags: [sujet, theme, veille-fornews]
---
Puis un **titre H1** interprétatif — pas le `titre` de la collection recopié, mais la tension que le corpus révèle. Métadonnées sur une ligne : nombre d'articles · période couverte · nombre de sources · date de génération.
Ensuite une **note méthodologique** en callout `> [!info]` : origine fornews.ai, provenance réelle des images, nombre d'entités agrégées, écarts éventuels avec la structure attendue.
Enfin, l'image d'ouverture la plus représentative du corpus.
---
### Synthèse exécutive
Paragraphe dense de 5 à 8 phrases. Synthétise les tensions structurelles — technologiques, politiques, humaines. Pas de liste, pas d'énumération : du souffle analytique. Les chiffres clés du corpus doivent y figurer, mais fondus dans la prose.
---
### 1. Cartographie NER — Acteurs clés
Reconstruis la typologie à partir de la liste plate `entites`, enrichie des entités repérées dans les résumés, en sous-sections :
- **Organisations** — entreprises, studios, institutions, médias, universités
- **Modèles & produits** — œuvres, technologies, formats, outils
- **Personnalités** — personnes réelles **et** personnages du récit, distingués si nécessaire
- **Lieux & entités géopolitiques**
- **Thèmes du champ sémantique activés**
Formate chaque entité en `code inline` séparées par ` · `. **Ordonne par poids décroissant** (champ `articles` de `entites`) plutôt qu'alphabétiquement : le classement est déjà une analyse.
Signale explicitement toute entité à forte occurrence qui serait un **artefact** (nom tronqué, doublon orthographique, mention parasite).
#### Carte géopolitique interactive
Bloc plugin Obsidian Leaflet. **Tu résous toi-même les coordonnées** de chaque lieu significatif :
```leaflet
id: identifiant-unique-basé-sur-le-sujet
lat: latitude centrale
long: longitude centrale
height: 500px
width: 100%
minZoom: 2
maxZoom: 10
defaultZoom: adapté à la dispersion géographique
marker: default, lat, long, [[Nom du lieu · rôle dans le corpus · faits clés]]
```
Un marker par entité géographique significative. Inclus les **lieux périphériques mais signifiants** (lieu d'un litige, d'un tournage secondaire, d'une controverse) : ce sont eux qui donnent de la profondeur à la carte. Écarte les entités trop vagues (« Amérique du Nord », « Europe »).
---
### 2. Chronologie des événements majeurs
Bloc de code texte, du plus ancien au plus récent :
JJ mois → Fait principal · Fait secondaire
Puis un **diagramme Mermaid `timeline`** regroupant la période en 3 à 5 phases nommées (ex. Attente → Consécration → Triomphe → Contre-attaque). Les noms de phases sont un acte d'interprétation : ils doivent raconter la dynamique, pas découper le calendrier.
---
### 3. Points clés
Sections numérotées 3.1, 3.2… — minimum 4, maximum 7. Pour chaque section :
- un titre descriptif et analytique ;
- une image du corpus dont l'article source correspond au thème, format `` ;
- un paragraphe analytique **en prose** ;
- lorsqu'un mécanisme, une opposition ou une série chiffrée le justifie, **un diagramme Mermaid** (`flowchart` pour une causalité ou une bifurcation, `xychart-beta` pour une série chiffrée).
Au moins un point clé doit porter sur la **dimension humaine et matérielle** du sujet (personnes, corps, coûts, litiges, effets non mesurés), et non seulement sur les chiffres et les stratégies.
---
### 4. Perspectives d'avenir
Sections numérotées 4.1, 4.2… — minimum 3. Même format que la section 3, image comprise. Chaque perspective doit être **ancrée dans un fait daté du corpus** (une échéance annoncée, une décision prise, un signal faible), jamais dans une généralité prospective.
---
### 5. Résonances sémantiques
- Citation d'ouverture : `> *thème · thème · thème*` — 3 à 5 thèmes du champ sémantique
- Une image de clôture à fort impact symbolique tirée du corpus
- Paragraphe conclusif reliant les faits à la question fondamentale qu'ils posent sur la condition humaine, la technologie et la société
- **Mots-clés de résonance** en `code inline` séparés par ` · `
---
### Annexe — Répartition des sources
Diagramme Mermaid `pie` de la distribution des articles par `source`, avec regroupement des sources isolées en « Autres ». Le déséquilibre éditorial du corpus est en soi une donnée : commente-le en une phrase si un média domine.
---
### Pied de page
Sources principales · période couverte · nom de la collection fornews.ai · entités suivies par la règle de collecte · mention des sources non illustrables le cas échéant.
---
## Règles absolues
- Markdown pur compatible Obsidian — aucun HTML
- Images : uniquement issues des articles du corpus, vérifiées, jamais inventées
- Prose dans toutes les sections analytiques — pas de listes à puces
- Diagrammes Mermaid lisibles (≤ 8 nœuds), sans caractères susceptibles de casser le rendu dans les libellés
- Hiérarchie stricte : `##` sections principales, `###` sous-sections
- Un seul titre H1, jamais dupliqué dans le frontmatter
- Langue : français
- Ton : analytique, synthétique, ouverture intellectuelle
- Aucun fait non corroboré ne franchit l'étape de rédaction
Confidentialité par conception
Aucune collecte de données, aucun compte, aucun pistage. Vos documents restent sur vos appareils et dans votre iCloud privé ; le résumé et la discussion sont calculés localement. Seules les tuiles de fond de carte sont chargées en ligne. Lire la politique de confidentialité.
Un rapport que vous ouvrez peut venir de n'importe où. C'est pourquoi md Viewer le donne au modèle comme une donnée, jamais comme une consigne : une instruction glissée dans un document — « ignore ce qui précède et… » — n'est pas exécutée. Le modèle répond sur le document ; il ne lui obéit pas.
Ce qui vient ensuite
1.3 — Optimisée pour iOS 27 et l'iPhone Duo
La 1.3 profitera de tout ce que les systèmes de la génération 27 apportent. Sur l'iPhone Duo, le document occupera tout l'écran sans que la pliure ne coupe une ligne, et, déplié, le sommaire, le résumé ou la discussion s'afficheront à côté du document plutôt que par-dessus. Pliez, dépliez : vous retrouvez votre lecture là où elle était.
En préparation, sans date : elle paraîtra quand elle aura été éprouvée sur l'appareil.
Nouveau dans la 1.2, déjà sur l'App Store : un rapport écrit dans une autre langue se traduit sous vos yeux, paragraphe après paragraphe, sur l'appareil. Diagrammes, cartes et liens restent intacts : on traduit ce qui se lit. La voir en vidéo sur Mastodon →
Voir la feuille de route →Télécharger md Viewer
md Viewer est disponible gratuitement sur l’App Store — iPhone, iPad et Mac.
Suivre la veille OK-ia
Les rapports de veille OK-ia — un par jour, sur l'intelligence artificielle — paraissent dans un flux RSS. Ni compte, ni adresse courriel, ni suivi. Collez cette adresse dans votre lecteur :
ok-ia.ch/rss.xml
mdViewer
Markdown & Mermaid reader — OK-ia
Your Markdown files deserve better than plain text.
md Viewer opens them as real documents: headings, tables, diagrams, maps and callouts display beautifully on iPhone, iPad and Mac. Need the gist? The app summarises the document and answers your questions. Written in another language? It translates it. Everything happens on your device, even offline.
Free, no account, no ads.
🌐 Open the online reader Try our sample filesiPhone · iPad · Mac — iOS/iPadOS 26.4 or macOS 26.4 or later · Français, English, Deutsch, Español, Italiano
What you'll love
📄 A real document, not code
Headings, tables, lists and quotes, with careful typography and dark mode. Open a file from Files, an email or another app: it's ready to read.
📊 Diagrams and maps
Mermaid diagrams and maps render on their own, zoomable full screen. So do the callouts and links of your Obsidian notes.
✨ The gist in one tap
A clear summary, suggested questions about the document, answers drawn from its content alone — and translation when it's written in another language.
🎬 From report to slideshow
One button, and your document becomes a full-screen presentation. Then export it to PDF, Word or PowerPoint.
🗣️ Siri and Shortcuts
“Open the latest report”, “Summarise a report”: your reports folder answers to your voice, from Spotlight or a shortcut.
🔒 Offline and private
No account, nothing uploaded: your documents stay on your devices. Only map tiles load online.
Markdown reports that come alive
md Viewer displays your .md files as real reports: headings, tables, quotes, Obsidian callouts, highlighted entities — and the specialised blocks transform themselves. A ```mermaid block becomes a diagram (flowchart, sequence, gantt, pie, mindmap) rendered offline with the OK-ia theme, zoomable full screen as crisp vectors. A ```leaflet block becomes an interactive geographic map: positioned markers, popups, OpenFreeMap/OpenStreetMap base maps, automatic framing on your points and a full-screen mode to explore.
Presentation mode: from report to slideshow in one tap
One ▶ button and every block separated by --- becomes a full-screen slide, Keynote style. Five transitions (Dissolve, Push, Move In, Scale, 3D Flip), keyboard, gesture or arrow navigation, a thumbnail overview, and automatic content scaling — images, diagrams and maps fill the screen. When the meeting is over, the slideshow exports to PowerPoint (.pptx) with text and tables still editable.
Five colour themes
The slideshow comes in five moods — Light, Dark, Console, Sepia and Ocean — picked from the ⚙ menu to match the room, the screen or the mood. Your choice is remembered from one presentation to the next, and the OK-ia design language stays legible in every one of them.
“Console mode is my favourite.”
— Patrick Ostertag, md Viewer's developer
Export: PDF, Word, PowerPoint
Reports export to a paginated A4 PDF (or Letter, depending on your region): a proper document — one you page through, send on, and annotate with the Pencil in Apple Notes. Maps and diagrams appear whole, and no heading is left stranded at the foot of a page. Or to Word (.docx) — headings, bold and italics, quotes, lists, images, diagrams… and editable tables. The slideshow exports to a mixed PowerPoint (.pptx): text and tables stay editable, diagrams and maps are embedded in high resolution. The OOXML generator is home-grown with zero dependencies — files open in Word and Pages, PowerPoint and Keynote. And the source .md can be shared as is.
In five languages
md Viewer speaks your language: English, French, German, Spanish or Italian. The app follows your device when its language is one of them, English otherwise — and you can pick another at any time in Settings. The whole app follows: menus, messages, date formats, the slideshow… down to the Apple Intelligence features, whose summary and answers are written in the chosen language even when the document itself is written in another.
Requirements: the language choice (System / Français / English / Deutsch / Español / Italiano) works on every supported device — iPhone, iPad (iOS/iPadOS 26.4+) and Mac (macOS 26.4+), no connection needed. Only the summary written by Apple Intelligence asks for more: an Apple Intelligence-capable device running iOS/iPadOS/macOS 26 or later, with Apple Intelligence enabled in the system settings; the ✦ button only appears when those conditions are met.
Try it, right now
Two demo files condense everything you just read: a full report (all five Mermaid families, a Leaflet map, callouts, highlighted entities, tables, task lists, code) and a dozen-slide presentation. If md Viewer is installed, “Open in md Viewer” loads them directly; otherwise download the .md and open it from Files.
📄 The report
A full observatory: 5 Mermaid diagrams, a map of western Switzerland, callouts, highlighted entities, tables and task lists.
Open in md Viewer Open in the online reader Download the .md🎞️ The presentation
13 slides: one diagram per family, an interactive map, a table, themes and transitions to try, PowerPoint export.
Open in md Viewer Open as a slideshow, in the browser Download the .mdOn Windows, Linux, or without installing anything
The app exists for iPhone, iPad and Mac. Anywhere else — or for a colleague who simply needs to read a report you sent them — the online reader shows the same documents: diagrams, maps, callouts, highlighted entities. Files never leave the machine: the browser reads them, nothing is uploaded.
- Open a file — the « Ouvrir un fichier… » button, or just drag your .md onto the page.
- Install it as an app — in Edge or Chrome, the ⋯ menu, then Apps › Install this site as an app. The reader then opens in its own window from the Start menu, works offline, and double-clicking a .md in File Explorer opens it straight away.
- Save as PDF — the « Imprimer / PDF » button, then « Save as PDF ». Maps and diagrams appear whole.
And also
📄 Faithful OK-ia rendering
The ok-ia.ch viewer pipeline, embedded in the app: Nunito typography, tables, quotes, Obsidian callouts (note, tip, warning…), wiki-links and entity highlighting (people, places, organisations).
🔎 Outline, search & zoom
Automatic outline with direct section jumps, in-document search with highlighting and match navigation, adjustable text size, and full-screen viewing for images and diagrams.
✨ Apple Intelligence summary
A structured summary (chapters, bold, lists) generated on-device by Apple Intelligence's local model — in the app's language, without a single word leaving your device. Requires an Apple Intelligence-capable device (iOS/macOS 26+).
💬 Chat with the document
Ask questions about the open report: answers are structured into chapters and grounded in its content alone, generated on-device. When the answer is not in the document, the app says so instead of inventing one. The opening screen offers starters drawn from the document itself. Same Apple Intelligence requirements as the summary.
🌍 Translate the document
A report arrives in German and you read in French: one button translates it on the device, paragraph after paragraph, before your eyes. Diagram and map labels follow; code, links and entity names stay untouched. The original is one tap away, and nothing leaves the device. Five languages, both ways.
🗂️ Report vault
Pick a folder (iCloud Drive) as your "vault": new reports show up on the home screen and open automatically on the Mac. Siri and Shortcuts: "Open the latest report".
🔒 100% offline
marked, Mermaid, Leaflet and MapLibre ship inside the app: rendering, diagrams, summaries and exports all work without a network. No account, no tracking. UI in five languages — your choice in Settings.
The app in pictures
Built for your OK-ia workflows
md Viewer is the reader for reports produced by OK-ia tools (observatories, media monitoring, fornews.ai) — and for any Markdown file. Open a .md from Files, the iOS share sheet, drag & drop on the Mac, or via a link: mdviewer://open?url=https://…/report.md.
Have your reports written in the right format
Claude, ChatGPT, GitHub Copilot, Gemini: all of them accept standing instructions — "personalisation", "custom instructions", "repository rules". Paste the format brief there once, and every report produced afterwards opens in md Viewer with its diagrams, maps and callouts already in place, untouched.
Tip
The format md Viewer reads is plain Markdown, the Obsidian flavour: YAML frontmatter, mermaid blocks for diagrams, leaflet blocks for maps, > [!info] callouts, [[Entity]] wiki-links, and a --- line to cut a slideshow. Asking your assistant for those is enough — there is nothing proprietary to learn.
The short version, for everyday questions
So that everyday answers open as well as full reports: paste these ten lines into your assistant's standing instructions. They don't assume any particular data source.
Answer in Markdown, ready to be read in md Viewer:
- Start with a title (#) and a two- or three-sentence summary.
- Structure the answer with subheadings (##), lists and tables.
- For a process, a timeline, a breakdown or a hierarchy, add a diagram in a ```mermaid block (flowchart, sequence, timeline, gantt, pie or mindmap), with at most 8 items and short labels.
- For places, add a map in a ```leaflet block: a line id: map-name, then one line per place in the form marker: latitude, longitude, [[Place name]]. The map frames itself.
- Put key points in callouts: > [!info], > [!tip] or > [!warning].
- Write important people, organisations and places as wiki-links: [[Name]].
- If I ask for a presentation, separate slides with a --- line.
- Don't invent figures or sources: if something is missing, say so.
- Give the whole answer in a single Markdown block I can save as a .md file.
From a long document to a presentation
A report, a study, thirty pages of minutes? This prompt doesn't belong in the standing instructions: paste it together with the document, and the assistant turns it into a slideshow ready to project. Open the file in md Viewer, tap ▶, and present — or export it to PowerPoint.
Turn the attached document into a presentation for md Viewer, in Markdown:
- First slide: the title (#) and one sentence that captures the essentials.
- Separate slides with a --- line on its own, with a blank line before and after.
- Every following slide has a heading (##) and carries a single idea.
- Second slide: the outline, as a numbered list.
- At most 5 bullets per slide, 12 words each at most; no long paragraphs.
- When an idea lends itself to it, show it rather than write it: a diagram in a ```mermaid block (8 items at most), a table of 5 rows at most, or a > [!tip] or > [!warning] callout.
- For places, one slide with a map in a ```leaflet block: a line id: map-name, then one line per place in the form marker: latitude, longitude, [[Place name]].
- Keep the document's figures, names and quotes exact; invent nothing.
- End with a "Key takeaways" slide (3 points), then "Sources" if the document cites any.
- Aim for 10 to 15 slides for a document of about ten pages.
- Give the whole presentation in a single Markdown block I can save as a .md file. After the block, say in one sentence what you left out.
An example request
Once the instructions are in place, the request fits in one sentence:
analyse the fornews-agence corpus over mcp and prepare a report
on the latest news about openai
The full instructions, for monitoring reports
These are the ones that produce OK-ia's monitoring reports — adapt them to your own data source. They describe the expected structure, the diagrams, the map, and above all what the model is not allowed to invent.
Show the full instructions (Markdown)
# Prompt — fornews.ai monitoring report
## Context
You are a media-monitoring analyst specialising in the semantic field **"The human condition, technology and society"**.
I give you a JSON file exported from **fornews.ai**. Produce a **complete monitoring report in Markdown**, ready to open in Obsidian, following the structure and rules below.
---
## Actual structure of the fornews.ai export
The export is a JSON object with the keys below. **Read them all before writing**: several are under-used even though they steer the analysis.
| Key | Content | Expected use |
|---|---|---|
| `titre` | name of the collection | informs the H1, do not copy it verbatim |
| `note` | my personal note on the collection | **reveals my intent** — it should bend the angle of the report |
| `regle.entites_suivies` | entities that trigger collection | separates the **core** of the corpus from its **periphery** |
| `regle.active`, `suivie` | state of the collection rule | mention in the footer |
| `date_creation`, `date_maj` | technical bounds | footer |
| `entites` | flat list of `{valeur, articles}` | **frequency = weight**: rank entities by number of occurrences |
| `articles[]` | `titre`, `resume`, `source`, `date`, `url`, `origine` | analytical material |
| `liens` | often empty | ignore when empty |
### What the export **does not** contain (and must therefore never be invented)
- **No `imageURL` field** → see the "Images" procedure below.
- **No NER typing** (`org` / `person` / `loc` / `gpe` / `product` / `event`): `entites` is a flat list. The typology must be **rebuilt by you**, from the values and their context in the summaries.
- **No geographic coordinates**: the latitudes and longitudes on the map must be resolved by you from the place names.
---
## "Images" procedure
1. For each relevant article, fetch the **`og:image`** metadata (failing that `twitter:image`) from the article page via its `url`.
2. **Check every URL** before inserting it: the response must have an `image/*` MIME type. Any URL that fails is dropped silently.
3. Prefer visuals of 1000 px or more on the long side.
4. Format: `` — the caption must add information, not repeat the section title.
5. **Never an image from outside the corpus.** No generated image, no image found through web search.
6. Some sources block retrieval (anti-bot protection). If a whole editorial strand of the corpus ends up unillustrated, **say so at the end of the report**: that is information about the visual bias of the file.
7. If the harvest fails altogether, replace the illustrations with **Mermaid diagrams** and say so in the methodological note.
8. Avoid using the same image twice in the report.
---
## Summary quality — mandatory vigilance
The `resume` fields are generated automatically and structured as `## Contexte` / `## Faits principaux` / `## Enjeux` / `## Points clés`. They regularly contain:
- **translation or transliteration errors** (one character's first name rendered as another, one work confused with another);
- **occasional hallucinations** (an actor cited who is not in the credits);
- **scraping noise**: cookie banners, author biographies, newsletter prompts, sponsorship notices;
- **strict duplicates** (the same article published twice);
- **off-topic articles** caught by the collection rule.
Handling rules:
- **Keep a figure, a name or a date only if it is corroborated by at least two articles**, or if it comes from a primary source clearly identified in the summary. Otherwise, do not use it.
- **Deduplicate** before counting: the article count given in the header is the raw number, but the analysis covers the useful articles.
- **Never treat scraping noise** as analytical material.
- Peripheral articles (outside `entites_suivies`) are not waste: taken together, they document the **knock-on effect** of the main subject on its ecosystem. Give them a key point of their own when there are many.
---
## Reference semantic field
Every analysis must resonate with these themes:
Human · Life · Death · Health · Environment · Space · Freedom · Information · Disinformation · Communication · Language · Intelligence · Ignorance · Research · Science · Robot · Computer · Code · Nature · Reality · Society · Law · Power · Politics · Ethics · Responsible · Innovation · Tool · Danger · Illness · Security · Cinema · Play · Art · Leisure · Simulation · Virtual · Imaginary · Consumption · Yesterday · Today · Tomorrow · Future · Time · History · Memory · Culture · Education · Learning · Development · Progress · Creativity · Evolution · Happiness · Emotion · Consciousness · Identity
---
## Structure of the report
### Header
YAML frontmatter **with no `title` field** (it would duplicate the H1):
---
date: YYYY-MM-DD
type: monitoring-report
tags: [subject, theme, fornews-monitoring]
---
Then an interpretive **H1 title** — not the collection's `titre` copied over, but the tension the corpus reveals. Metadata on a single line: number of articles · period covered · number of sources · generation date.
Then a **methodological note** in a `> [!info]` callout: fornews.ai origin, actual provenance of the images, number of aggregated entities, any departures from the expected structure.
Finally, the opening image most representative of the corpus.
---
### Executive summary
A dense paragraph of 5 to 8 sentences. Draw together the structural tensions — technological, political, human. No list, no enumeration: analytical breath. The corpus's key figures must appear, but woven into the prose.
---
### 1. NER map — Key actors
Rebuild the typology from the flat `entites` list, enriched with entities spotted in the summaries, in subsections:
- **Organisations** — companies, studios, institutions, media, universities
- **Models & products** — works, technologies, formats, tools
- **People** — real persons **and** characters in the story, distinguished where necessary
- **Places & geopolitical entities**
- **Themes of the semantic field activated**
Format each entity as `inline code`, separated by ` · `. **Order by decreasing weight** (the `articles` field of `entites`) rather than alphabetically: the ranking is already an analysis.
Explicitly flag any high-frequency entity that is an **artefact** (truncated name, spelling duplicate, parasitic mention).
#### Interactive geopolitical map
An Obsidian Leaflet plugin block. **You resolve the coordinates yourself** for each significant place:
```leaflet
id: unique-identifier-based-on-the-subject
lat: central latitude
long: central longitude
height: 500px
width: 100%
minZoom: 2
maxZoom: 10
defaultZoom: matched to the geographic spread
marker: default, lat, long, [[Place name · role in the corpus · key facts]]
```
One marker per significant geographic entity. Include **peripheral but meaningful places** (the site of a lawsuit, of a secondary shoot, of a controversy): they are what give the map depth. Leave out entities that are too vague ("North America", "Europe").
---
### 2. Timeline of major events
A plain-text code block, oldest first:
DD month → Main fact · Secondary fact
Then a **Mermaid `timeline` diagram** grouping the period into 3 to 5 named phases (e.g. Anticipation → Recognition → Triumph → Backlash). The phase names are an act of interpretation: they must tell the dynamic, not slice the calendar.
---
### 3. Key points
Sections numbered 3.1, 3.2… — at least 4, at most 7. For each section:
- a descriptive, analytical title;
- an image from the corpus whose source article matches the theme, in the format ``;
- an analytical paragraph **in prose**;
- where a mechanism, an opposition or a numeric series warrants it, **a Mermaid diagram** (`flowchart` for a causal chain or a fork, `xychart-beta` for a numeric series).
At least one key point must address the **human and material dimension** of the subject (people, bodies, costs, disputes, unmeasured effects), not only figures and strategies.
---
### 4. Outlook
Sections numbered 4.1, 4.2… — at least 3. Same format as section 3, image included. Each outlook must be **anchored in a dated fact from the corpus** (an announced deadline, a decision taken, a weak signal), never in a prospective generality.
---
### 5. Semantic resonances
- Opening quotation: `> *theme · theme · theme*` — 3 to 5 themes from the semantic field
- A closing image of strong symbolic impact, drawn from the corpus
- A concluding paragraph tying the facts to the fundamental question they raise about the human condition, technology and society
- **Resonance keywords** as `inline code`, separated by ` · `
---
### Appendix — Distribution of sources
A Mermaid `pie` diagram of the distribution of articles by `source`, with isolated sources grouped under "Other". The editorial imbalance of the corpus is itself a finding: comment on it in one sentence if a single outlet dominates.
---
### Footer
Main sources · period covered · name of the fornews.ai collection · entities tracked by the collection rule · mention of the sources that could not be illustrated, where applicable.
---
## Absolute rules
- Pure Markdown, Obsidian-compatible — no HTML
- Images: only from the corpus articles, verified, never invented
- Prose in every analytical section — no bullet lists
- Readable Mermaid diagrams (8 nodes or fewer), with no characters in the labels liable to break rendering
- Strict hierarchy: `##` for main sections, `###` for subsections
- A single H1, never duplicated in the frontmatter
- Language: English
- Tone: analytical, synthetic, intellectually open
- No uncorroborated fact makes it to the writing stage
Privacy by design
No data collection, no account, no tracking. Your documents stay on your devices and in your private iCloud; the summary and the chat are computed locally. Only the base map tiles are loaded online. Read the privacy policy.
A report you open can come from anywhere. That is why md Viewer hands it to the model as data, never as a command: an instruction slipped into a document — “ignore the above and…” — is not carried out. The model answers about the document; it does not obey it.
What comes next
1.3 — Optimised for iOS 27 and iPhone Duo
Version 1.3 will make full use of what the generation-27 systems bring. On iPhone Duo, the document will fill the whole screen without the fold cutting through a line, and, when unfolded, the table of contents, summary or chat will sit beside the document instead of covering it. Fold, unfold: your reading stays exactly where it was.
In preparation, with no date: it will ship once it has been proven on the device.
New in 1.2, already on the App Store: a report written in another language translates before your eyes, paragraph after paragraph, on the device. Diagrams, maps and links stay intact: we translate what is read. Watch it in action on Mastodon →
See the roadmap →Download md Viewer
md Viewer is available free on the App Store — iPhone, iPad and Mac.
Follow the OK-ia monitoring
OK-ia's monitoring reports — one a day, on artificial intelligence — are published as an RSS feed. No account, no email address, no tracking. Paste this address into your reader:
ok-ia.ch/rss.xml