Conclusion Personnelle
Ruben
Ce projet a été très enrichissant, tant sur le plan technique que sur la gestion de projet et la phase d'analyse. En effet, durant cette SAE, nous avons échangé à de nombreuses reprises avec notre cliente pour faire évoluer le projet et répondre au mieux à ses besoins, que ce soit pour le visuel (maquettes) ou pour les différentes solutions de suggestion qui ont évolué. Ces échanges ont mené à un pivot du projet qui, bien que déroutant (on a l'impression de perdre ce qui a été fait), est intéressant : il montre qu'il est possible de changer tant que cela reste pertinent et permet de mieux correspondre aux attentes du client.
Du côté technique, j'ai travaillé majoritairement sur l'intégration des suggestions par intelligence artificielle. Cela m'a permis d'apprendre énormément sur l'utilisation d'IA, les embeddings et l'optimisation des prompts, ainsi que sur l'utilisation d'API et le lien entre le front et le back, particulièrement lorsque l'on ajoute une couche comme Tauri.
Nathan
Durant ce projet, j'ai principalement travaillé sur la partie back-end avec la mise en place du modèle d'IA et sur le parser. Pour l'IA, nous avons d'abord dû monter en compétences car nous avions du mal à comprendre le fonctionnement des modèles. Après plusieurs tests (utilisation d'outils externes, différents modèles), nous avons choisi un modèle qui respectait nos contraintes : un modèle léger (500 Mo) capable de répondre à nos besoins (retour de synonymes, antonymes, etc.). La principale difficulté a été d'intégrer le modèle dans l'application sans la surcharger.
Pour ce qui est du parser, il n'y a pas eu de difficulté majeure : il a surtout fallu effectuer un important travail de recherche en amont du développement pour obtenir les résultats souhaités. La plus grosse partie du travail a été réalisée (recherche de mots non-clés dans un script). Il reste à ajouter le parcours de dossiers, le support de nouveaux langages et la liaison avec l'interface utilisateur. Nous pouvons également envisager l'ajout de tests unitaires pour garantir le bon fonctionnement de chaque composant.
Pour conclure, je dirais que ce projet a été et reste très intéressant. Bien que l'objectif principal évoqué en début d'année ait évolué et que la partie IA soit moins importante que prévu, j'ai pu faire face à de nouveaux problèmes et découvrir ou redécouvrir des concepts tels que l'architecture d'une application, la mise en place d'un parser et la création d'un logiciel.
Maxence
Ce projet m’a particulièrement plu par son caractère évolutif : le pivot effectuer ainsi que les retours réguliers de la cliente m'ont appris à mieux recueillir et formaliser les besoins. Sur la partie développement, je me suis occupé du maquettage et du front‑end de l’application (prototypage sous Figma, intégration des maquettes), ce qui m’a permis d’améliorer mes compétences en design d’interface et en intégration. J’ai également découvert de nouvelles technologies comme Electron et des outils d’IA générative centralisée (Stitch), qui ont enrichi mon approche du prototypage.
Sur le plan technique, j’ai découvert les bases des embeddings et du fonctionnement des modèles de langage. Je n’ai pas participé au développement back‑end, mais j’ai travaillé en collaboration avec ceux en charge de celui-ci et assisté aux choix architecturaux de l'application (souveraineté des données, etc).
Alexis
Ce projet m’a permis d’acquérir des connaissances et compétences sur les embeddings, une notion de l’informatique de plus en plus présente aujourd’hui. Avant ce projet, je n’avais qu’une compréhension très générale de ce concept. Grâce aux recherches et expérimentations que nous avons réalisées, j’ai pu comprendre comment les embeddings fonctionnent, comment ils sont utilisés pour représenter des données sous forme de vecteurs et comment ils peuvent améliorer des applications comme le traitement de texte ou la recherche intelligente.
Personnellement, je me suis davantage concentré sur le front-end de l’application, car c’est l’une des parties du développement que je préfère. Au cours de cette phase, j’ai acquis des compétences dans différents domaines :
-
Maquettage et design : j’ai utilisé Figma pour la première fois afin de créer des maquettes et prototyper l’interface. J’ai découvert que cet outil est très utile, mais également assez complexe à prendre en main.
-
Qualité de développement : j’ai appris à mettre en place des tests unitaires pour le front-end.
-
Gestion de projet : nous avons organisé des sessions de brainstorming et planifié nos tâches à l’aide d’outils comme Miro, ce qui m’a permis de me familiariser avec la coordination d’équipe et la planification agile.
En ce qui concerne les difficultés rencontrées, je n’ai pas connu de point de blocage particulier. Cependant, une erreur que j’ai commise a été de ne pas avoir correctement organisé l’architecture du projet dès le départ. Cela nous a fait perdre du temps, car nous avons dû réorganiser l’ensemble des fichiers par la suite afin d’obtenir une structure plus propre et plus claire. C’est un point sur lequel je dois m’améliorer.
Enfin, ce projet m’a donné l’opportunité de travailler sur l’intégration d’outils modernes comme Tauri pour le front-end et FastAPI pour le back-end. Cela m’a permis de mieux comprendre l’architecture globale d’une application ainsi que la communication entre le front-end et le back-end. Ce projet a renforcé mes compétences techniques tout en me sensibilisant à l’importance de la collaboration et de l’organisation dans un projet de développement logiciel en équipe. Pour moi, il a été particulièrement agréable et gratifiant de voir notre projet évoluer au fil du temps, et je suis fier du travail que nous avons réalisé ensemble.