# ShaarIt - Instructions de Build Release ## Prérequis - Android Studio ou Gradle CLI - Java JDK 8+ installé ## Création du Keystore (à faire une seule fois) ### Via ligne de commande: ```bash keytool -genkey -v -keystore shaarit-release.keystore -alias shaarit -keyalg RSA -keysize 2048 -validity 10000 ``` ### Informations à fournir: - **Mot de passe keystore**: (notez-le précieusement!) - **Nom et prénom**: Votre nom - **Unité organisationnelle**: (ex: Development) - **Organisation**: Votre entreprise - **Ville**: Votre ville - **Province/État**: Votre province - **Code pays**: CA (pour Canada) ## Configuration de la signature ### Option 1: Variables d'environnement (recommandé) Créez un fichier `local.properties` (ne pas commiter!) avec: ```properties SHAARIT_KEYSTORE_PATH=../shaarit-release.keystore SHAARIT_KEYSTORE_PASSWORD=votre_mot_de_passe SHAARIT_KEY_ALIAS=shaarit SHAARIT_KEY_PASSWORD=votre_mot_de_passe_cle ``` ### Option 2: Fichier séparé Créez `keystore.properties` (ne pas commiter!) avec: ```properties storeFile=../shaarit-release.keystore storePassword=votre_mot_de_passe keyAlias=shaarit keyPassword=votre_mot_de_passe_cle ``` ## Build Release ### Debug build (pour tester): ```bash ./gradlew assembleDebug ``` L'APK sera dans: `app/build/outputs/apk/debug/app-debug.apk` ### Release build (pour production): ```bash ./gradlew assembleRelease ``` L'APK sera dans: `app/build/outputs/apk/release/app-release.apk` ### Bundle AAB (pour Google Play Store): ```bash ./gradlew bundleRelease ``` Le bundle sera dans: `app/build/outputs/bundle/release/app-release.aab` ## Vérification du build Vérifiez l'APK signé: ```bash jarsigner -verify -verbose -certs app/build/outputs/apk/release/app-release.apk ``` ## Checklist avant publication - [ ] Version code incrémenté dans `build.gradle.kts` - [ ] Version name mise à jour - [ ] Tests passés - [ ] ProGuard configuré et testé - [ ] APK signé et vérifié - [ ] Captures d'écran prêtes pour le store - [ ] Description de l'app rédigée - [ ] Icône et assets graphiques finalisés ## Notes de sécurité ⚠️ **IMPORTANT**: Ne jamais commiter ces fichiers: - `*.keystore` - `*.jks` - `keystore.properties` - `local.properties` (sauf template) Ajoutez au `.gitignore`: ``` *.keystore *.jks keystore.properties ```