Retour au blog

LibreOffice Sans IA Bat Son Record de Téléchargements : Pourquoi l'Absence d'IA Est Devenue une Fonctionnalité en 2026

Salut HaWkers, LibreOffice 26.8 est sorti le 26 août 2026 sans aucune fonction d'IA générative, et The Document Foundation a tenu à préciser qu'il s'agissait d'un choix, pas d'un retard. Une semaine plus tard, la fondation a publié les chiffres : 1 031 162 téléchargements sur le site officiel au cours des sept premiers jours, la meilleure première semaine de toutes les versions de l'histoire du projet. Le lendemain est arrivé un billet dont le titre résume tout le débat : "Yes, no AI is now a feature".

Arrêtez-vous une seconde et pensez aux dernières apps que vous avez mises à jour. Combien d'entre elles ont reçu un bouton à paillettes que vous n'aviez pas demandé ? Dans cet article, vous allez comprendre ce que la fondation a réellement annoncé, quelles sont les six conditions qu'elle impose pour qu'une IA entre dans le paquet par défaut, pourquoi cela fait écho à la hausse de prix de Microsoft 365 et comment appliquer la même logique à votre produit, avec du code d'IA opt-in et un pipeline qui résume des documents sans les faire sortir de votre machine.

Ce Qui S'est Passé Avec LibreOffice 26.8

LibreOffice est né en 2010 comme un fork d'OpenOffice.org et il est maintenu par The Document Foundation (TDF), une fondation allemande à but non lucratif. C'est l'alternative gratuite la plus connue à Microsoft Office, et elle tourne dans des écoles, des hôpitaux, des administrations publiques et des cabinets d'avocats partout dans le monde.

La version 26.8 est arrivée pour Windows, macOS et Linux, en 120 langues. Les chiffres qui ont attiré l'attention sont les suivants :

  • 1 031 162 téléchargements en sept jours, en comptant uniquement le site officiel. Ceux qui installent via Flathub, le Snap Store, des PPA ou le dépôt de leur distribution Linux ne sont pas comptés, donc le total réel est plus élevé.
  • Deux semaines consécutives au-dessus du million de téléchargements, du jamais vu pour le projet. Une partie de ce résultat coïncide avec la sortie de la version de maintenance 26.2.6 dans la même période.
  • 29 755 011 téléchargements cumulés en 2026, selon les chiffres compilés par Cybernews, contre 24 830 220 en 2025 et 23 732 502 en 2024.

La nouvelle a pris une ampleur internationale à partir d'un texte du site brésilien Manual do Usuário, qui est arrivé en première page de Hacker News avec plus de 700 points et plus de 200 commentaires.

Les nouveautés de cette version

Sans IA ne veut pas dire sans nouveautés. Les principaux changements de la 26.8 :

Module Nouveauté
Writer Paragraph Composer, un algorithme de mise en page qui équilibre l'espacement entre les mots sur des lignes consécutives
Writer Ouverture plus rapide des gros documents contenant des images et base pour comparer des documents côte à côte
Writer Prise en charge des variations de polices OpenType et détection automatique de la direction du paragraphe
Calc Commande pour mélanger les cellules d'une plage et champs calculés dans les tableaux croisés dynamiques
Chart Prise en charge expérimentale de l'import et de la réexportation des nouveaux graphiques Chartex de Microsoft Office
Draw Option pour inverser le zoom et le défilement avec la molette de la souris

Ajoutez à cela une meilleure compatibilité avec les fichiers XLSX, qui reste le point le plus sensible pour ceux qui changent de suite au travail.

"Pas d'IA, C'est une Fonctionnalité ?" : Les Six Conditions de la Fondation

Le billet du 3 septembre, signé par Italo Vignoli sur le blog de la TDF, commence par répondre à un commentaire laissé sous l'annonce de la version : "donc, ne pas avoir d'IA, c'est maintenant une fonctionnalité ?". La réponse est plus nuancée que le titre ne le laisse penser. La fondation affirme que LibreOffice ne rejette pas l'intelligence artificielle d'emblée. Ce qu'elle refuse, c'est d'intégrer au paquet par défaut, utilisé par des dizaines de millions de personnes, une fonctionnalité qui ne peut pas encore être livrée dans le respect des principes du projet.

