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.