Texposoù — Étude de cas

Texposoù est un projet réalisé dans le cadre d’un workshop, j’ai participé au développement d’une plateforme visant à mettre en relation des artistes émergents et les lieux d’expositions, particuliers ou professionnels, voulant réaliser des vernissages ou des expositions chez eux.

Cet article est directement lié à la page concernant ce projet, disponible sur mon portfolio : https://bastienrobert.fr/texposou.

Problématiques

Durant le développement, j’ai été confronté à plusieurs problématiques :

  • Comment connecter des artistes indépendants et inconnus du grand public à des lieux d’expositions atypiques ?
  • Quelles technologies choisir pour développer une plateforme fonctionnelle en 5 jours ?

Fonctionnalités

  • Espace utilisateur : Un espace utilisateur complet à été mis en place, accompagné d’un système de profil pour que les utilisateurs puissent apprendre à se connaitre entre eux ; il existe plusieurs types d’utilisateurs : l’administrateur, le créateur, l’exposant et le visiteur
  • Moteur de recherche : Cette fonctionnalité ajoute un moteur de recherche, fonctionnant grâce à elasticsearch, permettant de trouver un lieu ou un créateur de manière poussée
  • Afficher des oeuvres d’artistes et en découvrir : Cette fonctionnalité ajoute une page de découverte, où tous les artistes sont listés et peuvent être découverts par les visiteurs du site
  • Découvrir des lieux d’exposition : Tout comme pour les oeuvres et les artistes, il est aussi possible de découvrir des lieux d’expositions, disponibles ou déjà exploité par un autre artiste

Au niveau des technos

Afin de développer l’application nécessitant une grosse couche back-end et ce le plus rapidement possible, nous nous sommes penché vers une application Rails.

Côté front-end, des consignes d’utiliser Bootstrap nous ont été imposées. Bootstrap nous a permis de développer les wireframes très rapidement, mais est rapidement devenue une sur-couche qui nous à bridé dans le développement des maquettes finales, bien plus complexes. Nous avons finalement utilisé nos compétences en SCSS afin de développer ou de modifier les composants directement en code.

Moteur de recherche

Texposoù permet de rechercher des artistes par ville ou par nom et de rechercher des lieux par ville.

Nous nous sommes d’abord penché vers un stack Elastic avec l’utilisation de Elasticsearch puis nous avons finalement décidé de développer une solution plus simple à maintenir :

Une variable testUser est générée puis une liste d’utilisateurs correspondant à la recherche est affichée. Si les utilisateurs n’ont pas d’avatar, ils ne sont pas affichés : les critères ne respectent pas la charte d’inscription qui demande un avatar obligatoirement.

Permissions

Afin de gérer les permissions, Texposoù utilise la gem cancancan qui génère un nouveau model ability.rb contenant les permissions pour les différents types d’utilisateurs :

L’utilisateur peut manager tous les contrôleurs sauf rails_admin qui est l’application d’administration uniquement accessible aux administrateurs.

Dans chaque contrôleur, on spécifie quels droits à l’utilisateur :

Si l’utilisateur est propriétaire du contenu, il a accès au formulaire d’édition et à la méthode de suppression, sinon il est redirigé vers la page d’accueil et un message le notifie qu’il n’a pas les permissions nécessaires.

Conclusion

Durant ce workshop de 5 jours, nous sommes parvenu à créer une application viable et fonctionnelle malgré quelques erreurs qui ont été corrigées par la suite. La réelle difficulté de ce projet réalisé durant ma première année de DUT MMI est venu du fait que ce soit le premier projet d’ampleur que nous avions à développer. Il a donc été relativement difficile de nous répartir les tâches dans notre équipe composée d’une dizaine de personnes.

Grâce à ce projet, j’ai :

  • Appris à travailler dans un groupe de travail conséquent sur un projet d’ampleur
  • Approfondi mes compétences en Ruby on Rails et Bootstrap
  • Appris à concevoir un schéma de base de donnée relativement complexe