AC33.04 | Concevoir et développer des composants logiciels, plugins ou extensions
Cette année, j’ai développé une application de réalité augmentée (AR) dans le cadre de mes études, destinée à être utilisée lors des journées portes ouvertes de mon IUT. L’application, développée pour Android en utilisant Flutter et ARCore, présente une interface utilisateur typique d’une application mobile. Elle permet aux utilisateurs de scanner un QR code pour accéder à un parcours de réalité augmentée où une mascotte est affichée sur une surface plane.
Je considère que ce projet illustre que j’ai acquis la compétence AC33.04, qui consiste à concevoir et développer des composants logiciels, des plugins ou des extensions, pour plusieurs raisons :
Développement de Composants Logiciels
J’ai conçu et développé plusieurs composants logiciels dans cette application :
- Scanner de QR Code: J’ai développé un composant logiciel qui utilise la caméra du dispositif pour scanner des QR codes et extraire les données. Ce composant gère également les autorisations nécessaires pour accéder à la caméra.
- Composant de Réalité Augmentée: J’ai intégré ARCore pour créer un composant de réalité augmentée capable de détecter des surfaces planes et d’afficher des objets 3D interactifs. Ce composant comprend la gestion des modèles 3D et leur affichage en AR.
Intégration de Plugins
L’utilisation de Flutter et ARCore m’a permis d’intégrer plusieurs plugins pour ajouter des fonctionnalités à l’application :
- Plugin QR Code Scanner : J’ai utilisé un plugin de scanner de QR code pour permettre à l’application de lire les QR codes. Cela inclut l’intégration et la configuration du plugin, ainsi que la gestion des callbacks pour traiter les résultats du scan.
- Plugin ARCore : J’ai intégré le plugin ARCore pour ajouter des capacités de réalité augmentée à l’application. Cela a impliqué la configuration du plugin, la gestion des objets 3D, et l’implémentation des interactions en AR.
Développement de Fonctionnalités Spécifiques
J’ai développé des fonctionnalités spécifiques pour répondre aux besoins de l’application :
- Navigation Basée sur QR Code : J’ai conçu un système de navigation qui redirige les utilisateurs vers différentes pages de l’application en fonction du contenu du QR code scanné. Cela nécessite une logique de traitement des données et des routes pour gérer les différentes destinations possibles.
- Affichage des Objets 3D : J’ai développé des fonctionnalités pour afficher des objets 3D en réalité augmentée et permettre aux utilisateurs d’interagir avec ces objets. Cela inclut la gestion des modèles 3D, et leur positionnement dans l’espace AR.
Pistes de perfectionnement
- Développement de Plugins Personnalisés: Bien que j’aie intégré des plugins existants, le développement de plugins personnalisés pour des besoins spécifiques pourrait démontrer une maîtrise encore plus grande de cette compétence.