
Tech • IA • Robotique • Jeu
Un guide orienté débutants en Swift et SwiftUI montre comment créer un suivi d’habitudes fonctionnel dans Xcode, avec ajout, suppression, comptage des validations, stockage persistant via SwiftData, et installation sur un vrai iPhone avec un Apple ID gratuit.
Créer une app iPhone avec Xcode nécessite macOS, car Apple ne propose ni version Windows ni version navigateur. Un Apple ID gratuit suffit pour utiliser le simulateur iOS et installer une app sur son iPhone personnel, tandis que le Apple Developer Program à 99 $ par an sert surtout à la distribution sur l’App Store et à lever les limites des comptes gratuits.
L’app commence comme un nouveau projet iOS nommé Habit App, avec SwiftUI pour l’interface et Swift pour le langage. Le flux de travail se concentre sur un petit ensemble d’outils Xcode: le navigateur de fichiers, l’éditeur de code central, le canvas d’aperçu et l’inspecteur d’erreurs où les erreurs de compilation sont regroupées.
La création n’introduit que les éléments du langage nécessaires à l’app: var pour les valeurs modifiables, let pour les constantes, et des types de base comme String, Int, Double et Bool. Elle couvre aussi les optionals et le déballage sécurisé avec if let, ainsi que les fonctions, tableaux, boucles for-in, if-else, switch et structs.
En SwiftUI, chaque élément d’écran est une view, avec comme briques courantes Text, Image et Button. La mise en page repose sur VStack et HStack, tandis que des modificateurs gèrent le style comme la taille, le poids et le padding. Un compteur simple illustre @State, en montrant qu’une valeur modifiée met automatiquement à jour l’interface visible.
Les erreurs courantes de débutant sont présentées comme une partie normale du développement, et non comme des échecs. Les problèmes typiques incluent des parenthèses ou virgules manquantes, des noms de propriétés mal orthographiés et des optionals forcés pouvant provoquer un plantage à l’exécution. La règle principale est de lire attentivement la première erreur signalée par Xcode, car un seul problème de syntaxe déclenche souvent plusieurs avertissements secondaires.
L’app est volontairement limitée à trois actions essentielles: afficher une liste d’habitudes, ajouter de nouvelles habitudes et incrémenter un compteur quand une habitude est marquée comme faite. Le design utilise deux écrans: une liste principale et une feuille Add Habit. Des fonctions supplémentaires comme les séries, les dates et les catégories sont laissées de côté pour garder un modèle de données et un parcours de code simples.
La plupart des views SwiftUI utilisent des structs, mais le modèle d’habitude enregistré utilise une class car SwiftData a besoin d’une sémantique de référence partagée. Chaque objet Habit ne contient que deux propriétés: un name et timesCompleted, qui commence à zéro. En marquant la classe avec @Model et en ajoutant un modelContainer au point d’entrée de l’app, on obtient un stockage persistant avec une configuration minimale.
La vue principale utilise NavigationStack, un model context et @Query pour récupérer et suivre automatiquement les habitudes enregistrées. S’il n’existe aucun enregistrement, l’interface affiche un message d’état vide invitant l’utilisateur à toucher le bouton plus. Quand des habitudes existent, chaque ligne affiche le nom de l’habitude, son total de validations et un bouton coche qui incrémente le compteur et est automatiquement sauvegardé par SwiftData.
L’écran d’ajout est présenté sous forme de feuille et contient un formulaire avec un seul champ texte. Cancel ferme sans changement, tandis que Save insère une nouvelle habitude dans le model context puis ferme l’écran. Le bouton d’enregistrement reste désactivé si le champ est vide ou ne contient que des espaces, et la suppression se fait depuis la liste principale avec un balayage pour supprimer via onDelete.
Les dernières finitions incluent la définition d’une icône d’app dans Assets.xcassets, l’attribution du nom affiché Habit App, et la vérification du rendu en mode clair comme en mode sombre. L’installation sur un vrai iPhone se fait en connectant l’appareil au Mac, en faisant confiance à l’ordinateur, en sélectionnant le téléphone dans Xcode puis en appuyant sur Run. Les apps installées avec un compte Apple gratuit expirent après 7 jours, puis doivent être recompilées et réinstallées.
Le projet montre qu’une app SwiftUI pratique peut être créée sans maîtriser tout Swift à l’avance. En limitant le périmètre et en utilisant SwiftData pour la persistance, on obtient un suivi d’habitudes iPhone fonctionnel et une porte d’entrée claire vers le développement sur les plateformes Apple.
Poser une question