Retour aux projets

HandicapXR

Terminé
2024

Description

Ce projet constitue le travail de groupe réalisé durant ma deuxième année de BUT informatique. Plusieurs sujets nous étaient proposés par les enseignants, qui assuraient à la fois le rôle de client et de tuteur. Nous avons choisi de développer une application destinée à l'Apple Vision Pro, visant à sensibiliser les entreprises aux handicaps invisibles. Ce choix s'explique par plusieurs motivations : l'accès limité à cet équipement innovant, notre intérêt commun pour les technologies VR/XR en pleine expansion, ainsi que l'opportunité d'apprendre à programmer en Swift via Xcode, un environnement que nous ne maîtrisions pas encore. Ce projet représentait donc une occasion idéale d'acquérir de nouvelles compétences techniques tout en travaillant sur une thématique qui nous tenait à cœur. Nous avons mené ce travail en autonomie, en équipe de quatre, tout au long de l'année.

Dans un premier temps, nous avons effectué des recherches approfondies sur les différents types de handicaps invisibles ainsi que sur les meilleures façons de les représenter. Pour cela, nous avons sollicité l'infirmière de notre IUT, dont les conseils se sont révélés précieux pour orienter nos travaux et garantir un rendu aussi fidèle que possible. Nous avons ainsi retenu trois handicaps à illustrer : le glaucome, la DMLA et la schizophrénie. Par la suite, nous avons réparti les tâches en deux groupes : l'un se consacrait à l'apprentissage de Swift, tandis que l'autre réalisait des Proof of Concept autour de la réalité virtuelle et de la réalité mixte. Nous avons utilisé les bibliothèques ARKit et RealityKit pour la partie liée à la réalité augmentée, et Reality Composer Pro pour la création des contenus 3D. L'ensemble de ces éléments a ensuite été intégré dans différentes vues, notamment une vue immersive, afin de construire notre application. Pour la démonstration, nous avons imaginé une mise en situation dans laquelle l'utilisateur réalise des actions du quotidien, comme se servir un verre d'eau ou tenter d'attraper un objet en mouvement, afin de mieux comprendre les difficultés rencontrées par les personnes concernées.

Ce projet m'a permis de découvrir le développement pour visionOS et de monter en compétences sur Swift/SwiftUI, la réalité mixte et la création d'environnements 3D immersifs. Travailler sur un sujet à forte dimension humaine a également renforcé ma capacité à concevoir des applications accessibles et porteuses de sens.

Défis & Solutions

Défi

La principale difficulté à laquelle nous avons été confrontés concernait le choix initial de la technologie. À plusieurs reprises, certains obstacles techniques nous ont contraints à repartir de zéro dans notre apprentissage.

Solution trouvée

Nous avons d’abord opté pour Unity, car l’un des membres de l’équipe possédait déjà une certaine expérience avec ce moteur. Toutefois, il nous a fallu apprendre à concevoir des expériences en réalité virtuelle avec cet outil. Après une semaine de travail, nous avons découvert que le déploiement d’une application Unity sur l’Apple Vision Pro nécessitait une licence payante, trop coûteuse dans le cadre d’un projet étudiant. Après discussion avec notre tuteur, celui-ci nous a orientés vers Three.js, une bibliothèque JavaScript permettant de créer des environnements 3D dans un navigateur web. Nous avons donc envisagé une application web, ce qui nous a permis de développer nos compétences en développement web et d’obtenir un rendu satisfaisant. Néanmoins, la mise en place des tests, notamment pour la réalité virtuelle dans le navigateur, s’est révélée complexe. Finalement, nous avons choisi de nous tourner vers SwiftUI. Cette décision nous a permis d’acquérir une solide expérience en développement iOS et d’obtenir un résultat final très convaincant, proche des objectifs que nous nous étions fixés.

Compétences acquises

  • Développement d'application sur Apple Vision Pro (visionOS)
  • Prise en main de Swift et SwiftUI
  • Développement en réalité mixte (ARKit, RealityKit)
  • Création de contenus 3D (Reality Composer Pro)
  • Travail en autonomie sur un projet long terme
  • Méthodes agiles (travail en sprint)
  • Travail en équipe de 4 en autonomie
  • Réponse aux besoins d'un client

Aperçu

Capture d'écran 1
Capture d'écran 2