(Exo) Final
(Exo) Final
Consigne
Il est temps de conclure cette formation ! Et pour fêter ça, je t’ai concocté un exercice sympa qui te permettra, une fois encore, d’effectuer un appel API. Mais cette fois, on va aller un peu plus loin et utiliser nos données pour en faire une petite app.
Bon, je pense ne pas avoir besoin de te présenter l’univers d’Harry Potter… On va utiliser une API qui permet d’accéder à pas mal de données sur cet univers. Nous, ce qu’on veut en faire, c’est récupérer la liste des personnages des films, l’afficher dans la vue, mais surtout de façon catégorisée. Il existe quatre maisons dans Harry Potter : Gryffondor, Hufflepuff, Ravenclaw et Slytherin (tu peux traduire les noms dans l’app si tu le souhaites). Il existe également des personnages qui ne sont affiliés à aucune maison.
Dans la vue principale, on pourra filtrer les données reçues. Si j’appuie sur Gryffondor, je peux voir Harry Potter et tous ses camarades de cette maison. Si je prends Slytherin, je vois Drago et tous ses copains pas très sympas. Par défaut, on peut voir toute la liste des personnages.
Quand j’appuie sur la carte d’un personnage, on navigue vers une vue qui détaille le personnage avec son avatar, son nom et le nom de son interprète. Je te fournis le fond des cartes de personnages en fonction de leur maison, ça ne vient pas de l’API pour le coup. Donc si tu es sur Gryffondor, le fond est rouge avec l’image liée à la maison.
Pour finir, l’API ne fournit pas systématiquement une photo du personnage. Pour ça, tu dois faire en sorte que, s’il n’y a pas d’image, alors tu affiches un SF Symbol représentant une photo. Le nom du systemName est simplement « photo ».
Tu peux regarder les différentes captures de la maquette ainsi que la démo associée, pour que tout soit clair. Cet exercice est l’exercice final de la formation, par conséquent, cette fois, je ne te fournis aucune correction. Je veux simplement que tu fasses de ton mieux pour amener ce projet au bout.
Maquette
Tips
Pour les conseils, ici tu peux reprendre exactement les mêmes que sur l’exercice précédent, tu vas récupérer le JSON d’une API, le convertir en objet Swift, gérer les erreurs, afficher ta data, etc… À force de répéter l’opération, ça va commencer à être bien plus simple à pratiquer pour toi.
Là où tu peux te casser les dents, c’est sur le filtre. Comment faire pour filtrer uniquement les élèves de la maison sélectionnée ? Avec une closure ! On a vu dans ce cours https://www.pixel-swift.com/project/closure/ la fonction de haut ordre qui te permet de filtrer des données. C’est une bonne piste 😉
(Psst : regarde du côté de .filter { … })
Pour le reste, prends le temps de bien mettre en forme le projet, il n’est pas si compliqué que ça.
→ Tu peux télécharger les images du projet ici : Télécharger les images
→ Tu retrouver l’API ici : https://hp-api.onrender.com/
Apprends à coder comme tu as appris à marcher.
Note
Ça y est, c’est le tout dernier tips de la formation 😱
J’aime beaucoup cette partie de fin de cours, où je prends cinq minutes pour te partager un conseil ou une astuce sur ton apprentissage en développement.
Pour conclure ici, j’aimerais te parler de l’apprentissage par répétition. Depuis que je forme dans le numérique, je prends beaucoup de plaisir à observer, analyser, et essayer de comprendre comment on apprend le mieux possible. Quelle est la meilleure approche pour qu’un·e apprenant·e intègre réellement les connaissances que je tente de transmettre ?
Eh bien, la mise en pratique répétée des mêmes tâches, encore et encore, est, de loin, la meilleure façon d’apprendre que j’ai pu observer. Et ça fait sens. Si on prend un peu de recul, l’être humain apprend naturellement par répétition.
Quand on est bébé et qu’on commence à marcher, on se tient maladroitement au canapé au début. Puis, doucement, on essaie de se lâcher. On titube, on tombe, on se relève, on réessaie, on pratique. À force, le cerveau fait les connexions, il comprend intuitivement ce qu’il faut faire. Et en pratiquant chaque jour, en quelques semaines à peine, l’enfant commence à courir. Quelques mois plus tard, il sprinte. Il est déjà un expert de la marche.
Et qu’importe qui on est, certains enfants marchent à 8 mois, d’autres à 16 mois. Peu importe. Tout le monde finit par marcher.
Dans toutes les compétences qu’on veut apprendre, c’est exactement la même chose. Notre cerveau « apprend à marcher ». Garde cette métaphore en tête, et rassure-toi quand tu ne comprends rien à une notion. Ce n’est pas grave. Ce qui compte, c’est de continuer à te confronter régulièrement à ces apprentissages. Ton cerveau va finir par faire les connexions automatiquement. Et comme pour les enfants, peut-être que dans deux semaines tu auras tout compris, peut-être qu’il te faudra deux ans. Mais si tu ne lâches pas, si tu gardes cette discipline, tu finiras par maîtriser ce que tu es venu chercher.
L’apprentissage de la programmation demande beaucoup de travail… donc beaucoup de temps. Et comme dirait Naruto Uzumaki :
“Il n’y a pas de raccourci !!!”
Pour conclure, rappelle-toi de la première fois que tu as ouvert un playground ou que tu as joué avec Xcode. Ça devait te sembler difficile. Et maintenant ? Xcode et la mise en page avec SwiftUI te semblent sûrement déjà bien plus naturels et intuitifs. La route est encore longue, et c’est ça qui est cool dans ce métier.
L’apprentissage est sans fin.
Apprends à coder comme tu as appris à marcher.
Note
Ça y est, c’est le tout dernier tips de la formation 😱
J’aime beaucoup cette partie de fin de cours, où je prends cinq minutes pour te partager un conseil ou une astuce sur ton apprentissage en développement.
Pour conclure ici, j’aimerais te parler de l’apprentissage par répétition. Depuis que je forme dans le numérique, je prends beaucoup de plaisir à observer, analyser, et essayer de comprendre comment on apprend le mieux possible. Quelle est la meilleure approche pour qu’un·e apprenant·e intègre réellement les connaissances que je tente de transmettre ?
Eh bien, la mise en pratique répétée des mêmes tâches, encore et encore, est, de loin, la meilleure façon d’apprendre que j’ai pu observer. Et ça fait sens. Si on prend un peu de recul, l’être humain apprend naturellement par répétition.
Quand on est bébé et qu’on commence à marcher, on se tient maladroitement au canapé au début. Puis, doucement, on essaie de se lâcher. On titube, on tombe, on se relève, on réessaie, on pratique. À force, le cerveau fait les connexions, il comprend intuitivement ce qu’il faut faire. Et en pratiquant chaque jour, en quelques semaines à peine, l’enfant commence à courir. Quelques mois plus tard, il sprinte. Il est déjà un expert de la marche.
Et qu’importe qui on est, certains enfants marchent à 8 mois, d’autres à 16 mois. Peu importe. Tout le monde finit par marcher.
Dans toutes les compétences qu’on veut apprendre, c’est exactement la même chose. Notre cerveau « apprend à marcher ». Garde cette métaphore en tête, et rassure-toi quand tu ne comprends rien à une notion. Ce n’est pas grave. Ce qui compte, c’est de continuer à te confronter régulièrement à ces apprentissages. Ton cerveau va finir par faire les connexions automatiquement. Et comme pour les enfants, peut-être que dans deux semaines tu auras tout compris, peut-être qu’il te faudra deux ans. Mais si tu ne lâches pas, si tu gardes cette discipline, tu finiras par maîtriser ce que tu es venu chercher.
L’apprentissage de la programmation demande beaucoup de travail… donc beaucoup de temps. Et comme dirait Naruto Uzumaki :
“Il n’y a pas de raccourci !!!”
Pour conclure, rappelle-toi de la première fois que tu as ouvert un playground ou que tu as joué avec Xcode. Ça devait te sembler difficile. Et maintenant ? Xcode et la mise en page avec SwiftUI te semblent sûrement déjà bien plus naturels et intuitifs. La route est encore longue, et c’est ça qui est cool dans ce métier.
L’apprentissage est sans fin.