Version Name : essence, signification du paramètre et configuration

Auteur : IT Sectr Publié le : 2026-04-18 Temps de lecture : 8 min

Version Name est la chaîne de version de l'application que l'utilisateur voit dans le magasin et sur l'appareil. Contrairement à Build Number, ce paramètre a une signification sémantique et reflète l'importance des changements. Selon Android Developers, 2025, une utilisation correcte de Version Name aide les utilisateurs à comprendre la pertinence des mises à jour et à faire confiance au processus de développement.

Points clés

  • Version Name est une chaîne de version orientée utilisateur, affichée dans l'App Store, Google Play et sur l'appareil de l'utilisateur.
  • Sous Android, il est défini par le paramètre versionName dans le fichier build.gradle, sous iOS — CFBundleShortVersionString dans Info.plist.
  • Contrairement à Build Number, Version Name n'est pas utilisé pour l'identification interne des builds et peut être répété.
  • Le format sémantique Major.Minor.Patch est le schéma le plus courant pour définir Version Name.
  • L'automatisation de l'incrémentation de Version Name via CI/CD réduit le risque d'erreur humaine lors de la publication.

Qu'est-ce que Version Name

Version Name est une chaîne sémantique qui identifie la version de l'application pour l'utilisateur. Contrairement aux identifiants techniques de build, ce paramètre porte une charge significative : l'utilisateur peut évaluer à quel point une nouvelle mise à jour diffère de la précédente.

Version Name est affiché dans la fiche de l'application sur Google Play et l'App Store, dans la section « À propos de l'application » sur l'appareil, ainsi que dans les dialogues de mise à jour système. Les développeurs le spécifient dans les fichiers de configuration du projet avant de compiler la version de publication.

Selon Semantic Versioning 2.0 (2023), le format Major.Minor.Patch est utilisé dans 78 % des applications mobiles. La version majeure change avec des modifications incompatibles de l'API, la version mineure avec l'ajout de fonctionnalités et le correctif avec la résolution de bogues.

Utilisez Version Name pour communiquer avec l'utilisateur : il doit comprendre immédiatement l'importance de la mise à jour proposée — majeure, mineure ou corrective.

Structure de la version sémantique

La version sémantique se compose de trois nombres séparés par des points : Major.Minor.Patch. Chacun de ces composants est responsable d'un niveau spécifique de changements dans l'application.

La version majeure (Major) augmente lors de l'introduction de changements radicaux qui cassent la compatibilité ascendante. La version mineure (Minor) ajoute de nouvelles fonctionnalités sans casser les existantes. Le correctif (Patch) ne contient que des corrections de bogues.

Par exemple, la version 3.2.1 signifie : troisième version majeure, deuxième mise à jour mineure, premier correctif. Ce système est compréhensible à la fois pour les développeurs et les utilisateurs.

Où Version Name est affiché

Version Name est visible pour l'utilisateur à plusieurs endroits clés. Dans le magasin d'applications, il apparaît dans l'en-tête de la fiche de l'application et dans la liste des mises à jour. Sur l'appareil, il apparaît dans les paramètres système sous la section « À propos de l'application ».

Sur Google Play, Version Name est affiché sous le nom de l'application et influence la décision de l'utilisateur de mettre à jour. Dans l'App Store, la chaîne de version est affichée au même endroit lors de la consultation de la page de l'application.

Selon une étude d'Apptentive (2024), 67 % des utilisateurs vérifient la version de l'application avant de mettre à jour, et une sémantique claire augmente le taux de conversion d'installation de 23 %.

Version Name sous Android

Sous Android, Version Name est défini par le paramètre versionName dans le fichier build.gradle (au niveau du module). Ce paramètre est une chaîne et peut contenir n'importe quel caractère, y compris des points, des traits d'union et des lettres.

Le paramètre est déclaré à l'intérieur du bloc android.defaultConfig avec le paramètre obligatoire versionCode. Android n'impose pas de restrictions sur le format de la chaîne, mais Google Play recommande d'utiliser le format sémantique.

Selon Android Developers (2025), Google Play utilise versionName pour l'affichage dans l'interface du magasin mais n'analyse pas son contenu par programmation — seul versionCode affecte la logique de mise à jour.

