Un projet enthousiasmant
Chez Image IN, nous sommes tous musiciens amateurs. C'est donc avec joie que nous avons sauté sur l'occasion de réaliser un projet en lien avec la musique. En novembre 2022, l'UFEM, alors UFF, nous a contacté afin de réaliser une plateforme, sous forme d'annuaire, permettant de contacter les associations de fanfares partout en France. Le but était d'offrir une visibilité aux associations qui sont généralement peu ou pas visibles sur internet, notamment lorsqu'il s'agit de prestations rémunérées.
De quel bois est-il fait ?
C'est parti ! Après quelques discussions afin de cadrer le budget, nous avons donc décidé que cette plateforme serait développée avec ReactJS, une librairie javascript moderne, et que nous utiliserions Bootstrap comme design system, n'ayant pas le budget pour en développer un propre à la plateforme.
À l'origine, nous ne devions gérer que la partie frontend, l'API de l'application devait, elle, être réalisée en interne. Par manque de temps, celle-ci n'a pas pu être faite et nous en avons récupéré la réalisation quelques mois plus tard. Nous avons décidé de la réaliser en Go, un langage serveur que nous affectionnons particulièrement pour son élégante simplicité.
Un joli iceberg !
L'application en elle-même est globalement assez simple de prime abord. La page d'accueil est une liste de cards, représentant des ensembles musicaux. Ceux-ci présentent certaines informations, notamment leur nom, une photo, leur répertoire et leur localisation.
Les cards mènent à une page de détail donnant de plus amples informations sur l'ensemble et permettant de le contacter sous réserve d'authentification.
Le plus gros du travail était sur deux points en particulier : le système de recherche et l'interface d'administration permettant aux associations de remplir leur fiche. Le budget étant serré, il n'était pas envisageable de souscrire à une solution de type Algolia pour le système de recherche. C'est pourquoi nous l'avons implémenté nous-mêmes en effectuant directement les requêtes de recherche sur la base de données, la scalabilité de ce genre de projet n'étant pas un souci.
Le formulaire, de son côté, est lui aussi assez complexe. Un utilisateur peut gérer plusieurs associations, et une association peut posséder plusieurs ensembles musicaux. De plus, il faut pouvoir gérer l'upload de fichiers divers (photos, PDF, fichiers Excel, etc.). Enfin, afin de ne pas avoir X fois la même adresse à taper, nous avons choisi de les extraire afin de pouvoir les référencer directement.