This repository has been archived on 2024-09-06. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
stage/chapitres/chapitre_3.tex
2021-08-26 13:53:56 +02:00

203 lines
9.2 KiB
TeX

\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.