Application Word Scramble terminée et premières leçons du projet Fidelity App
Salut ! Encore une nouvelle journée de formation et j’ai terminé une nouvelle application aujourd’hui : Word Scramble !
#
Application Word Scramble complétée
J’ai terminé l’application Word Scramble où Paul Hudson nous a montré comment :
- Charger un fichier de données
- Faire de la validation de texte
- Gérer les interactions utilisateur
Mais ce qui m’a vraiment motivé, c’est que je l’ai intégrée dans mon application centralisée où je rassemble tous les exercices de formation. Et là, j’ai décidé de l’améliorer !
##
Améliorations apportées
J’ai ajouté plusieurs fonctionnalités intéressantes :
-
Fond d’écran animé : J’ai testé une animation de gradient que j’ai trouvée sur internet. Le résultat est vraiment sympa visuellement !
-
Localisation complète : J’ai rajouté un petit bouton en haut à droite qui permet de choisir entre français et anglais. Toute l’interface se met à jour selon le choix, avec des mots spécifiques à chaque langue.
-
Base de données élargie : Je suis allé chercher sur internet une liste de mots de Scrabble et j’ai ajouté 47 000 mots en français ! J’ai vraiment surchargé le prototype que j’ai créé aujourd’hui.
-
Système de score : Ajout d’un comptage de points basé sur la longueur des mots trouvés.
-
Fonction “nouveau mot” : Possibilité de changer de mot si celui proposé est trop complexe.
#
Travail sur ContactHive
Ce matin, j’ai continué à améliorer l’application ContactHive. Les perfectionnements se font progressivement et chaque session apporte son lot d’améliorations.
#
Recherche sur les composants réutilisables
En fin de journée, juste avant ma séance de sport, j’ai regardé comment créer des composants réutilisables. J’ai suivi une formation de Peter Friese qui explique comment créer des packages.
Mais honnêtement, ça me semble trop compliqué pour mon niveau d’expertise et mes compétences actuelles. C’est définitivement un point que je dois travailler !
Pour le prochain projet que je commence demain, je vais essayer de faire des choses assez standard pour créer dans le futur un petit repository avec des fichiers réutilisables.
Ce sera ma première version d’approche modulaire. Plus tard, je pourrais créer des packages beaucoup plus complexes, mais pour l’instant c’est trop tôt. Il faut que j’apprenne à marcher avant de courir !
#
Session de sport
J’ai fait ma petite session de sport - 40 minutes au lieu de l’heure habituelle. J’étais complètement crevé aujourd’hui, et pourtant j’ai bien dormi ! Parfois le corps réclame juste un peu plus de repos.
#
Lessons Learned : Premier retour d’expérience sur Fidelity App
Puisque j’ai terminé mon premier projet portfolio, voici les principales leçons que j’en tire :
##
Architecture et Organisation du Code
-
Nettoyer le code au fur et à mesure : J’ai découvert des fonctions et classes abandonnées lors de la documentation finale. Un nettoyage régulier et une approche plus méthodique auraient évité ça.
-
Planifier l’architecture avant de coder : Le manque de structure claire m’a fait perdre du temps en refactoring.
##
Gestion des Données et State Management
-
Clarifier la stratégie de state management dès le début : J’ai eu des doutes sur ce qui devait aller dans SwiftData vs l’état de l’application.
-
Maîtriser SwiftData avant de l’implémenter : Je me suis lancé avec des technologies que je ne connaissais pas, ce qui a ajouté du temps de debug sur des problématiques inconnues.
##
Processus de Développement
-
Implémentation MVC manquante : Point d’attention mais priorité faible à ce stade de la formation.
-
Tester la navigation entre vues plus tôt : J’ai beaucoup galéré et je n’ai pas encore bien compris la navigation.
-
Documenter au fur et à mesure : Attendre la fin pour documenter les fonctions m’a fait perdre du temps.
-
Design Components : J’avais prévu de créer des composants réutilisables mais je n’ai pas structuré mon code pour pouvoir créer des blocs réutilisables. Mes connaissances ne sont pas encore assez établies, mais j’ai su identifier les composants qui méritaient une rationalisation.
-
Atomic Commits insuffisants : Je n’ai pas du tout respecté une gestion des commits stricte. Ce point est crucial pour les grands projets ou pour de futurs clients.
##
Debugging et Messages d’Erreur
-
Apprendre à décrypter les messages d’erreur Xcode : Ma connaissance du logiciel Xcode est à améliorer.
-
Créer un système de debug plus structuré : Je n’ai pas privilégié une bonne gestion des erreurs sur ce projet.
##
Design & Assets
-
Qualité des assets : Les assets créés auraient pu être de meilleure qualité.
-
Compétences Design et UX : Point d’attention sur les compétences Design et UX pour les prochains projets.
-
Animations UI : Point d’attention sur les animations au niveau de l’interface utilisateur.
##
Planification et Scope
- Estimation des étapes imprécise : L’enchaînement des étapes pourrait être revu car le cycle de développement que j’ai utilisé ne correspondait pas à mon plan établi.
#
Demain : nouveau challenge !
Demain, je commence les challenges pour l’application Word Scramble et je continue l’avancement des projets portfolio avec ces nouvelles leçons en tête.
À demain !
Alessandro