Ce que cette page mesure, et ce qu’elle refuse de comparer
Nous parcourons l'objet et le titre de chaque marché retenu, et nous comptons les occurrences des tokens iOS, Android, Flutter, React Native, PWA, Swift et Kotlin. La médiane d'un token n'est publiée que si son effectif franchit le plancher déjà défini en méthodologie (n ≥ 5 pour une médiane, n ≥ 12 pour les quartiles). En dessous : l'effectif, et la mention que la médiane n'est pas publiable.
1. Un token désigne une mention dans l'objet, jamais une stack exclusive. Le cas le plus fréquent, dès qu'un système d'exploitation est nommé, est qu'un même marché porte iOS et Android. Présenter ces deux médianes comme le coût d'une appli « iOS seule » contre une appli « Android seule » serait une comparaison inventée.
2. 12 marchés nomment les deux. Sur ce relevé, n = 12 pour iOS et n = 16 pour Android : tous les marchés qui nomment iOS nomment aussi Android. La médiane « iOS » est donc la médiane de marchés bi-plateformes qui citent iOS, pas le prix d'une cible unique.
Source primaire : Données essentielles de la commande publique (decp-2022-marches-valides et decp-v3-marches-valides, data.economie.gouv.fr), relevé le 12 septembre 2026, qualifié selon la méthodologie. Fichiers reproduits octet pour octet : corpus retenu et corpus d'exclusion.
Occurrences par token
| Token | Effectif | Médiane |
|---|---|---|
| iOS | n = 12 | 62 248 € |
| Android | n = 16 | 132 163 € |
| Flutter | n = 0, sous le plancher (n < 5), pas de médiane | non publiable : plancher non franchi |
| React Native | n = 0, sous le plancher (n < 5), pas de médiane | non publiable : plancher non franchi |
| PWA | n = 2, sous le plancher (n < 5), pas de médiane | non publiable : plancher non franchi |
| Swift | n = 0, sous le plancher (n < 5), pas de médiane | non publiable : plancher non franchi |
| Kotlin | n = 0, sous le plancher (n < 5), pas de médiane | non publiable : plancher non franchi |
Le CSV de ce tableau (une ligne par token, y compris ceux à n = 0) est publié sous /donnees/technologies-tokens.csv.
Ce que ça change à un devis
Si un devis oppose « natif iOS » et « natif Android » comme deux prix de stacks distinctes, demander le détail : dans la commande publique de ce corpus, la mention d'un OS vient presque toujours avec l'autre. Un écart de médiane entre les deux tokens (quand les deux franchissent le plancher) mesure d'abord un sous-ensemble différent de marchés (ceux qui citent Android sans citer iOS s'ajoutent au second), avant tout surcoût intrinsèque d'une plateforme.
Flutter, React Native, Swift et Kotlin : sur ce relevé, n = 0 pour Flutter, n = 0 pour React Native, n = 0 pour Swift, n = 0 pour Kotlin. Aucune médiane. Une page qui publierait malgré tout une fourchette « Flutter vs natif » irait chercher ailleurs qu'ici, et ce ne serait plus une mesure de ce corpus. Une app Expo ajoute en plus une ligne de mises à jour à distance (EAS) au budget tiers : voir les frais de plateforme après mise en ligne.
PWA : n = 2, sous le plancher. Pas de médiane, pas de conclusion « moins cher ».
203 marchés sur 221 ne nomment aucun de ces tokens. L'absence de mot dans l'objet laisse la stack indéterminée : un acheteur peut commander une application native sans écrire « iOS » dans l'objet. Cette page dit seulement ce que les objets notifiés écrivent, pas quelle stack domine le marché.
Ce que cette page ne dit pas
Elle ne dit pas quel framework « gagne ». Elle ne dit pas ce qu'un projet privé coûte. Elle ne dit pas le coût d'un jour-homme. Pour le montant notifié toutes stacks confondues : développement d'application (même médiane que le prix mesuré). Pour cadrer un devis avant de comparer des stacks, le cahier des charges et l'audit d'un devis.