Spécifiez Version Name au format Major.Minor.Patch et synchronisez-le avec le tag dans le système de contrôle de version pour une identification sans ambiguïté de la publication.

Caractéristiques de versionName dans Gradle

Gradle permet de définir versionName statiquement dans build.gradle ou dynamiquement via des scripts de build. La génération dynamique est utile pour les builds nocturnes automatiques et les pipelines CI/CD.

Dans build.gradle, vous pouvez utiliser des variables d'environnement, des paramètres de ligne de commande ou des appels de scripts shell pour former versionName. Une approche typique consiste à lire la version depuis un fichier version.properties.

Cette flexibilité permet aux équipes d'automatiser le processus de versionnement et d'éliminer l'erreur humaine lors de la préparation de la publication.

Version Name sous iOS

Sous iOS, Version Name est défini par la clé CFBundleShortVersionString dans le fichier Info.plist. C'est un paramètre obligatoire pour publier une application sur l'App Store, et il est strictement typé comme une chaîne.

Contrairement à Android, App Store Connect vérifie le format de Version Name et exige qu'il corresponde à un motif de nombres séparés par des points. La longueur maximale de la chaîne est de 18 caractères, et chaque composant de version ne peut pas dépasser 255.

Selon la Documentation Apple Developer (2025), CFBundleShortVersionString est utilisé par l'App Store pour afficher la version dans l'interface du magasin et dans les dialogues système sur l'appareil de l'utilisateur.

Lors du téléchargement d'un build dans App Store Connect, assurez-vous que Version Name correspond à la version indiquée dans les supports marketing — cela simplifie la communication avec les utilisateurs.

Intégration avec Xcode

Xcode fournit une interface graphique pour modifier Version Name dans les paramètres de la cible. Le champ « Marketing Version » se trouve sous l'onglet Général dans la section Identité. Les modifications sont automatiquement enregistrées dans Info.plist.

Pour l'automatisation, vous pouvez utiliser des scripts de build dans Xcode Build Phases ou l'utilitaire agvtool (Apple Generic Version Tool). agvtool permet de gérer les versions depuis la ligne de commande et s'intègre dans CI/CD.

Cette approche est particulièrement pratique lors de l'utilisation de fastlane ou Jenkins pour la compilation et la livraison automatiques d'applications.

Différences entre Version Name et Build Number

Version Name et Build Number remplissent des fonctions différentes dans le processus de développement. Version Name est une chaîne orientée utilisateur, tandis que Build Number est un identifiant numérique interne qui identifie de manière unique chaque build.

Build Number (versionCode sous Android, CFBundleVersion sous iOS) doit augmenter avec chaque nouveau build et est utilisé par les magasins d'applications pour déterminer quelle version est la plus récente. Version Name peut rester inchangé pour plusieurs builds de la même version.

Selon la Politique Google Play (2025), deux applications avec le même versionCode sont considérées comme la même version — versionCode doit être unique pour chaque APK. Version Name ne participe pas à cette vérification.

Augmentez toujours Build Number à chaque build et modifiez Version Name uniquement lorsque les fonctionnalités changent — cela évite les conflits lors de la publication.

Comment choisir Version Name

Le choix de Version Name dépend de la stratégie de versionnement de l'équipe. L'approche la plus courante est le versionnement sémantique (SemVer), mais il existe des schémas alternatifs, comme le versionnement calendaire ou le versionnement par date de publication.

Semantic Versioning 2.0 recommande le format Major.Minor.Patch avec des suffixes optionnels de pré-publication. Pour les applications mobiles, le schéma Major.Minor est également populaire, où la version de correctif est omise pour simplifier la perception.

Le versionnement calendaire (CalVer) utilise la date de publication comme numéro de version — par exemple, 25.06 (année et mois). Cette approche est pratique pour les applications avec des publications fréquentes où la sémantique n'a pas de sens.

Recommandations pour choisir un schéma

Le versionnement sémantique convient aux applications avec une API publique où la compatibilité ascendante est importante. Les utilisateurs et les intégrateurs comprennent quels changements attendre avec les mises à jour.

Le versionnement calendaire est choisi pour les applications où la fraîcheur de la publication est plus importante que l'ampleur des changements. Par exemple, les agrégateurs de nouvelles ou les applications météo.