Et ces principes sont devenus une liste objective de six conditions :

  1. Exécution contrôlée par l'utilisateur. C'est l'utilisateur qui choisit où tourne l'inférence : sur son propre ordinateur, sur une infrastructure qu'il contrôle ou sur un service qu'il a choisi de manière indépendante. Selon les mots de la TDF, un réglage par défaut qui redirige en silence vers un fournisseur unique n'est pas un choix.
  2. Aucun contenu ne quitte l'ordinateur sans autorisation. L'envoi du document doit être une décision de l'utilisateur, jamais un comportement en arrière-plan.
  3. Aucune télémétrie, de quelque nature que ce soit. LibreOffice ne collecte pas de données d'utilisation, et cela vaut aussi pour l'IA.
  4. Aucune dépendance à un fournisseur unique. Pour la fondation, une intégration qui ne fonctionne qu'avec l'API d'une seule entreprise est un mécanisme d'enfermement.
  5. Aucun compromis sur le format. Le contenu généré doit sortir en ODF, comme n'importe quel autre contenu.
  6. Entièrement optionnel. La fonctionnalité doit être installable, désinstallable et absente de l'interface pour ceux qui ne veulent pas l'utiliser.

La conclusion de la TDF est directe : aujourd'hui, aucune intégration ne remplit toutes ces exigences pour entrer dans la configuration par défaut. Ceux qui veulent de l'IA peuvent installer des extensions tierces pointant vers Ollama, LM Studio ou n'importe quel endpoint compatible avec l'API d'OpenAI, et dans ce cas le document ne quitte jamais l'ordinateur.

Remarquez que ce n'est pas un manifeste anti-IA. C'est un cahier des charges. J'ai déjà expliqué ici sur le blog comment Debian a voté des règles pour l'usage de l'IA générative dans le code, et le schéma est similaire : les grands projets open source remplacent le "oui ou non" par "à quelles conditions".

L'Autre Côté : L'IA Comme Justification des Hausses de Prix

L'argument le plus tranchant du billet n'est pas technique, il porte sur le modèle économique. La TDF rappelle qu'en tant que fondation à but non lucratif, elle n'a pas de formules d'abonnement à protéger, pas d'upsell à pousser ni de données à monétiser. Dans les suites commerciales, en revanche, toujours selon le texte, l'assistant IA sert à justifier des hausses de prix et à renforcer l'argument qui consiste à garder tous les documents dans l'infrastructure du fournisseur.

Le calendrier appuie l'argument. Le 1er juillet 2026, Microsoft a augmenté les prix des offres professionnelles de Microsoft 365 et, dans la foulée, a inclus Copilot Chat dans les offres de base, avec la lecture de la boîte de réception et de l'agenda, et des agents dans Word, Excel et PowerPoint. Voici quelques-uns des nouveaux prix par utilisateur et par mois :

Offre Avant Après Hausse
Business Basic 6,00 $ US 7,00 $ US +17 %
Business Standard 12,50 $ US 14,00 $ US +12 %
Microsoft 365 E3 36,00 $ US 39,00 $ US +8 %
Microsoft 365 E5 57,00 $ US 60,00 $ US +5 %
F3 (avec Teams) 8,00 $ US 10,00 $ US +25 %
F1 (sans Teams) 1,75 $ US 2,50 $ US +43 %

Microsoft 365 Copilot dans sa version complète reste un module complémentaire vendu à part, à 30 $ US par utilisateur et par mois. Autrement dit : l'IA de base est entrée dans le paquet en même temps que la hausse de prix, et l'IA la plus complète continue d'être vendue séparément. On ne peut pas affirmer que l'une a causé l'autre, mais c'est exactement ce type de combinaison que la TDF met en avant comme contraste.

La Leçon Produit : Quand Tout le Monde Ajoute, Retirer Devient un Positionnement

Le positionnement, c'est avant tout une différence perçue. Quand toutes les suites bureautiques ont le même bouton d'IA, ce bouton cesse de distinguer ceux qui l'ont et commence à distinguer ceux qui ne l'ont pas. LibreOffice n'a pas inventé cela. En août 2024, Procreate, l'app de dessin pour iPad, a promis publiquement de ne jamais intégrer d'IA générative à ses produits, et son PDG James Cuda a résumé la position en une phrase : "Creativity is made, not generated." ("la créativité se fait, elle ne se génère pas"). La réaction de la communauté d'artistes a été majoritairement positive.

