2.9 KiB
Swifty Companion
Application mobile — profil étudiant 42 via l’API Intra (OAuth2).
Dépôt de rendu école : ce dossier est conçu pour être la racine du dépôt Git déposé sur l’Intra. Il ne contient pas la documentation de travail (sujet traduit, guides) du dépôt perso.
État : projet Flutter dans le sous-dossier swifty_companion/. Prochaine étape : OAuth Intra (dépôt de travail : docs/pedagogie/etape-02-oauth-intra.md).
Lancer le projet
cd swifty_companion
flutter pub get
flutter run -d <device>
Vérifications :
flutter doctor
flutter devices
Configuration (.env)
- Créer une app OAuth : profile.intra.42.fr/oauth/applications
- Copier
.env.example→.envet renseignerCLIENT_ID,CLIENT_SECRET,REDIRECT_URI - Ne jamais pousser
.envsur le dépôt école (déjà ignoré par.gitignore)
Documentation API : api.intra.42.fr/apidoc
Partie obligatoire (rappel sujet v4)
| # | Exigence |
|---|---|
| 1 | Au moins 2 vues |
| 2 | Toutes les erreurs gérées (login inconnu, réseau, …) |
| 3 | Vue 2 : infos du login s’il existe |
| 4 | ≥ 4 détails (login, email, mobile, level, location, wallet, evaluations, …) + photo de profil |
| 5 | Skills : niveau + pourcentage |
| 6 | Projets réalisés, y compris les failed |
| 7 | Retour possible vers la vue 1 |
| 8 | Layout adaptatif (tailles / plateformes) |
| 9 | OAuth2 Intra — un token réutilisé, pas un token par requête |
Contraintes : dernière API 42 disponible ; secrets uniquement en local (.env).
Certaines données peuvent ne pas être affichées (confidentialité / réglementation).
Bonus
- Rafraîchissement du token à expiration ; l’application reste fonctionnelle.
(Bonus évalué seulement si la partie obligatoire est parfaite.)
Soutenance — checklist peer-eval
| # | Test | Démo |
|---|---|---|
| 1 | flutter test |
Tests OK (si présents) |
| 2 | flutter run -d <device> |
Vue 1 → login valide → vue 2 |
| 3 | Profil | Photo + ≥ 4 champs + skills + projets (dont failed) |
| 4 | Login invalide | Message clair, pas de crash |
| 5 | Réseau coupé | Erreur réseau gérée |
| 6 | Navigation | Retour vue 1, nouvelle recherche |
| 7 | Petit écran / rotation | UI lisible |
| 8 | Bonus | Refresh token si implémenté |
Ordre suggéré : login valide → skills / projets → login faux → hors ligne → retour recherche.
Fichiers de ce dépôt
| Fichier | Rôle |
|---|---|
README.md |
Ce document (correcteurs / peer-eval) |
.gitignore |
Règles Git pour le rendu école |
.env.example |
Modèle de variables (sans secrets) |
lib/, android/, … |
Code Flutter (après flutter create ou développement) |