Cours SwiftUI + rappels UIKit
Apprendre SwiftUI, réviser UIKit, viser un CDI iOS
123 fiches en 19 parties. Fondations Swift, SwiftUI, MVVM, async, réseau, backend, tests, sécurité et projet final — avec un rappel de la version UIKit quand elle existe.
Comment lire les fiches
- SwiftUI + rappel UIKit — la fiche montre aussi l'équivalent UIKit.
- SwiftUI uniquement — pas d'équivalent UIKit.
- Sans pastille — transversal (vaut pour SwiftUI et UIKit).
Fondations Swift (pour le dev UIKit)
12 fiches- 00.01Struct vs class : value types et reference types
- 00.02Les optionals en profondeur
- 00.03Enum, valeurs associées et pattern matching
- 00.04Protocols et protocol-oriented programming
- 00.05Generics, some et any (opaque vs existential)
- 00.06Codable en conditions réelles
- 00.07Gestion des erreurs : Error, Result, throws
- 00.08De UIKit à SwiftUI : le pont mental
- 00.09Mémo express : syntaxe, variables et types
- 00.10Mémo express : conditions, boucles et optionals
- 00.11Mémo express : fonctions et closures
- 00.12Mémo express : collections et leurs méthodes
Fondations SwiftUI
7 fichesGestion d'état SwiftUI
11 fichesUI, composants et design system
13 fiches- 03.01Créer des composants réutilisables
- 03.02Bouton réutilisable
- 03.03Champ de texte réutilisable
- 03.04Cards et containers réutilisables
- 03.05Loading, Empty et Error Views réutilisables
- 03.06Design system simple : couleurs, typo, spacing
- 03.07Formulaires SwiftUI
- 03.08Gestion du clavier avec @FocusState
- 03.09Listes avancées : sections, swipe, suppression, édition
- 03.10Grilles avec LazyVGrid et LazyHGrid
- 03.11Dark mode propre
- 03.12Accessibilité de base
- 03.13Human Interface Guidelines : les bases
Animations et gestures
2 fichesNavigation SwiftUI
3 fichesArchitecture SwiftUI / MVVM
9 fiches- 06.01Pourquoi l'architecture compte : MVC, MVVM, services
- 06.02MVVM dans SwiftUI avec ViewModel
- 06.03Services, protocoles et dependency injection
- 06.04Organisation des dossiers par feature
- 06.05Clean Architecture version simple
- 06.06Router / Coordinator : navigation centralisée
- 06.07Environnements dev / staging / prod
- 06.08Les principes SOLID en Swift
- 06.09TCA (The Composable Architecture) : l'essentiel
Async, réseau et API REST
11 fiches- 07.01async/await, Task, .task et @MainActor
- 07.02HTTP, JSON et Codable
- 07.03URLSession GET/POST avec async/await
- 07.04APIClient simple : endpoints, headers, erreurs
- 07.05Auth REST propriétaire : login, token, refresh, logout
- 07.06Alamofire en pratique
- 07.07Concurrence : annulation, async let et TaskGroup
- 07.08Concurrence avancée : actors, Sendable, Swift 6 et continuations
- 07.09Réseau de production : pagination (offset/limit et cursor)
- 07.10Réseau de production : refresh token réel (single-flight)
- 07.11Réseau de production : upload multipart, offline et erreurs métier
Combine utile en SwiftUI
2 fichesPersistance locale
7 fichesAuthentification
3 fichesBackend serverless : Firebase et Supabase
8 fiches- 11.01Installer Firebase dans une app SwiftUI
- 11.02Firebase Auth en pratique
- 11.03Firestore : collections, documents et CRUD
- 11.04Firestore temps réel avec listeners
- 11.05Firebase Storage : upload/download image
- 11.06FCM, Crashlytics et règles de sécurité en intro
- 11.07Supabase avec Swift : Auth, Postgres, Realtime, Storage
- 11.08Règles de sécurité backend : Firestore Rules et Postgres RLS
Permissions et système iOS
4 fichesUIKit avec SwiftUI
2 fichesTests
6 fichesDebug, qualité et production
9 fiches- 15.01Xcode debugger, breakpoints et console
- 15.02Memory Graph, leaks et retain cycles
- 15.03Instruments Time Profiler
- 15.04Crashlytics, logs et erreurs non fatales
- 15.05Préparer une app pour l'App Store
- 15.06Performance SwiftUI : re-renders et granularité @Observable
- 15.07Listes et images performantes + Instruments
- 15.08ARC en pratique : deinit, weak vs unowned et fuites async
- 15.09Publier sur l'App Store, pas à pas
Compétences entreprise iOS
8 fiches- 16.01Git essentiel pour travailler en équipe
- 16.02Pull Request, code review et travail en équipe
- 16.03Agile, Scrum, Jira et organisation produit
- 16.04Dépendances iOS : SPM et CocoaPods
- 16.05CI/CD, Fastlane et TestFlight
- 16.06Lire et reprendre un projet iOS existant
- 16.07Lecture rapide : Objective-C, Realm, GraphQL
- 16.08Qualité pro outillée : SwiftLint, CI GitHub Actions, DocC et Git avancé