Développement d'une Application Web pour Bornes Interactives de l'OSUG, CNRS : Retour d'Expérience

14 Décembre 20248 min de lecture

Les Enjeux du Projet

L'objectif principal était de concevoir un système de gestion d'affichage permettant aux bornes de diffuser dynamiquement du contenu scientifique et informatif. Ce système devait être flexible, évolutif et facile à administrer, tout en garantissant une navigation fluide pour les visiteurs.

Une particularité du projet était qu'il devait fonctionner sur des systèmes embarqués, en l'occurrence des Raspberry Pi 4, ce qui impliquait des ressources limitées en termes de mémoire. De plus, l'interface était destinée à une utilisation tactile, nécessitant une ergonomie soignée et une navigation intuitive, tout en affichant de manière efficace un grand volume de données scientifiques.

Photographie d'ensemble des bornes du musée

Vue d'ensemble des bornes interactives du musée

Le projet se divise en deux parties principales :

  • Le serveur : Gère les données, l'administration et la communication avec les clients.
  • Le client : Affiche les informations sur les bornes interactives.

Les Technologies Utilisées

Côté Serveur : Django & PostgreSQL

Pour le backend, Django a été choisi, un framework Python reconnu pour sa robustesse et sa rapidité de développement. Il offre une structure solide pour la gestion des données et une interface d'administration intégrée, idéale pour permettre aux équipes du musée de gérer facilement les contenus affichés.

  • Base de données : PostgreSQL, un choix pertinent pour gérer efficacement des volumes de données importants et assurer la stabilité du système.
  • API REST : Django a permis de mettre en place une API RESTful permettant aux bornes de récupérer les données en temps réel.

Côté Client : TypeScript & Web Technologies

Le client tournant sur les bornes interactives est développé en TypeScript, un langage qui apporte une meilleure maintenabilité et plus de sécurité par rapport à JavaScript.

  • Interface dynamique et réactive grâce aux technologies modernes du web.
  • Optimisation des performances pour un affichage fluide et rapide sur les bornes.

Déroulement du Développement

  • ✅ Analyse des besoins : Identification des fonctionnalités essentielles avec les équipes du musée, chercheurs et communiquants.
  • ✅ Mise en place de l'architecture : Définition de la structure du serveur et des interactions avec le client.
  • ✅ Développement du backend : Création des modèles de données et de l'API avec Django.
  • ✅ Design de l'interface : Conception d'une interface intuitive conçu pour un usage tactile et visuellement agréable.
  • ✅ Développement du client : Conception de l'interface en TypeScript d'après les maquettes.
  • ✅ Tests et améliorations : Optimisation des performances et ajustements UX.
← Retour aux articles