À propos du projet
Ce dépôt contient les applications Android officielles de Bitwarden, qui combinent un gestionnaire de mots de passe et un authentificateur en un seul client mobile. Le projet cible Android 10 (SDK 29) comme version minimale et Android 17 (SDK 37) comme version cible, et prend en charge les facteurs de forme téléphone et tablette en orientations portrait et paysage.
Le code source est écrit en Kotlin et utilise Jetpack Compose comme framework d'interface utilisateur déclarative, accompagné d'un large ensemble de bibliothèques AndroidX, notamment Activity, Appcompat, Autofill, Biometrics, Browser, Camera, Core, Credentials, Lifecycle, Navigation, Room, Security et WorkManager. L'injection de dépendances est gérée via Dagger Hilt, le chargement d'images via Glide, et la mise en réseau via Retrofit 2 et OkHttp 3. Les coroutines Kotlin, les collections immuables et les bibliothèques de sérialisation prennent en charge le code asynchrone et réactif, tandis que Timber fournit la journalisation et ZXing gère le scan de codes-barres pour les codes d'authentification.
L'application est livrée en deux variantes de build. Les versions standard incluent Firebase Cloud Messaging pour les notifications push, Firebase Crashlytics pour le rapport de crash et l'intégration Google Play Reviews. Les versions F-Droid omettent ces composants dépendants de Google, gardant l'application exempte de services propriétaires.
Le développement nécessite JDK 21 et Android Studio, avec un schéma de style de code spécifique au projet (bitwarden-style.xml) que les contributeurs importent dans leur IDE. Un jeton d'accès personnel GitHub avec la portée read:packages est nécessaire pour récupérer les dépendances depuis GitHub Packages, et un indicateur localSdk peut rediriger le SDK vers un artifactory Maven local pour les contributeurs travaillant sur des fonctionnalités SDK. La qualité du code est assurée via l'analyse statique detekt, avec un hook de pré-commit optionnel qui exécute detekt avant chaque commit. Les tests reposent sur JUnit 5, MockK, Robolectric et Turbine pour les tests de flux de coroutines. La CI/CD utilise Fastlane pour la compilation, la signature et la distribution de l'application, et Kover pour la couverture de code Kotlin.
Le README documente également un flux de contribution clair : gardez les modifications de formatage séparées des modifications logiques, formatez le code avant de soumettre des demandes de tirage et suivez la documentation du projet sur le style et les meilleures pratiques. Dans l'ensemble, il s'agit d'un client Android open source mature et bien structuré pour un service de gestion de mots de passe et d'authentification à deux facteurs largement utilisé.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.