9.5 KiB
Mobile Initiation — Swifty Companion
Version : 4
Résumé : Ce projet vise à vous initier au développement d’applications mobiles.
Traduction française — source : swifty_companion_subject.pdf
Table des matières
- Chapitre I — Avant-propos
- Chapitre II — Introduction
- Chapitre III — Objectifs
- Chapitre IV — Instructions générales
- Chapitre V — Le projet
- Chapitre VI — Rendu et évaluation par les pairs
- Éléments visuels du PDF
Page de garde (PDF page 1)
| Champ | Texte officiel (EN) | Traduction |
|---|---|---|
| Série | Mobile Initiation | Initiation mobile |
| Titre | Swifty Companion | Swifty Companion |
| Résumé | This project aims to introduce you to the development of mobile application. | Ce projet vise à vous initier au développement d’applications mobiles. |
| Version | 4 | 4 |
Référence visuelle — couverture
| Zone | Description |
|---|---|
| Illustration centrale | Motif vertical en facettes (style low-poly), tons gris/noir — élément graphique 42, pas une maquette d’application |
| Fond | Motif géométrique léger (triangles) sur toute la page |
| Texte | « Mobile Initiation » puis « Swifty Companion », résumé en italique, « Version: 4 » |
Extrait haute résolution de l’illustration : illustration-motif-42.png
Note : le sujet PDF (9 pages) ne contient pas de captures d’écran de l’app à reproduire. Les pages 2 à 9 reprennent le même fond géométrique que la couverture, avec le texte des chapitres. L’UI de votre application est définie uniquement par la liste de critères de la partie obligatoire.
Chapitre I — Avant-propos
(Traduction du texte Wikipedia sur le dodo — page 2 du PDF.)
Voici ce que Wikipedia dit du dodo :
Le dodo (Raphus cucullatus) est un oiseau incapable de voler, aujourd’hui éteint, endémique de l’île Maurice, à l’est de Madagascar dans l’océan Indien. Son plus proche parent génétique était le solitaire de Rodrigues, également éteint ; les deux formaient la sous-famille des Raphinae, au sein de la famille des columbidés. Le plus proche parent encore vivant du dodo est le pigeon de Nicobar. On a un temps cru à tort qu’un dodo blanc existait sur l’île voisine de La Réunion.
Les restes subfossiles montrent que le dodo mesurait environ 1 mètre et pouvait peser 10,6 à 21,1 kg à l’état sauvage. Son apparence réelle n’est connue que par des dessins, peintures et récits du XVIIe siècle. Ces sources varient beaucoup et peu d’illustrations proviennent de spécimens vivants : l’apparence exacte reste débattue. On le représente souvent avec un plumage gris-brun, des pattes jaunes, une touffe de plumes à la queue, une tête nue grise et un bec noir, jaune et vert. Il utilisait des gastrolithes pour digérer, mangeait probablement des fruits, et vivait dans les bois des zones côtières plus sèches de Maurice. Une source mentionne un seul œuf par couvée. Il est supposé qu’il a perdu le vol face à l’abondance de nourriture et au peu de prédateurs.
Les Hollandais le mentionnent pour la première fois en 1598. Chasse, animaux domestiques et espèces invasives ont contribué à sa disparition ; la dernière observation largement acceptée date de 1662. Son extinction ne fut pas tout de suite remarquée ; certains le considéraient comme mythique. Au XIXe siècle, des recherches portèrent sur quelques spécimens rapportés en Europe au début du XVIIe siècle, dont une tête séchée — seul tissu mou encore conservé. Depuis, beaucoup de matériel subfossile a été extrait de Maurice (notamment du marais Mare aux Songes). La rapidité de l’extinction a mis en lumière le rôle de l’homme dans la disparition d’espèces entières. Le dodo est célèbre via Alice au pays des merveilles et est devenu un symbole d’extinction et d’obsolescence, ainsi qu’une mascotte de Maurice.
Chapitre II — Introduction
Dans ce projet, vous découvrirez comment développer une application mobile.
L’objectif est de construire une application qui récupère les informations des étudiants de 42 via l’API 42.
Une API (Application Programming Interface) est un ensemble de routines, protocoles et outils pour construire des applications. Souvent, une API se présente comme une bibliothèque avec des spécifications pour routines, structures de données, classes et variables. Dans d’autres cas — notamment les services SOAP et REST — une API est simplement une spécification d’appels distants exposés aux consommateurs.
Chapitre III — Objectifs
Ce projet vise à vous familiariser avec :
- un langage mobile (Dart, Swift, Kotlin, Java, etc.) ;
- un IDE de votre choix (Android Studio est un bon candidat) ;
- des frameworks mobiles (le sujet cite Flutter) ;
- l’API 42.
Chapitre IV — Instructions générales
- Le projet est évalué uniquement par des humains (soutenance).
- Vous pouvez utiliser n’importe quel langage mobile, en gardant à l’esprit la dernière version de l’IDE disponible sur les machines de l’école.
- Frameworks et bibliothèques compatibles autorisés si leur usage est justifié en soutenance — soyez pertinent.
- Le projet doit utiliser la dernière version disponible de l’API 42.
- Vos choix techniques peuvent vous rendre plus attractif sur le marché du travail.
⚠️ Sécurité — encadré page 5
Pour des raisons de sécurité évidentes, identifiants, clés API, variables d’environnement, etc. doivent être stockés localement dans un fichier
.envet ignorés par git. Des identifiants exposés publiquement entraînent l’échec direct du projet.
Chapitre V — Le projet
V.1 Partie obligatoire
Pour valider la partie obligatoire, vous devez respecter tous les critères suivants :
| # | Critère (EN) | Exigence en français |
|---|---|---|
| 1 | At least 2 views | Au moins 2 vues (écrans) |
| 2 | Handle all cases of errors | Gérer tous les cas d’erreur (login introuvable, erreur réseau, etc.) |
| 3 | Second view shows login info | La 2ᵉ vue affiche les infos du login s’il existe |
| 4 | Four details + profile picture | Afficher au moins 4 détails parmi : login, email, mobile, level, location, wallet, evaluations, etc. + photo de profil |
| 5 | Skills with level and percentage | Afficher les compétences (skills) avec niveau et pourcentage |
| 6 | Completed projects including failed | Afficher les projets réalisés, y compris les échecs |
| 7 | Navigate back to first view | Permettre de revenir à la 1ʳᵉ vue |
| 8 | Flexible / modern layout | Mise en page flexible ou moderne (contraintes, etc.) pour plusieurs tailles d’écran et plateformes |
| 9 | Do not create a token for each query | Ne pas créer un token à chaque requête — réutiliser le flux OAuth2 |
OAuth2 — encadrés page 6
Se référer à la documentation OAuth2.
Vous devez utiliser OAuth2 de l’Intra. Pour des raisons de confidentialité et conformément aux lois de certains pays, il peut être nécessaire de ne pas afficher certaines informations.
Liens utiles (hors PDF, à consulter pendant le projet) :
V.2 Bonus
Bonus disponible :
| Bonus | Description |
|---|---|
| Rafraîchissement du token | Recréer / rafraîchir le token à l’expiration. Si le token expire, l’app doit le renouveler et continuer à fonctionner dans tous les cas. |
⚠️ Règle bonus — encadré page 7
La partie bonus n’est évaluée que si la partie obligatoire est PARFAITE. « Parfait » signifie : partie obligatoire entièrement réalisée et sans dysfonctionnement. Si une seule exigence obligatoire manque, le bonus n’est pas évalué.
Chapitre VI — Rendu et évaluation par les pairs
Déposez le travail dans votre dépôt Git comme d’habitude. Seul le contenu du dépôt sera évalué en soutenance. Vérifiez les noms de dossiers et de fichiers.
→ Checklist soutenance (dépôt école) : ../../swiftyCompanion/README.md — dossier non inclus dans le rendu Intra si tu ne pousses que ce sous-répertoire.
Éléments visuels du PDF
| Page PDF | Fichier extrait | Contenu visuel |
|---|---|---|
| 1 | page-01-couverture.png | Page de garde complète |
| 1 (détail) | illustration-motif-42.png | Illustration centrale seule |
| 2–9 | (pas d’image métier) | Fond géométrique répété + texte des chapitres |
