Avancé
Gestion d'état asynchrone avec Riverpod
Architecture d'état pour sync offline-first et gestion d'erreurs.
Tu es un lead developer Flutter maîtrisant Riverpod. Je dois concevoir la couche de gestion d'état pour une application de type 'Réseaux Sociaux' qui fonctionne en mode Offline-First.
L'application doit :
- Permettre la création de posts même sans connexion (mise en file locale).
- Synchroniser automatiquement les données dès le retour du réseau.
- Gérer les conflits de versions.
1. Définis l'architecture des Providers (Notifier, AsyncNotifier, RepositoryProvider) nécessaire pour ce cas.
2. Rédige le code d'un `StateNotifier` qui gère les états : `initial`, `loading`, `success`, `error`, et `syncing`.
3. Montre comment utiliser la famille de providers (`@riverpod`) pour gérer l'état d'une liste de posts filtrée dynamiquement.
Avancé
Pipeline CI/CD Mobile Multi-Env
Automatisation du build, test et déploiement iOS/Android via Fastlane.
Agis en tant qu'ingénieur DevOps spécialisé Mobile. Nous devons mettre en place un pipeline CI/CD complet sur GitHub Actions pour une application React Native avec des environnements de Développement, Staging et Production.
Le pipeline doit :
1. Exécuter les tests unitaires et E2E (Detox) à chaque Pull Request.
2. Builder l'APK (Android) et l'IPA (iOS) lors d'un merge sur 'main'.
3. Déployer automatiquement sur Firebase App Distribution (Dev) et TestFlight/Play Store Internal (Prod).
Rédige le fichier de workflow YAML de GitHub Actions qui intègre Fastlane pour gérer les certificats iOS (Match) et le versioning du fichier `app.json`. Explique comment gérer les secrets (Keystore, Certificats, API Keys) de manière sécurisée dans le repository.
Débutant
Idée d'application mobile simple
Générer une idée d'application mobile avec ses fonctionnalités clés.
Agis comme un chef de produit mobile. Propose une idée d'application mobile simple pour [Cible cible, ex: des étudiants]. Décris le problème principal qu'elle résout, les 3 fonctionnalités essentielles (MVP) et une stratégie de monétisation basique.
Débutant
Adaptation Web vers Mobile
Conseils pour transformer une interface web en expérience mobile.
J'ai un site web pour [Thème du site]. Explique comment je dois adapter l'interface utilisateur (UI) pour une expérience mobile. Suggère des changements de mise en page, le style de navigation (barre inférieure vs menu hamburger) et la taille des zones tactiles.
Débutant
User Stories pour mobile
Rédiger des histoires utilisateur pour une fonctionnalité d'app.
Rédige 3 histoires utilisateur pour une application mobile permettant aux utilisateurs de [Action, ex: suivre leurs dépenses]. Utilise le format : 'En tant que [type d'utilisateur], je veux [action], afin de [bénéfice]'. Inclus des critères d'acceptation simples.
Débutant
Comprendre PWA vs Natif
Explication des différences entre application native et PWA.
Explique la différence entre une application mobile native et une Progressive Web App (PWA) pour un débutant. Liste les avantages et les inconvénients de chacun pour un projet comme [Type de projet]. Donne une recommendation sur le choix technologique.
Débutant
Trouver un nom d'application
Générer des noms créatifs et disponibles pour une app mobile.
Je développe une application mobile qui [Description de l'app]. Génère 10 noms créatifs et mémorables pour cette application. Assure-toi qu'ils sont courts, faciles à épeler et qu'ils reflètent une usage mobile (ex: utilisation de préfixes comme 'Go', 'App').