Image de présentation d’un écran iOS qui affiche une présantation du langage Swift

RandomDog (Exo)

Image de présentation d’un écran iOS qui affiche une présantation du langage Swift

RandomDog (Exo)

Consigne

Et bien mon cher ami, il serait peut-être temps pour toi de pratiquer un appel API en solitaire, non ? Moi je pense que c’est une bonne idée, et pour ça je t’ai concocté une approche en douceur avec une API simple à utiliser et amusante : https://dog.ceo/dog-api/. Cette API permet d’afficher une image d’un chien aléatoire à chaque requête GET sur l’API. C’est tout. Parfait pour un premier appel.

Donc pour toi, l’objectif est de faire un appel réseau sur cette API, récupérer le endpoint (l’URL où se trouve la donnée en JSON), la traduire sur un objet Swift comme vu dans les cours précédents, et dans une View, afficher un chien, avec un bouton qui, à chaque fois qu’on appuie dessus, relance une requête et par conséquent nous remontre un chien aléatoirement.

Aussi, tu peux t’amuser avec les animations de scale et de rotation pour dynamiser l’affichage du nouveau chien.

Maquette

 Tips

Cet exercice peut te faire un peu peur, comme c’est ta première fois en solo sur un appel API, mais faut bien se lancer, et tu verras d’ici peu qu’avec du recul, c’est un jeu d’enfant ! Prends le temps de bien décomposer comme on l’a fait depuis le début sur les cours d’appel API. Premièrement, regarde comment est fait le JSON, crée une structure correspondante, respecte le MVVM pour bien t’organiser, reproduis l’appel réseau dans ton ViewModel (idéalement tu me fais plutôt ça avec un service comme vu sur le cours précédent, mais ne mets pas la charrue avant les bœufs si ça te semble trop flou). Enfin, dans ta vue, tu récupères ton ViewModel pour observer cette donnée.

Et idem, en bonus, gère les erreurs. Je dis bien en bonus. D’abord fais simple, comprends, puis ensuite fais bien 🙂

Autre tip, chaque API, on l’a vu, est fournie avec une documentation. En général, c’est un très bon guide sur son architecture, ses limites (car oui, il y en a souvent sur les API pro : requêtes limitées, sécurisation, etc.), donc on lit la doc ! Idem ici.

 

Correction

Correction

Preview vs simulateur

Note

La Preview, c’est extrêmement pratique, et tu l’utilises depuis le début de ton apprentissage en iOS pour afficher tes différents écrans pendant que tu codes. Mais la preview a ses limites, et tu rentres justement dans un cas de figure qui peut te le démontrer, quand tu fais des appels réseau, comme ici sur cet exercice, le rechargement de la preview peut empêcher l’appel de fonctionner à cause des contraintes de l’environnement de preview.

C’est pourquoi je te recommande fortement de passer directement par le simulateur. Pour le lancer, clique sur le triangle en haut à gauche (le bouton “Play”), et ton application se lancera directement sur le simulateur.

Le simulateur (je ferai un cours détaillé sur cet outil très prochainement) est une véritable simulation de l’appareil que tu as choisi, ici, un iPhone 16 Pro. C’est une bien meilleure approche pour tester ton application, car l’environnement est beaucoup plus proche du réel.

Évidemment, si tu le peux, l’idéal reste de tester ton app sur un appareil physique directement. Rien ne vaut un vrai test sur un vrai iPhone

Preview vs simulateur

Note

La Preview, c’est extrêmement pratique, et tu l’utilises depuis le début de ton apprentissage en iOS pour afficher tes différents écrans pendant que tu codes. Mais la preview a ses limites, et tu rentres justement dans un cas de figure qui peut te le démontrer, quand tu fais des appels réseau, comme ici sur cet exercice, le rechargement de la preview peut empêcher l’appel de fonctionner à cause des contraintes de l’environnement de preview.

C’est pourquoi je te recommande fortement de passer directement par le simulateur. Pour le lancer, clique sur le triangle en haut à gauche (le bouton “Play”), et ton application se lancera directement sur le simulateur.

Le simulateur (je ferai un cours détaillé sur cet outil très prochainement) est une véritable simulation de l’appareil que tu as choisi, ici, un iPhone 16 Pro. C’est une bien meilleure approche pour tester ton application, car l’environnement est beaucoup plus proche du réel.

Évidemment, si tu le peux, l’idéal reste de tester ton app sur un appareil physique directement. Rien ne vaut un vrai test sur un vrai iPhone