Trois éléments font fonctionner cette stratégie dans le cas de la TDF, et ils valent pour n'importe quel produit.

1. Le bon client valorise l'absence

Les écoles, les hôpitaux, les administrations publiques et les cabinets d'avocats manipulent des données confidentielles, couvertes par le secret ou personnelles. Pour eux, savoir où va le document est un critère d'achat, pas un détail. Au Brésil, tout logiciel qui traite des données personnelles se heurte à la LGPD, l'équivalent brésilien du RGPD, et "le contenu ne quitte jamais la machine" raccourcit beaucoup la discussion avec le service juridique. En Europe, le mouvement de souveraineté numérique pousse dans la même direction, comme l'a montré le plan de la France pour remplacer les apps américaines.

2. La position doit être cohérente avec le modèle économique

La TDF peut dire "pas d'IA par défaut" avec crédibilité parce qu'elle ne vit pas d'abonnements. Si votre SaaS facture par siège et pousse une offre premium avec IA, le même discours sonne faux. Avant de copier la stratégie, demandez-vous si elle est cohérente avec la façon dont vous gagnez de l'argent.

3. Ce n'est pas "jamais", c'est "sous conditions"

La TDF a laissé la porte ouverte et a écrit les critères pour l'ouvrir. Cela transforme un refus en une promesse vérifiable et offre à ceux qui veulent de l'IA un chemin, les extensions, sans l'imposer à ceux qui n'en veulent pas.

En Pratique : L'IA Opt-In Dans Votre Produit

Les six conditions de la TDF forment une excellente checklist d'architecture. Transformons les plus importantes en code, en commençant par la base : tout désactivé par défaut.

// ai-settings.ts: configuration de l'IA du produit, tout commence désactivé
export type AiProvider =
  | { kind: 'local'; baseUrl: string; model: string } // ex. : Ollama sur la machine de l'utilisateur
  | { kind: 'self-hosted'; baseUrl: string; model: string } // serveur contrôlé par l'entreprise de l'utilisateur
  | { kind: 'external'; baseUrl: string; model: string; apiKeyRef: string }; // service choisi par l'utilisateur

export interface AiSettings {
  enabled: boolean; // la fonctionnalité n'existe qu'une fois activée par l'utilisateur
  provider: AiProvider | null; // aucun fournisseur choisi par défaut
  allowContentUpload: boolean; // autorisation explicite pour envoyer du contenu à l'extérieur
  showInToolbar: boolean; // si false, l'IA n'apparaît même pas dans l'interface
  telemetry: boolean; // la collecte de données d'usage est aussi opt-in
}

export const DEFAULT_AI_SETTINGS: Readonly<AiSettings> = Object.freeze({
  enabled: false,
  provider: null,
  allowContentUpload: false,
  showInToolbar: false,
  telemetry: false,
});

La règle d'or se trouve dans l'objet par défaut : aucun fournisseur choisi, aucun envoi autorisé, rien dans l'interface. L'utilisateur active ce qu'il veut, quand il le veut.

Une barrière avant tout appel réseau

La condition numéro 2 de la TDF, aucun contenu ne sort sans autorisation, doit être garantie dans le code, pas par la bonne volonté de celui qui écrit chaque écran. Un garde-fou central règle la question :

// ai-guard.ts: tout appel d'IA passe par ici avant de toucher le réseau
import type { AiProvider, AiSettings } from './ai-settings';

export class AiNotAllowedError extends Error {
  constructor(message: string) {
    super(message);
    this.name = 'AiNotAllowedError';
  }
}

const isOnDevice = (provider: AiProvider): boolean => {
  if (provider.kind !== 'local') return false;
  const { hostname } = new URL(provider.baseUrl);
  // "local" ne compte que si l'adresse est réellement la machine de l'utilisateur
  return ['localhost', '127.0.0.1', '[::1]'].includes(hostname);
};

