Files
swift_companion/swiftyCompanion
2026-09-29 15:07:05 +02:00
..
2026-09-29 15:07:05 +02:00
2026-09-29 14:26:17 +02:00
2026-09-29 09:39:56 +02:00
2026-09-29 15:07:05 +02:00

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 : OAuth + vue recherche + vue profil (skills, projets). Prochaine étape : polish layout / tests device (dépôt de travail : docs/pedagogie/00-reprise-et-etat.md).

Lancer le projet

cd swifty_companion
# Seul ce fichier compte pour Flutter (asset .env) :
#   swifty_companion/.env
# Optionnel : copie de sauvegarde dans swiftyCompanion/.env — garder les deux identiques.
flutter pub get
flutter run -d <device>

Écrans : connexion OAuth 42 → recherche par login → profil (photo, champs, skills, projets validés / failed).

Vérifications :

flutter doctor
flutter devices

Configuration (.env)

  1. Créer une app OAuth : profile.intra.42.fr/oauth/applications
  2. Copier .env.example → .env et renseigner CLIENT_ID, CLIENT_SECRET, REDIRECT_URI
  3. Ne jamais pousser .env sur 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)