Mes débuts pour créer mon application Plannings_cinema

J’ai participé à une formation de Développeur logiciel en 2015 avec SimplonVE. J’aurai aimé vous laisser un lien, nous avions pourtant créer un site en Ruby on Rails, au cours de notre formation, qui a été supprimé par la suite, j’en profite pour dire que je trouve irrespectueux de ne pas l’avoir gardé et maintenu. Si vous voulez en savoir plus, il y a une page Facebook de SimplonVE (sigh! facebook a tué l’époque où librement des sites créatifs se développaient…).

Étant actif au sein de plusieurs associations, l’une d’elle Écran Village, un cinéma d’Arts et Essais, se trouvait submergée notamment par l’arrivée du numérique qui a considérablement augmenté le nombre de séances en divers lieux. Nous étions une trentaine de bénévoles et l’outil pour organiser qui pouvait faire la projection et/ou la caisse était un tableau, puis un Framacalc (tableur collaboratif de Framasoft), mais ce n’était pas idéal. Je me suis décidé à créer un outil, un application qui servirait d’Agenda et plus. Ma première préoccupation était de pouvoir choisir un lieu, puisque en tant les bénévoles sont dispatchés dans notre zone rurale par quelques kms, on se consacre aux projections près de chez soi en premier lieu. Donc, il me fallait pas un Agenda mais des Agendas…

Ma première tâche, je l’ai créer en m’inspirant d’un  tutoriel qui permettait de créer un Agenda from scratch avec Ruby on Rails: Building a Basic Calendar in Ruby on Rails. Là je commençais à découvrir la magie de Rails, en quelques lignes de code, j’avais un calendrier. J’ai du changer pas mal de choses par la suite pour ce que je voulais obtenir.

Puis il me fallait des Utilisateurs, des Films, des Séances et des Lieux. Avec Rails, à chaque fois on créer des objets (en programmation on pourrait imaginer comme une métaphore dans une usine d’automobiles une auto avec 4 roues et un moteur serait un objet)

Je me suis un peu trompé au début sur les relations à mettre entre chaque tables (correspondant à des objets). Dans mon cas, les objets serait les Lieux, le Fims, les Séances, les Utilisateurs.

Mon code n’a pas cessé d’évoluer et j’ai du parfois tout reconstruire à zéro. J’ai ajouté beaucoup de choses, comme les Entrées (enfants, adultes, scolaires) que les bénévoles marque en fin de séance, les Disponibilités pour savoir qui est absent lorsqu’on s’inscrit à une séance, les Classifications des Films (Art et Essai, Jeune Public, Patrimoine et Répertoire, Recherche et Découvertes), une page de calcul des Entrées avec en entrant un choix de date le résumé des Films, des Entrées et des Classifications, qui permet à un salarié d’envoyer les résultats au CNC chaque semaine.

Cet outil est devenu indispensable pour notre association pour la gestion des bénévoles. Il permet à tous les bénévoles s’occupant de la caisse ou de la projection des séances , dans différentes zones éloignées entre elles où nous avons une programmation, de s’inscrire. Un iframe permet d’offrir à d’autres sites une intégration du calendrier des séances.

J’ai aussi passé du temps à écrire une documentation sous forme de Wiki. J’ai toujours songé que peut-être cet outil pouvait servir à d’autres cinéma itinérants, ou autre activité en l’adaptant. Dans ce site, je voudrais surtout laisser une trace non seulement sur comment est construite l’application, mais aussi sur comment la déployer techniquement sur un serveur.

Source du projet: https://framagit.org/rodinux/plannings_cinema

Wiki du projet: https://framagit.org/rodinux/plannings_cinema/wikis/home

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.