export function assertAiAllowed(
  settings: AiSettings,
  hasUserContent: boolean
): AiProvider {
  if (!settings.enabled || !settings.provider) {
    throw new AiNotAllowedError("IA désactivée : l'utilisateur n'a pas activé la fonctionnalité.");
  }

  // Le contenu de l'utilisateur ne quitte la machine qu'avec une autorisation explicite
  if (hasUserContent && !isOnDevice(settings.provider) && !settings.allowContentUpload) {
    throw new AiNotAllowedError('Envoi de contenu vers un fournisseur distant non autorisé.');
  }

  return settings.provider;
}

Ainsi, oublier la vérification dans une nouvelle fonctionnalité ne fait fuiter aucun document : l'appel échoue tôt et bruyamment, et l'erreur dit exactement ce qui manquait.

Absente de l'interface pour ceux qui n'en veulent pas

La condition 6 exige que la fonctionnalité soit désinstallable et absente de l'interface. Côté front-end, cela se traduit par un v-if honnête, et non par un bouton désactivé qui clignote dans la barre d'outils :

<script setup lang="ts">
// EditorToolbar.vue: le bouton d'IA n'existe que pour ceux qui ont activé la fonctionnalité
import { computed } from 'vue';
import type { AiSettings } from './ai-settings';

const props = defineProps<{ settings: AiSettings }>();
const emit = defineEmits<{ summarize: [] }>();

const showAiButton = computed(
  () => props.settings.enabled && props.settings.showInToolbar
);
</script>

<template>
  <nav class="toolbar">
    <button type="button">Enregistrer</button>
    <button type="button">Exporter en PDF</button>
    <!-- Pas de bouton à paillettes pour ceux qui n'ont rien demandé -->
    <button v-if="showAiButton" type="button" @click="emit('summarize')">
      Résumer avec l'IA
    </button>
  </nav>
</template>

L'IA Locale Comme le Suggère la TDF : LibreOffice Headless + Ollama

Le chemin que la TDF indique à ceux qui veulent de l'IA, un modèle qui tourne sur la machine elle-même avec un endpoint compatible OpenAI, est facile à mettre en place aujourd'hui. Et LibreOffice entre en jeu comme brique d'automatisation : le mode headless convertit des documents sans ouvrir la moindre interface. Si vous voulez mieux comprendre le paysage des modèles qui tournent directement sur l'appareil, j'ai écrit sur l'IA locale et l'edge computing ici sur le blog.

D'abord, le terminal :

# 1. Téléchargez un modèle à exécuter en local (seulement la première fois)
ollama pull llama3.2

# 2. Vérifiez que l'endpoint compatible OpenAI répond
curl http://localhost:11434/v1/models

# 3. Convertissez un document en texte brut sans ouvrir l'interface de LibreOffice
#    (sur macOS, le binaire se trouve dans /Applications/LibreOffice.app/Contents/MacOS/soffice)
soffice --headless --convert-to txt:Text --outdir ./sortie contrat.odt

# 4. Le même mode headless génère du PDF, utile en back-end et dans les pipelines de CI
soffice --headless --convert-to pdf --outdir ./sortie rapport.docx

Voici maintenant un script Node.js qui réunit les deux : il convertit le document avec LibreOffice et demande un résumé au modèle local. Le fichier ne quitte votre ordinateur à aucun moment.

// resume-local.mjs: résume un document sans qu'il quitte votre machine
import { execFile } from 'node:child_process';
import { mkdtemp, readFile, rm } from 'node:fs/promises';
import { tmpdir } from 'node:os';
import path from 'node:path';
import { promisify } from 'node:util';

const run = promisify(execFile);
const SOFFICE = process.env.SOFFICE ?? 'soffice'; // chemin du binaire de LibreOffice
const ENDPOINT = 'http://localhost:11434/v1/chat/completions'; // Ollama, compatible OpenAI
const MODEL = process.env.MODEL ?? 'llama3.2'; // remplacez par le modèle que vous avez téléchargé

async function documentToText(file) {
  const outDir = await mkdtemp(path.join(tmpdir(), 'lo-'));
  try {
    // Conversion headless : aucune fenêtre ne s'ouvre et rien ne part sur le réseau
    await run(SOFFICE, ['--headless', '--convert-to', 'txt:Text', '--outdir', outDir, file]);
    const name = `${path.basename(file, path.extname(file))}.txt`;
    return await readFile(path.join(outDir, name), 'utf-8');
  } finally {
    await rm(outDir, { recursive: true, force: true }); // supprime le fichier temporaire
  }
}