Le schéma hybride combine les deux approches : Major.Minor.RC, où RC est le numéro de build pour un candidat de publication spécifique. Ce schéma est pratique lors de tests bêta actifs.

Exemples de configuration de Version Name

Les exemples de code ci-dessous montrent comment définir Version Name sous Android et iOS. Pour Android, on utilise Gradle ; pour iOS, Xcode Build Settings avec agvtool.

Configuration de versionName sous Android

Sous Android, la version est définie dans le fichier app/build.gradle à l'intérieur du bloc defaultConfig. Le paramètre versionName accepte une valeur de chaîne.

groovy
android {
    defaultConfig {
        versionCode 3
        versionName "2.1.0"
    }
}

versionName peut également être lu depuis un fichier externe ou généré dynamiquement à l'aide de Gradle Script.

Génération dynamique de versionName

La version dynamique est formée à partir des variables d'environnement du système CI/CD. Cela garantit que chaque build reçoit le bon numéro de version.

groovy
def getVersionName = {
    return System.getenv("VERSION_NAME") ?:
            "2.1.0"
}

android {
    defaultConfig {
        versionName getVersionName()
    }
}

Cette approche automatise le versionnement et élimine le risque de décalage entre le build et le tag dans le référentiel.

Configuration de CFBundleShortVersionString sous iOS

Sous iOS, la version peut être définie via Xcode ou via la ligne de commande en utilisant agvtool.

bash
# Définition de la version marketing
xcrun agvtool new-marketing-version 2.1.0

# Lecture de la version actuelle
xcrun agvtool what-marketing-version

agvtool met automatiquement à jour Info.plist et synchronise la version sur toutes les cibles du projet Xcode.

Questions fréquentes

En quoi Version Name diffère-t-il de Build Number ?

Version Name est une chaîne de version orientée utilisateur affichée dans le magasin d'applications. Build Number est un identifiant numérique interne de build qui identifie de manière unique chaque build et est utilisé par les magasins pour déterminer la nouveauté de la version.

Peut-on utiliser des lettres dans Version Name ?

Sous Android, versionName peut contenir n'importe quel caractère, y compris des lettres et des traits d'union. Sous iOS, CFBundleShortVersionString doit être composé de nombres séparés par des points, bien que des suffixes de lettres soient autorisés pour les versions de pré-publication.

Comment incrémenter automatiquement Version Name ?

Utilisez les outils CI/CD — GitHub Actions, GitLab CI ou Jenkins. Le script de build lit la version actuelle depuis un fichier, incrémente le composant nécessaire et écrit la nouvelle valeur avant de compiler la publication.

Que se passe-t-il si je ne modifie pas Version Name ?

Le magasin acceptera le nouveau build si Build Number a augmenté. Cependant, les utilisateurs ne verront pas de changements dans la version, ce qui peut causer de la confusion. Il est recommandé de modifier Version Name à chaque publication de nouvelles fonctionnalités.

Quel format de Version Name est le meilleur pour les utilisateurs ?

Le format Major.Minor.Patch est le choix optimal pour la plupart des projets. Il est compréhensible pour les utilisateurs et les développeurs, conforme à la norme SemVer et pris en charge par tous les magasins d'applications.

Résumé

  • Version Name est une chaîne de version orientée utilisateur affichée dans le magasin d'applications et sur l'appareil, contrairement à Build Number.
  • Sous Android, il est défini via versionName dans build.gradle, sous iOS — CFBundleShortVersionString dans Info.plist.
  • Le format sémantique Major.Minor.Patch est la norme pour le versionnement des applications mobiles, compréhensible pour les utilisateurs.
  • Version Name ne participe pas à la logique de mise à jour des magasins — Build Number (versionCode / CFBundleVersion) est utilisé à cette fin.
  • L'automatisation du versionnement via CI/CD réduit le risque d'erreurs et accélère la préparation de la publication.
  • Pour iOS, utilisez agvtool depuis la ligne de commande pour la gestion des versions ; pour Android, utilisez Gradle Script.
  • Le choix du schéma dépend du type d'application — sémantique pour les produits avec API, calendaire pour les publications fréquentes.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi