Pixel Space (Exo)
Pixel Space (Exo)
Consigne
Ça y est, on est arrivé à l’ultime épreuve de cette formation !
Pour tester tes compétences sur les bases de SwiftUI, je t’ai préparé une commande d’un client qui souhaite qu’on lui fournisse une application educative sur l’espace. Je te transmet sont cahier des charges :
Cahier des charges
Salut la team Pixel-Swift,
Je suis Julie Pesquet, je m’occupe du développement du musée aéronautique et spatial de Toulouse. Nous travaillons sur un projet de création d’application iOS à destination du grand public, visant à éduquer et à faire découvrir de manière ludique l’espace. L’application couvrira plusieurs thématiques : le système solaire, l’histoire de l’exploration spatiale, ainsi qu’un petit jeu interactif permettant à l’utilisateur d’entrer son poids et de voir combien il pèserait sur une autre planète du système solaire.
Nous avons déjà travaillé avec un UX/UI designer mobile, qui nous a conçu la maquette de l’application. Je vous la fournis ici.
Ce que nous attendons de l’application :
→ Système solaire
- Un écran représentant chaque astre du système solaire.
- Les astres sont affichés sous forme de cartes illustrées, avec une image en haut, comme sur la maquette.
- La liste des astres est scrollable horizontalement.
- Lorsque l’utilisateur appuie sur un astre, il est dirigé vers un écran détaillé comprenant :
- L’illustration de l’astre
- Son nom
- Sa description
- Une couleur associée
→ Fusées et missions spatiales
- Une section dédiée aux fusées emblématiques de l’exploration spatiale.
- Les fusées sont représentées sous forme de cartes en grille (trois colonnes) avec un scroll vertical.
- Chaque carte affiche l’illustration de la fusée et le nom de la mission (nous vous fournissons les illustrations).
- En sélectionnant une mission, l’écran de détail affiche :
- L’icône de la fusée (positionnée horizontalement)
- Le nom de la mission
- Les membres d’équipage et leurs postes
- En appuyant sur un membre d’équipage, une modale apparaît avec :
- Son nom
- Sa date et son pays de naissance
- L’entité pour laquelle il a travaillé
- La liste des missions effectuées
- Une description du spationaute
→ Calcul du poids sur les planètes
- Un écran permettant à l’utilisateur de tester son poids en fonction des astres sélectionnés.
- Un champ pour entrer son poids sur Terre.
- Une grille de trois colonnes scrollable verticalement, affichant les planètes sous forme d’illustrations.
- En sélectionnant une planète, l’application affiche le poids ajusté en fonction de la gravité.
→ Navigation
L’ensemble de l’application sera navigable via une TabView.
J’ai essayé d’être la plus précise possible. La maquette est claire et détaillée, mais si vous avez des questions, n’hésitez pas à passer par le Discord de Pixel Swift.
Julie.P
Maquette
. Trucs et astuce
→ Tu peux télécharger les images du projet ici : Télécharger les images
Tips
Pour cet exercice, je vais insister sur trois points essentiels pour te mettre dans les meilleures conditions.
Premièrement, l’organisation. Il s’agit d’une petite application, mais qui, mine de rien, comprend déjà plusieurs écrans et différentes données. Organise-toi, prépare le terrain et pose-toi les bonnes questions avant de commencer : quels sont les écrans ? Quels écrans sont liés par une hiérarchie ? Et enfin, quelles sont les données nécessaires ? Ici, je te laisse te débrouiller, je ne te fournis aucun modèle. Pour créer tes modèles, analyse les données présentes sur la maquette et le cahier des charges et prends-les en compte pour structurer ton projet. D’ailleurs, pour le contenu des données, hormis les images qui te seront fournies, c’est à toi de chercher et de remplir le contenu (ChatGPT et Google seront parfaits pour ça). Pour t’organiser, je te recommande vivement d’utiliser un outil numérique dédié à la gestion de projet. Personnellement, j’utilise beaucoup Notion, qui est une pépite de simplicité et de productivité, mais prends évidemment l’outil qui te correspond le mieux.
Deuxièmement, la collaboration. Je t’ai mis le lien du Discord dans le cahier des charges et ce n’est pas pour rien. Le troisième écran n’est pas forcément le plus simple, et si tu bloques, ce n’est pas un souci. Mais prends l’habitude de demander de l’aide ! Discord est là pour ça. C’est une excellente pratique d’échanger avec d’autres et, quand tu peux, d’aider à ton tour. Cela fait intégralement partie du métier de développeur.
Et enfin, troisièmement, prends du plaisir ! Tu as travaillé dur pour arriver jusqu’à cet exercice. Ce sera une véritable satisfaction une fois ton travail terminé. Alors donne-toi à fond, amuse-toi et sois fier de ton avancée.
PS : Pour les données, fais-en quelques-unes, ne te sens pas obligé de fournir l’ensemble des missions spatiales, sinon tu y passeras beaucoup de temps.
Tips
Pour cet exercice, je vais insister sur trois points essentiels pour te mettre dans les meilleures conditions.
Premièrement, l’organisation. Il s’agit d’une petite application, mais qui, mine de rien, comprend déjà plusieurs écrans et différentes données. Organise-toi, prépare le terrain et pose-toi les bonnes questions avant de commencer : quels sont les écrans ? Quels écrans sont liés par une hiérarchie ? Et enfin, quelles sont les données nécessaires ? Ici, je te laisse te débrouiller, je ne te fournis aucun modèle. Pour créer tes modèles, analyse les données présentes sur la maquette et le cahier des charges et prends-les en compte pour structurer ton projet. D’ailleurs, pour le contenu des données, hormis les images qui te seront fournies, c’est à toi de chercher et de remplir le contenu (ChatGPT et Google seront parfaits pour ça). Pour t’organiser, je te recommande vivement d’utiliser un outil numérique dédié à la gestion de projet. Personnellement, j’utilise beaucoup Notion, qui est une pépite de simplicité et de productivité, mais prends évidemment l’outil qui te correspond le mieux.
Deuxièmement, la collaboration. Je t’ai mis le lien du Discord dans le cahier des charges et ce n’est pas pour rien. Le troisième écran n’est pas forcément le plus simple, et si tu bloques, ce n’est pas un souci. Mais prends l’habitude de demander de l’aide ! Discord est là pour ça. C’est une excellente pratique d’échanger avec d’autres et, quand tu peux, d’aider à ton tour. Cela fait intégralement partie du métier de développeur.
Et enfin, troisièmement, prends du plaisir ! Tu as travaillé dur pour arriver jusqu’à cet exercice. Ce sera une véritable satisfaction une fois ton travail terminé. Alors donne-toi à fond, amuse-toi et sois fier de ton avancée.
PS : Pour les données, fais-en quelques-unes, ne te sens pas obligé de fournir l’ensemble des missions spatiales, sinon tu y passeras beaucoup de temps.