\chapter{Action~: borne d'accès au numérique} \large \paragraph{} De plus en plus de démarches administratives se font en lignes. Y avoir accès suppose non seulement d'avoir le materiel adapté, mais surtout avoir un minimum de culture informatique. C'est parti de ce constat que la Caisse d'Allocation Familliale de la Gironde a lancé le projet \textit{Point Numérique C@F}. \normalsize \paragraph{} Il est question d'installer dans les structures sociales des équipements informatique (ordinateurs, imprimantes, scanner) en libre service afin de permettre aux usagers de se connecter à leurs espaces en ligne. Pour accompagner les populations les plus en difficultés, un \textit{facilitateur numérique} assure une permanence. \section{La réponse de l'association} \paragraph{} L'association c'est positionnée sur le projet fin 2019 et a choisie 8 structures pour accueillir le dispositif\footnote{Argonne, Benauge, Bordeaux Sud, Monséjour, Saint-Michel, Saint-Pierre, Bordeaux-Sud et Bordeaux-Lac}. Un facilitateur numérique a été recruté début 2020 afin d'assurer une demi-journée de permanence dans chacune d'elles. \paragraph{} Nous sommes partis sur une idée de borne numérique intégrée en métal contenant les éléments nécessaires (unité centrale, écran tactile, clavier, touchpad, imprimante et scanner); le tout sécurisé et durci. \paragraph{} Le service communication a eu en charge l'habillage graphique ce la borne et le service informatique la mise en place de l'ensemble logiciel. \section{Concevoir un système sécurisé et simple} \paragraph{} D'après les objectifs et le public cible, j'ai définis trois points importants~: \begin{itemize} \item \ul{garantir la confidentialité des données}~: cette borne va être utilisée pour accéder à des données sensibles. De plus le public cible n'est potentiellement pas à l'aise avec la manipulation d'un ordinateur et les enjeux de la vie privée sur Internet. \item \ul{être le plus simple possible}~: la borne doit pouvoir être utilisée par des personnes néophytes. \item \ul{empêcher d'en détourner l'usage}~: elle ne doit pas être utilisée pour aller sur Facebook, Youtube, \textellipsis \end{itemize} \paragraph{} Je suis donc parti sur l'installation d'un système basé sur GNU/Linux. L'idée de base est de le rendre le plus minimal possible, de filtrer l'accès à Internet via le DNS et de rendre le profil utilisateur temporaire. \section{La conception du système} \subsection{Les premiers essais} \paragraph{} J'ai d'abord essayer d'utiliser \textit{Ubuntu}, cette distribution offre de base un \textbf{compte invité}, très pratique pour assurer la non persitance des données d'un utilisateur à l'autre. Mais deux problèmes sont apparuts, mettant sur la touche cette solution~: \begin{itemize} \item il y a \textbf{beaucoup de travail pour personnaliser la distibution} et l'adapter à nos besoins. Et celle-ci entrainera beaucoup de tests, il est aisé de \textit{casser} le système en essayant d'enlever des paquets. \item La mise en place d'une connexion et déconnexion automatique pour le compte invité s'est révélée difficile, et n'a jamais fonctionné correctement. \end{itemize} \subsection{La mise en place su système de base simple} \paragraph{} J'ai donc choisi de partir sur une base \textit{Debian} largement personnalisée. L'idée retenue est donc un système contenant un bureau minimal basé sur des éléments de \link{https://xfce.org}{XFCE}, un navigateur Internet (\link{https://www.mozilla.org/fr/firefox/new/}{Mozilla Firefox}), un logiciel de numérisation (\link{https://gitlab.gnome.org/GNOME/simple-scan}{Simple Scan}) et d'une suite bureautique (\link{https://libreoffice.org}{LibreOffice}). \subsection{Assurer la volatilité des données} \paragraph{} Le second objectif est d'assurer la confidentialité des données des personnes utilisant la borne. J'ai utilisé les fonctionnalité offertes par \link{}{Lightdm} d'exécuter de scripts personnalisés à l'ouverture et fermeture d'une session utilisateur. Ces scripts me permettent de mettre en place la volatilité des données. \subsubsection{Le gestionnaire de session} \paragraph{} Ainsi un utilisateur \textit{pointcaf} dispose d'une session automatiquement connectée. Un script se lance au démarrage de la session et créer son répertoire personnel en RAM, utilisant un système de fichier de type \textit{overlay}. \paragraph{} Lorsque l'utilisateur a fini d'utiliser la borne, il dispose d'une icône pour se déconnecter. Le gestionnaire de session lance alors un script qui va se charger de détruite son dossier\footnote{Il se charge aussi de démonter proprement les périphériques de stockages montés le cas échéant}. \subsubsection{La mise en veille} \paragraph{} Au bout de 10 minutes d'inactivité, un économieur d'écran est lancé. Il se affiche une simple image demandant d'appuyer sur la touche \textit{Entrée}. Lorsque l'usager le fait, un script se lance afin de détruire la session en cours et d'en lancer une nouvelle. \subsection{Empêcher d'en détourner l'usage} \paragraph{} Ces bornes doivent être accessible en libre service, il est donc nécessaire de s'assurer qu'elles ne peuvent pas servir à aure chose. \subsubsection{Le choix déterminant d'un système GNU/Linux} \paragraph{} Installer Debian m'a d'abord permis d'adapter la partrie logicielle au plus près des besoin. Mais il permet aussi de limiter l'installation de logiciels par les tiers. \subsubsection{Limiter les sites accessibles} \paragraph{} Le risque est aussi de voir une borne utilisée pour naviguer sur d'autres sites que ceux servant son objectif. Il ne serait pas surprenant par exemple de voir un groupe d'adolescents "squatter" la bornes pour y visionner des vidéos Youtube. \paragraph{} Trois éléments ont été mis en places afin de limiter la navigation sur le Web : \begin{enumerate} \item \textbf{Limiter les domaines disponibles} par la mise en place d'un résolveur DNS\footnote{Domain Name System} local avec une liste explicite de domaines autorisée. Cette liste est mise à jour quotidiennement par un script. Le logiciel retenu est \link{https://nlnetlabs.nl/projects/unbound/about/}{Unbound}. La configuration des serveurs DNS à uttiliser s'est faire au niveau du service réseau et rendue inaccessibles par les utilisateurs. \item \textbf{La mise en place d'un pare-feu local} permettant de limiter les flux réseaux au strict nécessaire. J'ai utilisé \link{https://www.nftables.org}{nftables} pour mettre en place ces règles. \item \textbf{Une configuration fine du navigateur} via un fichier de configuration au niveau du système. J'ai pu ainsi désactiver l'installation d'extentions. \end{enumerate} \section{Installation des Bornes} \paragraph{} Les bornes étant imposantes, elles ont été livrées sur chacune des sturctures concernées. Pour l'installation de la partie logicielle, j'ai écrit un script d'installation. Celui-ci nécessite un base \textit{Debian} minimale pour fonctionner. \paragraph{} L'installation se fait en deux étapes~: \begin{enumerate} \item \textbf{L'installation d'un système minimal} à l'aide d'une clé USB créée par un \link{https://git.epha.se/ephase/debian-usbcreator}{script maison}. Cette installation se fait de façon automatique par l'emploi de fichier \textit{preseed}\footnote{Un fichier preseed donne des instructions à \textit{Debian Installer} voir \link{https://wiki.debian.org/fr/DebianInstaller/Preseed}{sur la documentation} du projet Debian} \item \textbf{L'exécution du script d'installation} afin de paramétrer la machine lancé en \textit{super-utilisateur}. Il installes les logiciels nécéssaires, les scripts, les utilisateurs et les fichiers de configuration. \end{enumerate} \section{Retour des usagers} \paragraph{} La situation sanitaire exeptionnelle début 2020 a largement impactée l'installation des bornes~: les structures étaient alors fermées au public. Une fois le premier confinement levé, nous avons pu obtenir les premiers retours par l'intermédiaire du facilitateur numérique. J'ai corrigé certains défauts comme le temps d'inactivité trop long avant le verrouillage ou l'ajout de sites supplémentaires dans la liste de ceux autorisés. \section{Conclusion} \paragraph{} Les 3 objectifs définis initialement pour la mise en place de l'ensemble logiciels de ces bornes \textbf{ont tous été atteints}. Cependant le travail de recherche a été long et parfois fastidieux. Ce n'en était pas pour autant ininteressant, bien au contraire. J'ai pu toucher à beaucoup d'aspects autour de l'environnement GNU/Linux de type \textit{"Bureau"}. \paragraph{} Cependant beaucoup de points seraient à améliorer~: une installation simplifiée, la mise en place d'une session non limitée pour le facilitateur numérique et surtout \textbf{Un diffusion sous licence open-source du script d'installation} et des éléments associés afin que d'autre stuctures puissent en béneficier.