Compare commits
2 commits
daf0fac3ef
...
eb2746eb08
Author | SHA1 | Date | |
---|---|---|---|
eb2746eb08 | |||
4cb6f69e6d |
8 changed files with 2741 additions and 76 deletions
83
annexes/annexe_4.tex
Normal file
83
annexes/annexe_4.tex
Normal file
|
@ -0,0 +1,83 @@
|
|||
\chapter{Fichiers de configuration OpenWRT}
|
||||
\label{chap:openwrt}
|
||||
\begin{lstlisting}[caption={/etc/config/network}]
|
||||
config interface 'loopback'
|
||||
option ifname 'lo'
|
||||
option proto 'static'
|
||||
option ipaddr '127.0.0.1'
|
||||
option netmask '255.0.0.0'
|
||||
config switch
|
||||
option name 'switch0'
|
||||
option reset '1'
|
||||
option enable_vlan '1'
|
||||
config switch_vlan
|
||||
option device 'switch0'
|
||||
option vlan '100'
|
||||
option ports '0t 5t'
|
||||
config switch_vlan
|
||||
option device 'switch0'
|
||||
option vlan '101'
|
||||
option ports '0t 5t'
|
||||
config interface 'cab_adm'
|
||||
option ifname 'eth0'
|
||||
option proto 'static'
|
||||
option ipaddr '10.1.5.212'
|
||||
option netmask '255.255.255.0'
|
||||
config interface 'cab_priv'
|
||||
option type 'bridge'
|
||||
option ifname 'eth0.100'
|
||||
option proto 'static'
|
||||
option ipaddr '192.168.5.212'
|
||||
option netmask '255.255.255.0'
|
||||
option gateway '192.168.5.254'
|
||||
option stp '1'
|
||||
config interface 'cab_pub'
|
||||
option type 'bridge'
|
||||
option ifname 'eth0.101'
|
||||
option proto 'static'
|
||||
option ipaddr '10.0.5.212'
|
||||
option netmask '255.255.255.0'
|
||||
option stp '1'
|
||||
\end{lstlisting}
|
||||
|
||||
\newpage
|
||||
|
||||
\begin{lstlisting}[caption={/etc/config/wireless}]
|
||||
# Radio0 correspond au réseaux 2.4ghz
|
||||
config wifi-device 'radio0'
|
||||
option type 'mac80211'
|
||||
option channel '11'
|
||||
option hwmode '11g'
|
||||
option path 'platform/soc/a000000.wifi'
|
||||
option htmode 'HT20'
|
||||
option disabled '0'
|
||||
config wifi-iface 'priv_radio0'
|
||||
option device 'radio0'
|
||||
option network 'cab_priv'
|
||||
option mode 'ap'
|
||||
option ssid '<ssid_prive>'
|
||||
option encryption 'psk2'
|
||||
option key '<cle_privee>'
|
||||
config wifi-iface 'pub_radio0'
|
||||
option device 'radio0'
|
||||
option network 'cab_pub'
|
||||
option mode 'ap'
|
||||
option ssid '<ssid_public>'
|
||||
option encryption 'psk2'
|
||||
option key '<cle_publique>'
|
||||
# Radio1 au réseau 5ghz (privé seulement)
|
||||
config wifi-device 'radio1'
|
||||
option type 'mac80211'
|
||||
option channel '36'
|
||||
option hwmode '11a'
|
||||
option path 'platform/soc/a800000.wifi'
|
||||
option htmode 'VHT80'
|
||||
option disabled '0'
|
||||
config wifi-iface 'priv_radio1'
|
||||
option device 'radio1'
|
||||
option network 'cab_priv'
|
||||
option mode 'ap'
|
||||
option ssid '<ssid_prive>'
|
||||
option encryption 'psk2'
|
||||
option key '<cle_prive>'
|
||||
\end{lstlisting}
|
|
@ -1,15 +1,20 @@
|
|||
\chapter*{Avant-Propos}
|
||||
|
||||
\paragraph{}
|
||||
20 ans après avoir fini ma formation initiale en obtenant un BTS informatique de
|
||||
gestion, j'ai choisi de retourner sur les bancs de l'école en licence
|
||||
professionnelle. Cette formation consacre plus de 10 ans d'implication dans les
|
||||
communautés open-sources bordelaises et orientera ma carrière.
|
||||
\paragraph{} 20 ans après avoir fini ma formation initiale en obtenant un BTS
|
||||
informatique de gestion, j'ai choisi de retourner sur les bancs de l'école en
|
||||
licence professionnelle. Cette formation consacre plus de 10 ans d'implication
|
||||
dans les communautés open-sources bordelaises et orientera ma carrière. Je viens
|
||||
d'ailleurs de changer d'emploi et devrait intégrer le \textit{Master Ingénieurie
|
||||
de l'Informatique} à la rentrée.
|
||||
|
||||
\paragraph{}
|
||||
Étant salarié, mon employeur m'a imposé d'étaler la formation sur 3 ans afin de
|
||||
pouvoir rester disponible pour l'association.\footnote{je travaille actuellement
|
||||
pour les centres d'animation de Bordeaux, association loi 1901 gérant des
|
||||
centres sociaux sur bordeaux}
|
||||
Je suis donc à la moitié de ma formation et peut dresser un bilan des
|
||||
apports de celle-ci.
|
||||
\paragraph{} Ce mémoire d'alternance traite bien entendu de mes trois ans passés
|
||||
en licence\footnote{J'ai bénéficié d'un aménagement afin de rester disponible
|
||||
pour assurer mes missions auprès des Centres d'Animation de Bordeaux}. Mais je
|
||||
fus salarié de cette association pendant 21 ans, et j'ai participé à la création
|
||||
de son service informatique. Il contient donc aussi des passages évoquant cet
|
||||
historique.
|
||||
|
||||
\paragraph{} Ce mémoire contient des liens, il sont symbolisés par la petite
|
||||
sous cette forme~: \ul{{\color{ElectricGreen}\faLink} lien}. Dans sa version
|
||||
numérique, les liens sont actifs et utilisables, la version papier utilise des
|
||||
notes de bas de page pour vous indiquer les URL.
|
||||
|
|
|
@ -7,13 +7,18 @@ un modem RTC. Aujourd'hui tous les centres sont équipés et interconnectés
|
|||
et les besoins grandissent chaque année.
|
||||
|
||||
\normalsize
|
||||
\section{Le S.I en quelques chiffres}
|
||||
\section{Le S.I. en quelques chiffres}
|
||||
|
||||
Au moment de l'écriture de ce rapport, les centres d'animation de Bordeaux
|
||||
disposent d'un parc \textbf{371 postes clients} fonctionnant majoritairement
|
||||
sous \textit{Microsoft Windows}, de \textbf{20 imprimantes}, \textbf{10 serveurs
|
||||
de fichiers} dans les structures, \textbf{7 serveurs} au siège.
|
||||
|
||||
\section{L'organisation du service informatique}
|
||||
|
||||
\paragraph{} Le service fait parti des fonction support de l'association, notre
|
||||
bureau est situé aux siège de l'association au 40 cours d'Albret à Bordeaux. Il
|
||||
est composé de quatres personnes~:
|
||||
bureau est situé aux siège situé au 40 cours d'Albret à Bordeaux. Il est composé
|
||||
de quatres personnes~:
|
||||
|
||||
\begin{itemize}
|
||||
\item Cécil Bensimon --- directeur général adjoint, responsable des systèmes
|
||||
|
@ -46,13 +51,13 @@ présent dans toutes les structures de l'association}
|
|||
|
||||
\paragraph{} Le réseau administratif des \textit{Centres d'animation de
|
||||
Bordeaux} est assuré par \textit{Orange} via une offre \textit{BVPN}. Cette
|
||||
offre englobe un VPN géré directement par le fournisseurs d'acces à Internet.
|
||||
offre englobe un VPN géré directement par le fournisseurs d'accès à Internet.
|
||||
Chacune des structures est réliée aux autres via un plan d'adressage privé
|
||||
définis lors de la mise en service de l'offre.
|
||||
|
||||
\paragraph{} L'offre comprend aussi la téléphonie fixe sur IP. Ainsi l'ensemble
|
||||
des postes téléphoniques fixe (postes fixes ou sans-fils) son reliés à un
|
||||
standard virtuels et est accessible via un numéro interne (et parfois un numéro
|
||||
standard virtuel et est accessible via un numéro interne (et parfois un numéro
|
||||
géographique).
|
||||
|
||||
\paragraph{} Le réseau est divisé en deux VLAN: un pour la voix et un pour les
|
||||
|
@ -79,21 +84,23 @@ VLAN dans les structures ou il y a un réseau administratif et un réseau public
|
|||
\subsubsection{La Comptabilité}
|
||||
|
||||
Le service comptabilité utilise la suite \textit{Sage Comptabilité} en version
|
||||
SQL Server. Les comptables dans les structures se connectent en Bureau à
|
||||
Distance au serveur applicatif.
|
||||
SQL Server. Les comptables dans les structures se connectent en bureau à
|
||||
distance au serveur applicatif.
|
||||
|
||||
\subsubsection{TrueNAS}
|
||||
|
||||
\paragraph{} C'est un système d'exploitation utilisé pour créer des serveur de
|
||||
stockage. Basé sur FreeBSD et open-source (licence \textit{BSD}). Il "motorise"
|
||||
le serveur de sauvegarde du siège de l'association et les serveur de stockages
|
||||
stockage. Basé sur FreeBSD et open-source (licence \textit{BSD}). Il "motorise"
|
||||
le serveur de sauvegarde du siège de l'association et les serveur de fichiers
|
||||
disponibles dans les centres.
|
||||
|
||||
\subsubsection{OpenWRT}
|
||||
|
||||
\paragraph{} \link{https://openwrt.org}{OpenWRT} est une distribution GNU/Linux
|
||||
destinée aux routeurs et points d'accès Wifi. Nous l'utilisons sur l'ensemble
|
||||
des points d'accès Wifi utilisés sur l'association.
|
||||
des points d'accès Wifi utilisés dans l'association. Cette distribution nous
|
||||
permet d'assurer une durée de vie plus étendue et un meilleur suivi des mises à
|
||||
jour.
|
||||
|
||||
\subsection{Les outils du service informatique}
|
||||
|
||||
|
@ -109,11 +116,6 @@ gestion de service informatique écrit en PHP. Il permet de gerer les
|
|||
inventaires, les tickets, les bases de connaissances, les tiers (client /
|
||||
fournisseurs)
|
||||
|
||||
\begin{figure}[H]
|
||||
\includegraphics[width=\linewidth]{screenshoots/sc_glpi}
|
||||
\caption{capture d'écran du déroullé d'un ticket ouvert sur GLPI}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{} Nous utilisons les outils d'inventaires pour les ordinateurs et
|
||||
télephones portables (avec leurs cartes SIM et les lignes associées). Nous
|
||||
utilisons aussi l'outils de gestion des tickets afin de gérer les différents
|
||||
|
@ -121,33 +123,22 @@ incidents et demandes remontés par les utilisateurs.
|
|||
|
||||
\paragraph{} Nous utilisons aussi
|
||||
\link{https://fusioninventory.org}{Fusioninventory}. Le plugin installé sur
|
||||
GLPI et l'agent sur l'ensemble des ordinateurs utilisateurs du parc afin de
|
||||
GLPI et l'agent sur l'ensemble des ordinateurs utilisateurs du parc afin de
|
||||
remonter automatiquement les configuration dans la base de données.
|
||||
|
||||
\subsubsection{Nextcloud}
|
||||
|
||||
\paragraph{} \link{https://nextcloud.org}{Nextcloud} est un logiciel écrit en
|
||||
PHP de stockage de données en ligne via un accès Web. Il permet l'hébergement
|
||||
et le partage de fichiers, calendriers, carnet d'adresses \textellipsis
|
||||
|
||||
\begin{figure}[H]
|
||||
\includegraphics[width=\linewidth]{screenshoots/sc_nextcloud}
|
||||
\caption{capture d'écran de l'agenda semainier de NextCloud.}
|
||||
\end{figure}
|
||||
\paragraph{} \link{https://nextcloud.org}{Nextcloud} est un logiciel de stockage
|
||||
de données en ligne via un accès Web. Il permet l'hébergement et le partage de
|
||||
fichiers, calendriers, carnet d'adresses \textellipsis
|
||||
|
||||
\subsubsection{Gitea}
|
||||
|
||||
\paragraph{} \link{https://gitea.io}{Gitea} est un logiciel de forge logicielle
|
||||
écrit en \textit{go} et accessible avec un simple navigateur web. Simple à
|
||||
\paragraph{} \link{https://gitea.io}{Gitea} est une forge logicielle
|
||||
écrite en \textit{go} et accessible avec un simple navigateur web. Simple à
|
||||
installer, son interface s'inspire grandement de celle de Github. Il permet
|
||||
d'héberger des dépôts git et contient une gestion des tickets et un wiki.
|
||||
|
||||
\begin{figure}[H]
|
||||
\includegraphics[width=\linewidth]{screenshoots/sc_gitea}
|
||||
\caption{capture d'écran d'un dépôt Gitea, ici un script d'installation de
|
||||
l'agent fusioninventory sous MacOSX}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{}Nous l'utilisons pour héberger un ensemble de codes sources écrits
|
||||
au sein du services, principalement des scripts bash ou powershell, mais aussi
|
||||
des \textit{Dockerfiles}, des exemples de configuration de points accès
|
||||
|
@ -159,15 +150,10 @@ des \textit{Dockerfiles}, des exemples de configuration de points accès
|
|||
contenu web de type wiki écrit en PHP. Il est destiné à la création de page
|
||||
collaborative.
|
||||
|
||||
\begin{figure}[H]
|
||||
\includegraphics[width=\linewidth]{screenshoots/sc_doku}
|
||||
\caption{capture d'écran de la documentation interne du service}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{} Mous l'utilisons afin de consigner l'ensemble de la documentation
|
||||
interne du service et des notes relatives aux differentes expérimentation. On y
|
||||
trouve aussi des rapports detaillés de certains incidents majeurs et de
|
||||
réunions.
|
||||
interne du service et des notes relatives aux differentes expérimentations. On y
|
||||
trouve aussi des rapports detaillés de certains incidents majeurs et des
|
||||
comptes-rendus de réunions.
|
||||
|
||||
\subsubsection{Les outils en cours de déploiement}
|
||||
|
||||
|
@ -175,10 +161,10 @@ réunions.
|
|||
sont en cours de test afin d'être intégré au fonctionnement du service.
|
||||
|
||||
\paragraph{} Leurs intégrations est prévue dans le cadre de la migration de
|
||||
l'hébergement de nos outils de Jails FreeBSD vers Docker. Cette migration fait
|
||||
l'objet d'un chapitre complet de ce rapport.
|
||||
l'hébergement de nos outils de \textbf{Jails FreeBSD} vers \textbf{Docker}.
|
||||
Cette migration fait l'objet d'un chapitre complet de ce rapport.
|
||||
|
||||
\paragraph{} Je peux citer le gestionnaire de mots de passe en ligne Vaultwarden
|
||||
et l'outils de prise de contôle à distance Meshcentral qui seront intégrés avant
|
||||
la fin de mon stage. Nous avons aussi en test Saltstack afin de déployer
|
||||
logiciels et configurations sur l'ensemble des machines clients du parc.
|
||||
et l'outils de prise de contôle à distance Meshcentral. Nous avons aussi en test
|
||||
Saltstack afin de déployer logiciels et configurations sur l'ensemble des
|
||||
machines clients du parc.
|
||||
|
|
|
@ -1,16 +1,203 @@
|
|||
\chapter{Action: borne d'accès au numerique}
|
||||
\chapter{Action~: borne d'accès au numérique}
|
||||
|
||||
\paragraph{}\large Pour répondre à un appel à projet de la CAF de la Gironde,
|
||||
le service informatique et le service communication de l'association ont mis en
|
||||
place des bornes d'accès aux droits via le numérique. Celles-ci ont pouu but de
|
||||
faciliter l'accès au sites institutionnels (CAF, Pôle-Emploi, les impôts
|
||||
\textellipsis) avec l'aide d'un facilitateur 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}.
|
||||
|
||||
\section{La demande}
|
||||
\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{Les choix techniques}
|
||||
\section{La réponse de l'association}
|
||||
|
||||
\section{La mise en place}
|
||||
\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.
|
||||
|
||||
\section{}
|
||||
\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.
|
||||
|
|
157
chapitres/chapitre_4.tex
Normal file
157
chapitres/chapitre_4.tex
Normal file
|
@ -0,0 +1,157 @@
|
|||
\chapter{Action~: modernisation des réseaux Wifi dans les structures}
|
||||
|
||||
\large
|
||||
\paragraph{} Comme je le disais dans le premier chapitre, toutes les structures
|
||||
possèdent au moins un réseau Wifi utilisable par les salariés de l'association.
|
||||
Ces réseux vieillissants ne permettaient plus de travailler convenablement. De
|
||||
plus il ne permettent pas au intervenants exterieur ou au public de se
|
||||
connecter.
|
||||
|
||||
\normalsize
|
||||
\section{Définition des besoins}
|
||||
|
||||
\paragraph{} Beaucoup de nos collègues nous remontaient les problématique liées
|
||||
aux réseaux Wifi. La casi-majorité des connexions réseaux se font par ce biais,
|
||||
il est donc primordial de pouvoir y remédier. D'après les retours nous avons
|
||||
identifiés les points les plus importants à prendre en compte, ces points sont
|
||||
détaillés tableau \ref{Table:wifidiag} (page \pageref{Table:wifidiag}).
|
||||
|
||||
\begin{table}
|
||||
\begin{tabularx}{\textwidth}
|
||||
% https://tex.stackexchange.com/questions/84400/table-layout-with-tabularx-column-widths-502525
|
||||
{|m{.3333\textwidth-2\tabcolsep-1.3333\arrayrulewidth}
|
||||
|>{\raggedright\arraybackslash}m{.3333\textwidth-2\tabcolsep-1.3333\arrayrulewidth}
|
||||
|>{\raggedright\arraybackslash}m{.3333\textwidth-2\tabcolsep-1.3333\arrayrulewidth}
|
||||
|}
|
||||
\hline
|
||||
\textbf{Problème} & \textbf{Origines possibles} & \textbf{Solutions} \\
|
||||
\hline
|
||||
Déconnexion intempestive &
|
||||
- norme Wifi trop ancienne\newline
|
||||
- couverture insuffisante &
|
||||
- changement des points d'accés par des plus récents\newline
|
||||
- ajout de points d'accès afin d'améliorer la couverture \\
|
||||
\hline
|
||||
Réseaux wifi absent &
|
||||
- couverture insuffisante &
|
||||
- ajout de points d'accès afin d'améliorer la couverture \\
|
||||
\hline
|
||||
Lenteur (wifi seulement) &
|
||||
- réseau saturé (nombre de postes connectés importants) \newline
|
||||
- mauvaise connexion \newline
|
||||
- norme Wifi utilisée trop ancienne &
|
||||
- changement des points d'accès par des plus récents \newline
|
||||
- prendre en compte les nouvelles normes (802.11n, 802.11ac, réseaux
|
||||
5ghz)\newline
|
||||
- mieux prendre en compte les canaux dans les zones denses \\
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\caption{Tableau récapitulatif des problèmes rencontrés par les personnels de
|
||||
l'association avec les réseaux Wifi.}
|
||||
\label{Table:wifidiag}
|
||||
\end{table}
|
||||
\subsection{Connexions pour les personnes extérieures}
|
||||
|
||||
\paragraph{} De plus en plus de structures expriment le besoin d'un réseaux
|
||||
accessibles aux personnes extérieures. Que se soit pour les partenaires
|
||||
(permanences MDS\footnote{Maison Des Solidarité}, assitante sociale, permanence
|
||||
de la CAF \textellipsis) ou pour les adhérents.
|
||||
|
||||
\section{Conception et test d'une solution}
|
||||
|
||||
\paragraph{} Une fois les besoins analysés, je suis passé à la conception de la
|
||||
solution. Celle-ci sera proposée à l'ensemble des structures lorqu'elles
|
||||
demanderont une évolution de leur réseau. En concertation avec mes collègues,
|
||||
j'ai définis les contraites suivantes~:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item les structures demandant un \textbf{accès pour les peronnes
|
||||
extérieures} doivent avoir un second accès à Internet
|
||||
|
||||
\item le matériel \textbf{sera imposé} par le service informatique
|
||||
|
||||
\item les points d'accès Wifi doivent \textbf{être compatible avec OpenWRT},
|
||||
802.11ac, VLAN et PoE\footnote{Power over Ethernet}
|
||||
|
||||
\item ils seront \textbf{répartis sur l'ensemble de la structures} en nombre
|
||||
suffisant afin d'assurer une couverture optimale.
|
||||
|
||||
\item ils diffuseront \textbf{les deux réseaux}~: public et privés
|
||||
|
||||
\item nous utiliserons les VLAN\footnote{Réseau Locaux Virtuels --- Virtual
|
||||
Local Area Networks} afin de séparer les deux réseaux
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Choix du matériel}
|
||||
|
||||
\paragraph{} Nous avons ensuite choisi le matériel en fonction de ces
|
||||
spécifications afin de monter une "structure test". Notre choix s'est porté sur
|
||||
le \textit{Linksys LGS318} pour le commutateur manageable et sur le
|
||||
\textit{DLink DAP2610} pour les points d'accès Wifi.
|
||||
|
||||
\subsection{Conception}
|
||||
|
||||
\paragraph{} La meilleure structure candidate pour mettre en place le test était
|
||||
Bacalan. Elle disposait déjà d'une seconde connexion avec un serveur de filtrage
|
||||
\textit{OPNSense} et la accueillait beaucoup d'intervenants extérieurs dont
|
||||
les médiateurs du GIP Bordeaux Médiation qui y ont un bureau permanent.
|
||||
|
||||
\paragraph{} L'idée schématisée figure \ref{Fig:vlanwifi}
|
||||
(\pageref{Fig:vlanwifi}) est d'utiliser les VLAN pour séparer les flux. Les
|
||||
points d'accés reçoivent les deux réseaux et les diffusent~: le VLAN 100 pour le
|
||||
réseau privé et le 101 pour le réseau public.
|
||||
|
||||
\begin{figure}
|
||||
\includegraphics[width=\linewidth]{generated/plan_vlan_wifi}
|
||||
\caption{Schéma d'installation des points d'accès Wifi avec les VLAN}
|
||||
\label{Fig:vlanwifi}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{} Le réseau Wifi sera diffusé en 2,4Ghz et 5Ghz tandis que le réseau
|
||||
public seulement en 2Ghz.
|
||||
|
||||
\subsubsection{Configuration des éléments}
|
||||
|
||||
\paragraph{} Un réseau spécifique servant juste à l'administration est
|
||||
paramétrésur l'ensemble des éléments, il n'est accessible seulement via un prise
|
||||
spécifique sur le commutateur ou en se connectant sur un des points d'accès en
|
||||
SSH.
|
||||
|
||||
\paragraph{} La configuration du commutateur s'est faire directement via son
|
||||
interface web.
|
||||
|
||||
\paragraph{} Pour les point d'accès, j'ai d'abord installé OpenWRT sans
|
||||
interface web, nous avons fait le choix d'une configuration uniquement en ligne
|
||||
de commande via une connexion SSH. Un exemple de fichiier de configuration est
|
||||
fourni Annexe \ref{chap:openwrt} (page \pageref{chap:openwrt}).
|
||||
|
||||
\paragraph{} La structure étant étendue, nous avons placés 3 points d'accès de
|
||||
façon à optimiser la couverture. Nous nous sommes aidé d'une application Android
|
||||
open-source, \link{https://vremsoftwaredevelopment.github.io/WiFiAnalyzer/}{Wifi
|
||||
analyser}. Elle nous a permis de choisir avec précision les canaux et de
|
||||
vérifier la puissance du signal aux endroits stratégiques.
|
||||
|
||||
\subsubsection{Validation de la conception}
|
||||
|
||||
\paragraph{} Une fois les réseaux paramétrés et fonctionnels, nous sommes passé
|
||||
à la phase de test. Pendant une semaine environ, nous avons demandé à l'équipe
|
||||
du centre d'animation Bacalan de nous signaler \textbf{tous} les problèmes liés
|
||||
aux réseaux Wifi.
|
||||
|
||||
\paragraph{} Une fois la solution fonctionnelle, je l'ai documenté sur le wiki
|
||||
du service informatique et formé mes deux collègues.
|
||||
|
||||
\section{Conclusion}
|
||||
|
||||
\paragraph{} La nouvelle configuration des réseaux Wifi a donné entière
|
||||
satisfation aussi bien pour le personnel du centre qu'aux intervenants. Celle-ci
|
||||
nous a permi d'augmemter non seulement \textbf{la couverture et les débits},
|
||||
mais aussi \textbf{la stabilité} des points d'accès. Les tickets ouverts pour
|
||||
des problèmes liés aux réseaux on casiment disparu pour Bacalan.
|
||||
|
||||
\paragraph{} Suite à cette expérimentation réussie, nous avons migré la
|
||||
Direction Générale et les centres d'animation Bastide-Benauge, Monséjour, et
|
||||
Bordeaux Sud. Au moment de mon départ, une autre installation était déjà
|
||||
plannifiée.
|
2218
images/svg/plan_vlan_wifi.svg
Normal file
2218
images/svg/plan_vlan_wifi.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 139 KiB |
|
@ -3,9 +3,11 @@
|
|||
\RequirePackage{fontawesome}
|
||||
\RequirePackage{xcolor}
|
||||
\usepackage{float}
|
||||
\usepackage[frenchb]{babel}
|
||||
\usepackage[french]{babel}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{tabularx}
|
||||
\usepackage{array}
|
||||
\usepackage{pdfpages}
|
||||
\usepackage{titlesec}
|
||||
\usepackage{soul}
|
||||
|
@ -13,13 +15,23 @@
|
|||
labelfont={small,bf,color=LightGrey},
|
||||
textfont={small,color=SlateGrey}
|
||||
]{caption}
|
||||
\usepackage{listings}
|
||||
\lstset{
|
||||
basicstyle=\ttfamily\footnotesize,
|
||||
breaklines=true
|
||||
}
|
||||
|
||||
\renewcommand{\FrenchLabelItem}{\textbullet}
|
||||
\pagestyle{fancy}
|
||||
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
|
||||
\renewcommand{\arraystretch}{1.4}
|
||||
% OPTIONS
|
||||
|
||||
% Captions
|
||||
\captionsetup[table]{name=tableau}
|
||||
\captionsetup[figure]{name=figure}
|
||||
|
||||
% Graphx
|
||||
\graphicspath{ {./images/} }
|
||||
|
||||
|
@ -28,12 +40,14 @@
|
|||
\definecolor{ElectricGreen}{HTML}{1CD180}
|
||||
\definecolor{SlateGrey}{HTML}{2E2E2E}
|
||||
\definecolor{LightGrey}{HTML}{CCCCCC}
|
||||
\definecolor{UltraLightGrey}{HTML}{EFEFEF}
|
||||
\definecolor{Black}{HTML}{000000}
|
||||
\setulcolor{ElectricMagenta}
|
||||
|
||||
% Fonts
|
||||
\setmainfont{Lato}
|
||||
\newfontfamily\quotefont{Linux Libertine}
|
||||
\setmonofont{Fira Code}
|
||||
\newfontfamily\quotefont{Linux Libertine O}
|
||||
\newcommand*\openquote{\makebox(15,-30){\scalebox{3}{\flqq{}}}}
|
||||
\newcommand*\closequote{\makebox(30,0){\scalebox{3}{\frqq{}}}}
|
||||
|
||||
|
@ -42,17 +56,29 @@
|
|||
\AtEndEnvironment{quote}{\color{LightGrey}\closequote}
|
||||
|
||||
% figures
|
||||
|
||||
%\AtBeginEnvironment{figure}{
|
||||
% \color{ElectricMagenta}\noindent\rule{\textwidth}{0.4pt}\vspace{-15pt}
|
||||
%}
|
||||
\AtEndEnvironment{figure}{%
|
||||
\color{ElectricMagenta}\noindent\rule{\textwidth}{0.4pt}
|
||||
}
|
||||
\AtEndEnvironment{table}{%
|
||||
\color{ElectricMagenta}\noindent\rule{\textwidth}{0.4pt}
|
||||
}
|
||||
\AfterEndEnvironment{lstlisting}{%
|
||||
{\color{ElectricMagenta}\noindent\rule{\textwidth}{0.4pt}}
|
||||
}
|
||||
|
||||
% Code
|
||||
\lstset{
|
||||
backgroundcolor=\color{UltraLightGrey},
|
||||
captionpos=b,
|
||||
numbers=left,
|
||||
xleftmargin=5pt,
|
||||
xrightmargin=5pt,
|
||||
frame=single,
|
||||
framesep=5pt,
|
||||
rulecolor=\color{UltraLightGrey}
|
||||
}
|
||||
% Hyperlink
|
||||
\usepackage{hyperref}
|
||||
|
||||
\usepackage[hidelinks]{hyperref}
|
||||
\newcommand{\link}[2]{
|
||||
\href{#1}{\ul{{\color{ElectricGreen}\faLink} #2}}
|
||||
}
|
||||
|
|
|
@ -13,4 +13,7 @@
|
|||
\input{chapitres/chapitre_1}
|
||||
\input{chapitres/chapitre_2}
|
||||
\input{chapitres/chapitre_3}
|
||||
\input{chapitres/chapitre_4}
|
||||
\appendix
|
||||
\input{annexes/annexe_4}
|
||||
\end{document}
|
||||
|
|
Reference in a new issue