Projet
On rentre dans le dur, à la base je me suis cassé la tête à trouver un sujet de projet qui pourrait vous intéresser, mais je me suis rendu compte que c’était une perte de temps.
Le mieux c’est encore que vous construisiez une application qui vous plait et qui vous rendra fier de vous et ptet riche (on peut rêver non ?).

Dates clés
| Date | Description |
|---|
| 20 Janvier | Note d’intention |
| 2 Avril | Rendu du projet & Soutenance |
Modalités
- Par groupe de 2 maximum (vous pouvez faire le projet seul aussi)
- Une note d’intention avant de commencer le développement
- Soutenance à la dernière séance, qui comptera dans la note.
- Le projet doit être sur Github en mode public
- Ne commitez pas les clé d’API ou les fichiers de configuration, utilisez un fichier
.gitignore pour cela et la technique des .plist comme vu en cours.
- Vous pouvez utiliser UIKit ou SwiftUI, mais pas les deux.
💡 On ne demande pas une application qui révolutionne le monde mais une application qui fonctionne et qui est propre.
Temps de travail sur le projet
Entre le 2 février et le 2 avril il y aura environ 61 jours. Ce qui fait environ 8 semaines, aussi j’imagine que vous pourrez bossez dessus environ 3h à 4h par semaine par personne ce qui donne environ 48h de travail, en M2 c’est plus que gentil.
En 48h vous pouvez largement réaliser une application qui fonctionne et qui est propre, mais il faudra faire des choix et ne pas vous disperser.
N’hésitez pas à faire appel à https://appideagenerator.com/ ou à vos collègues M2 UX/UI pour trouver des idées.
Note d’intention
🚨 A rendre le 20 Janvier sur Teams
Le but de ce projet est de créer une application de A à Z, en utilisant les connaissances acquises durant le cours.
Contenu de la note d’intention :
- Nom de l’application
- Description de l’application
- Pourquoi vous avez choisi ce sujet ?
- Framework(s) utilisé(s)
- Fonctionnalités principales
- Maquettes “Wireframe” (fil de fer) des 4 écrans (ou +) de l’application (faites les à la main ou avec un logiciel de maquettage comme Whimsical ou Figma)
- Estimation du temps de développement
En fonction de votre proposition je vous demanderais de modifier votre idée si elle est trop ambitieuse ou pas assez ambitieuse pour le temps qui nous est imparti.
- Format : PDF sur Teams, dans le devoir correspondant.
Contraintes
- Application iOS (iPhone ou iPad)
- Utiliser une fonctionnalités physique du téléphone (Caméra, Gyroscope, GPS, etc…)
- 🛜 Utiliser le réseau (Créez un serveur de votre côté ou utiliser une API existante) ou un système de stockage local (CoreData ou SwiftData)
- Votre app doit utiliser des animations et fournir moins 4 écrans différents.
- Respecter les guidelines d’Apple (Human Interface Guidelines)
- Avoir un icon d’application et une charte graphique (couleurs, typographie, etc…) qui lui est propre
Frameworks
Utilisez au moins un des frameworks suivants :
- SpriteKit ou SceneKit (Développement de jeux vidéo)
- CoreML ou Vision (Machine Learning, Reconnaissance d’image, etc…)
- NLP (Traitement du langage naturel)
- PhotosKit (Accès à la galerie photo)
- SwiftCharts (Graphiques)
- RealityKit (Développement pour la réalité augmentée)
- AVFoundation (Utilisation de la caméra, vidéo, audio, etc…)
- CoreLocation (Geofencing, GPS, etc…)
- Les notifications locales ou distantes (Push)
- WidgetKit (Widgets sur l’écran d’accueil)
- MapKit (Cartes)
- CoreMotion (Gyroscope, Accéléromètre, etc…)
- CoreHaptics (Vibration)
- NFC / QRCode
- CoreImage (Filtres photos)
- SiriKit (Intégration de Siri)
- HealthKit (Intégration de l’application Santé)
- … (Si vous trouvez un autre framework qui vous intéresse, hésitez pas à proposer !)
Pour chaque framework, sur la documentation d’Apple vous trouverez des applications de démo et du code déjà tout fait. Aussi vous n’avez pas d’excuse pour rester dans votre zone de confort.
Exemple pour l’utilisation du Gyroscope, de la vibration avec un jeu de balle et de rebond fourni par Apple
Il vous suffit de taper le nom du framework dans l’application Developer d’Apple ou bien sur le site de la documentation.

Soutenance
- Présentez votre idée, quels frameworks vous avez utilisé, les difficultés rencontrées, etc…
- Il faut un bilan personnel et professionnel sur le projet, montrez que vous savez prendre du recul sur votre travail.
Barème
Vous aurez un projet d’application libre à réaliser.
Le projet est à rendre pour la dernière séance. Il compte pour 1 note.
| Critère | Points |
|---|
| Respect du cahier des charges / De votre note d’intention | 3 |
| Rendu du code & Recettage | 5 |
| Qualité de l’interface - respect des guidelines | 4 |
| Utilisation des fonctionnalités de l’OS - respect des contraintes | 4 |
| Soutenance (respect des consignes) | 4 |
| Total | 20 |