La solution

SafeZone.ch fait partie de l’offre de l’Office fĂ©dĂ©ral de la santĂ© publique (OFSP) depuis 2016 et vient complĂ©ter les offres locales de consultation sur les dĂ©pendances. Peu importe oĂč et quand, le site web apporte en permanence une aide anonyme. On y trouve Ă©galement des liens vers des centres spĂ©cialisĂ©s, des outils d’auto-Ă©valuation et d’autres informations utiles. C’est en 2021 que le portail devient le support central de la consultation. Via l’application, des spĂ©cialistes des dĂ©pendances peuvent conseiller en ligne les personnes qui en ont besoin. Rapidement et Ă  tout moment : c’est ça, l’aide d’urgence !

En un an seulement, nous avons conçuune application réellement utile. Un tour de force qui n’aurait Ă©videmment pas Ă©tĂ© possible sans agilité. Nous sommes ravi·e·s de prĂ©senter ici les diffĂ©rents Ă©lĂ©ments de ce projet.

Les frameworks

Nous avons eu recours Ă  deux frameworks open source bien Ă©tablis. Django (basĂ© sur Python) pour la base de l’application. Et Vue.js pour la partie frontend. Et les diffĂ©rentes parties de l’application sont reliĂ©es entre elles par le biais d’une interface REST.

Django

Django est une sorte de boĂźte Ă  outils compacte destinĂ©e au dĂ©veloppement d’applications web. Elle convient parfaitement Ă  la conception d’applications individuelles, car elle contient les outils de base indispensables, sans pour autant imposer (trop) de contraintes Ă  l’architecture de l’application.

Ces outils facilitent le travail des dĂ©veloppeur·euse·s lors de l’élaboration de fonctionnalitĂ©s de base avec un ORM solide, d’une interface graphique pour les administrateurs du systĂšme et d’un systĂšme intelligent d’utilisateurs et de rĂŽles. Sans oublier qu’il est tout Ă  fait possible, par le biais d’une extension courante, d’ajouter l’ensemble Ă  un frontend dĂ©solidarisĂ©, sous forme d’API REST.

Vue.js

Vue.js est un framework trĂšs apprĂ©ciĂ© pour la conception d’interfaces graphiques Ă©purĂ©es et performantes dans le navigateur. Vue.js dispose naturellement de modules complĂ©mentaires qui permettent par exemple d’ajouter au framework un lien avec une API. GrĂące Ă  sa popularitĂ© (donc Ă  sa large communautĂ© de contributeur·trice·s), l’environnement de Vue.js propose Ă©galement un large choix de composants standards comme des datepickers, des validations de donnĂ©es, des fenĂȘtres modales, des accordĂ©ons et bien plus encore. Il existe par ailleurs pour Vue.js des bibliothĂšques UI prĂ©dĂ©finies qui ont permis de mettre en Ɠuvre ultra-rapidement le frontend des expert·e·s.

Conception modulaire

Le développement du frontend a suivi une approche modulaire. Regroupées et hiérarchisées en composants, les fonctionnalités sont trÚs polyvalentes et interchangeables.

Le module destinĂ© aux personnes en quĂȘte de conseils est conçu de maniĂšre Ă  s’intĂ©grer directement dans les diffĂ©rents sites des centres suisses de consultation sur les dĂ©pendances. L’application peut ainsi ĂȘtre utilisĂ©e indĂ©pendamment du prestataire de la consultation sur les dĂ©pendances, ce qui uniformise son utilisation. Cette harmonisation permet non seulement de rĂ©duire les coĂ»ts initiaux, mais aussi d’exploiter facilement des synergies dans l’utilisation de l’outil. L’interaction est garantie au-delĂ  des frontiĂšres des cantons et des centres de consultation, et toujours dans le plus grand respect des donnĂ©es. La plateforme constitue ainsi un rĂ©el atout non seulement pour les Suisses et les Suissesses, mais aussi pour les centres de consultation.