Informations techniques

La plateforme Pass Culture se compose de 4 principaux composants techniques :

  • L’application Web - jeune : application frontale du Pass Culture orientée pour un usage mobile et permettant aux jeunes d’effectuer des réservations

  • L’application Web - pro : application frontale du Pass Culture permettant aux professionnels de renseigner leurs offres et de les personnaliser

  • Un serveur d’API : composant qui est en charge de livrer du contenu aux applications Web en effectuant les transactions avec la base de données. C’est également lui qui s’occupe de la recommandation de contenu.

  • Une base de données : permettant de stocker les différentes données du Pass Culture

Code source

Conformément à l’article L300-2 du code des relations entre le public et l'administration (CRPA), les codes sources des différentes briques techniques de cette plateforme sont considérés comme des documents administratifs et sont donc soumises au principe de publication par défaut et de libre réutilisation.

Le principe de publication par défaut est d’ores et déjà mis en place et les codes sources des différents composants sont disponibles en ligne :

Framework d’ensemble : https://github.com/betagouv/pass-culture-main Application jeune : https://github.com/betagouv/pass-culture-browser Portail professionnel : https://github.com/betagouv/pass-culture-pro Serveur API : https://github.com/betagouv/pass-culture-api

Technologies et hébergement

Les technologies utilisées par les composants de l’application Pass Culture sont les suivantes :

  • Les applications Web (jeune et pro) sont développées en ReactJS + Redux

  • Le serveur API repose sur le framework Flask pour Python 3. Il utilise SQLAlchemy pour effectuer la connexion à la base de données et envoyer les requêtes

  • Base de données : serveur postgresql version > 10

  • Object storage : disque de stockage managé OpenStack (pour clients “Swift”)

Tous les composants sont hébergés sur des solutions “as a Service” :

  • Scalingo est un acteur français proposant une offre de “Platform as a Service”, conforme au RGPD, qui permet de déployer une application web en quelques commandes. La base de données est managée ce qui permet de ne pas se soucier des problématiques de run, configuration et réplication de données qui sont confiées à l’opérateur Scalingo.

  • OVH, acteur français également, nous fournit un service de stockage de contenu multimédia, majoritairement les images ajoutées par les professionnels lors de la création des médiations.

  • Netlify est un Content Delivery Network (CDN), qui permet de rendre disponible du contenu statique simplement.