async function summarize(text) {
  const response = await fetch(ENDPOINT, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      model: MODEL,
      messages: [
        { role: 'system', content: 'Résume le document en 5 points maximum, en français.' },
        { role: 'user', content: text.slice(0, 20_000) }, // coupe les textes trop longs
      ],
    }),
  });
  if (!response.ok) throw new Error(`Le modèle local a répondu ${response.status}`);
  const data = await response.json();
  return data.choices[0].message.content;
}

const file = process.argv[2];
if (!file) {
  console.error('Usage : node resume-local.mjs <document.odt|docx>');
  process.exit(1);
}

console.log(await summarize(await documentToText(file)));

Pour l'exécuter : node resume-local.mjs contrat.odt. C'est l'esprit des six conditions appliqué à un script court : l'utilisateur choisit le modèle, l'inférence tourne en local, il n'y a aucune télémétrie et le document d'entrée reste dans un format ouvert.

Les Limites de l'Argument

Ce serait malhonnête de présenter le record comme la preuve que "sans IA" fait vendre. Quelques précautions avant d'appliquer la leçon à votre produit :

  • Corrélation n'est pas causalité. La première semaine record a été mesurée entre le 26 août et le 2 septembre, avant le billet qui a fait du "sans IA" un gros titre. Et les deux semaines au-dessus du million coïncident avec deux versions sorties coup sur coup.
  • Un téléchargement n'est pas un utilisateur actif. Une part importante vient de personnes qui utilisaient déjà la suite et ont simplement fait la mise à jour.
  • Beaucoup de gens veulent de l'IA, c'est un fait. La stratégie fonctionne pour le public que sert LibreOffice. Un éditeur orienté marketing de contenu perdrait peut-être des clients avec la même décision.
  • Les extensions tierces demandent aussi de la prudence. "Le document ne quitte jamais l'ordinateur" vaut pour le modèle local. Une extension qui pointe vers une API externe ramène au problème d'origine, et la responsabilité passe à celui qui l'a installée.

Rien de tout cela n'invalide la leçon. Cela montre simplement qu'elle dépend du contexte : le public, le modèle économique et la confiance accumulée au fil des années.

Ce Que Cela Signifie Pour Ceux Qui Construisent des Logiciels en 2026

Le message de LibreOffice 26.8 n'est pas "n'utilisez pas l'IA". C'est que l'IA est devenue une décision produit qui a un coût en confiance, et que la norme du marché, qui consiste à tout activer pour tout le monde, a trouvé de la concurrence. Pour ceux qui développent et vendent des logiciels, on peut tirer de cet épisode une courte checklist :

  • Désactivé par défaut pour toute fonctionnalité qui envoie le contenu de l'utilisateur à l'extérieur.
  • Choix du fournisseur, y compris l'option locale, au lieu d'une API unique imposée.
  • Zéro télémétrie par défaut, avec un opt-in explicite si vous en avez vraiment besoin.
  • Sortie dans un format ouvert, pour que l'utilisateur ne reste pas prisonnier de ce que l'IA a généré dans votre produit.
  • Suppression réelle, sans bouton fantôme dans l'interface.

Mon pari, c'est que dans les prochaines années, "IA optionnelle et locale" cessera d'être une niche de fondation open source pour devenir un critère d'achat dans les marchés publics, la santé et le juridique. Ceux qui auront déjà cette architecture en place auront une réponse courte quand le client demandera où vont les données. Et il y a un bonus : un produit qui fonctionne bien sans IA devient souvent encore meilleur quand l'utilisateur décide de l'activer.

Allez, on y va ! 🦅

📚 Vous Voulez Suivre Ce Qui Arrive ?

Cet article a couvert le record de LibreOffice 26.8 et la décision de laisser l'IA hors de la configuration par défaut, mais l'écosystème bouge chaque semaine et tout ne devient pas un article ici.

Sur X je partage ce que je teste, les coulisses des projets et les nouveautés qui apparaissent avant de devenir un post.

Suivez-Moi Là-Bas

👉 Suivre @jeffbruchado sur X

💡 Contenu quotidien sur le développement, la carrière et les outils que j'utilise vraiment

Commentaires (0)

Cet article n'a pas encore de commentaires. Soyez le premier!

Ajouter des commentaires