À propos du projet

Aperçu Rybbit Mobile est une application Flutter maintenue par la communauté qui se connecte à un serveur d'analyse Rybbit. Elle offre une expérience mobile native pour visualiser les données d'analyse web, en mettant l'accent sur la confidentialité et le développement open‑source. Captures d'écran L'application comprend des écrans pour l'aperçu du tableau de bord, les graphiques d'analyse, les listes de sessions, les paramètres du site et plus encore. Des captures supplémentaires montrent des cartes par pays, des listes de pages et des vues détaillées de session. Fonctionnalités - Tableau de bord avec comptage en temps réel des visiteurs, filtrage par organisation et sélecteur de plage de temps. - Graphiques en séries temporelles pour les utilisateurs, les sessions, les pages vues, le taux de rebond, la durée et plus encore. - Métriques détaillées : pages les plus populaires, référents, pays (avec drapeaux), appareils, navigateurs, systèmes d'exploitation. - Surveillance des Core Web Vitals (LCP, CLS, FCP, TTFB, INP) avec des notes codées par couleur et des graphiques de tendance. - Aperçu des événements personnalisés, répartition des propriétés et suivi des liens sortants. - Création d'objectifs (basés sur le chemin et sur les événements) et visualisation de l'entonnoir avec taux de conversion. - Liste des sessions avec drapeau du pays, informations du navigateur, page d'entrée ; le détail de la session montre la chronologie complète des événements et la relecture. - Suivi des erreurs JavaScript avec nombre d'occurrences et sessions affectées. - Configuration du site (bascules de suivi, IPs/pays exclus) et gestion des membres de l'organisation. - Paramètres pour le thème clair/sombre/automatique, sélection de langue (11 langues), URL du serveur et méthode d'authentification. Langues prises en charge Anglais (en), Japonais (ja), Tchèque (cs), Coréen (ko), Allemand (de), Polonais (pl), Espagnol (es), Portugais (pt), Français (fr), Chinois (zh), Italien (it). Mise en route Prérequis - SDK Flutter 3.38+. - SDK Android (API 21+) ou Xcode pour iOS (12+). - Accès à une instance Rybbit en cours d'exécution. Installation 1. Cloner le dépôt. 2. Exécuter `flutter pub get` pour installer les dépendances. 3. Générer le code avec `flutter pub run build_runner build --delete-conflicting-outputs`. 4. Générer les fichiers de localisation avec `flutter gen-l10n`. 5. Copier `.env.example` vers `.env` et remplir les variables requises. 6. Lancer l'application avec `flutter run --dart-define-from-file=.env` ou construire un APK/IPA de manière similaire. Authentification Deux méthodes sont prises en charge : connexion par e‑mot de passe et authentification par clé API. Saisissez l'URL du serveur Rybbit et les identifiants sur l'écran de connexion. Pile technologique - Framework : Flutter 3.38+ / Dart 3.10+ - Gestion d'état : Riverpod - Routage : go_router - Client HTTP : Dio avec gestion des cookies - Stockage local : Hive et Flutter Secure Storage - Graphiques : fl_chart - Sérialisation : Freezed + json_serializable - Localisation : Flutter gen‑l10n (fichiers ARB) - Suivi d'erreur optionnel : Sentry (configuré via `SENTRY_DSN`) Architecture Le projet suit une disposition modulaire feature‑first : lib/ core/ // configuration, réseau, routage, thème, stockage, Sentry features/ // chaque fonctionnalité d'analyse (tableau de bord, sessions, performances, etc.) l10n/ // fichiers ARB de traduction shared/ // modèles communs, utilitaires, widgets réutilisables Chaque fonctionnalité est organisée en couches données (API), application (état) et présentation (UI). Commandes de développement - Débogage : `flutter run --dart-define-from-file=.env` - Construction d'APK : `flutter build apk --debug|--release --dart-define-from-file=.env` - Génération de code : `flutter pub run build_runner build --delete-conflicting-outputs` - Régénération des traductions : `flutter gen-l10n` - Analyse : `flutter analyze` - Tests : `flutter test` Ajout d'une nouvelle langue Créer un nouveau fichier ARB basé sur `app_en.arb`, traduire toutes les clés, ajouter le code de locale à la liste des locales prises en charge dans le point d'entrée de l'application, puis exécuter `flutter gen-l10n`. Compatibilité - Android : API 21 (Lollipop) et versions supérieures. - iOS : version 12.0 et supérieure. - Backend : compatible avec Rybbit v1.0 ou ultérieur. Contribution Les contributions sont les bienvenues. Forkez le dépôt, créez une branche de fonctionnalité, validez vos modifications, poussez-les et ouvrez une pull request. Respectez le style de code existant et exécutez les tests avant de soumettre. Licence Il s'agit d'un projet communautaire non officiel. La plateforme Rybbit sous-jacente est développée par l'organisation rybbit‑io. L'application est publiée sous la même licence que le dépôt (voir le fichier LICENSE).