Global corrections

This commit is contained in:
Yorick Barbanneau 2021-09-01 00:42:26 +02:00
parent ab1b7616f7
commit e14105c485
8 changed files with 166 additions and 143 deletions

View file

@ -4,7 +4,7 @@
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
d'ailleurs de changer d'emploi et devrai intégrer le \textit{Master Ingénieurie
de l'Informatique} à la rentrée.
\paragraph{} Ce mémoire d'alternance traite bien entendu de mes trois ans passés
@ -14,7 +14,7 @@ fus salarié de cette association pendant 21 ans, et j'ai participé à la créa
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
\paragraph{} Ce mémoire contient des liens, ils 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.

View file

@ -2,7 +2,7 @@
\paragraph{}
Les centres d'animation de Bordeaux --- Cultivons le partage est une association
loi 1901 qui gère des structure à vocation socio-culturelles sur Bordeaux~:
loi 1901 qui gère des structures à vocation socio-culturelles sur Bordeaux~:
\paragraph{}
\begin{itemize}
@ -28,48 +28,49 @@ constructions ayant le même objet~: offrir des loisirs sains aux jeunes.
\paragraph{} La première structure gérée par l'association est le foyer Barbey.
Le succès de l'expérience amènera la mairie de Bordeaux à étendre les
compétence de l'association aux foyers de jeunes de la ville avec en plus une
mission de coordination entre les foyer municipaux et ceux créés par des
compétences de l'association aux foyers de jeunes de la ville avec en plus une
mission de coordination entre les foyers municipaux et ceux créés par des
initiatives privées.
\paragraph{} À partir du milieu des années 1970, une réflexion menée par les
animateurs, institutions et habitants du quartiers amène l'association à
étendre ses action aux habitants des quartiers et non plus seulement les
étendre ses actions aux habitants des quartiers et non plus seulement les
jeunes. Ces réflexion amèneront un changement de nom en 1977~: l'association
devient alors \textit{lassociation des foyers de jeunes et centres danimation
de quartiers}. Les foyers deviennent alors de véritables équipement de
de quartiers}. Les foyers deviennent alors de véritables équipements de
proximité au sein des quatiers bordelais et s'ouvrent à toutes les générations.
\paragraph{} À la rentrée 1987, l'association est chargée par la ville de
Bordeaux de coordonner les aménagements des rythmes extrascolaires dans ses
différentes structures, les \textbf{les contrats bleus}\footnote{Les contrats
bleus ont pour but de proposer aux enfants de 6 à 12 ans un maximum dactivités
sportives, artistiques ou culturelles en dehors du temps scolaire et dans
lenvironnement immédiat de lenfant. Action qui favorise fortement le
partenariat sur le quartier et laménagement des rythmes extra-scolaires.}. En
1988 le mur d'excalade Barbey est ouvert, en 1992 une première structure est
agréé centre social par la CAF de la Gironde~: la Benauge, en 1995 c'est au tour
du centre d'animation Saint-Michel.
différentes structures, \textbf{les contrats bleus}\footnote{ Ils ont pour but
de proposer aux enfants de 6 à 12 ans un maximum dactivités sportives,
artistiques ou culturelles en dehors du temps scolaire et dans lenvironnement
immédiat de lenfant. Action qui favorise fortement le partenariat sur le
quartier et laménagement des rythmes extra-scolaires.}. En 1988 le mur
d'escalade Barbey est ouvert, en 1992 une première structure est agréé centre
social par la CAF de la Gironde~: la Benauge, en 1995 c'est au tour du centre
d'animation Saint-Michel.
\paragraph{} L'association traversera quelque turbulences financières à partir
de 1996, elle se recentrera alors sur son cœur de métier et abandonera alors
les structures destinées à la petite enfances qui pendront leurs autonomie
les structures destinées à la petite enfance qui pendront leur autonomie
(\textit{La maison des enfants}, \textit{La maison soleil} et \textit{Le jardin
de l'eau vive}).
\paragraph{} Les années 2000 veront l'apparitions des pôles d'excelences~:
\paragraph{} Les années 2000 verront l'apparitions des pôles d'excelences~:
chaque structures se dote de compétences spécifiques, Bastide-Benauge pour la
dance, Argonne Nansouty Saint-Genès pour les arts urbains\footnote{Danse
hip-hop, sports de glisse, graph}, les arts du cirque à Bastide-Queyries ou la
lecture / écrirure multimédia a Saint-Pierre\textellipsis
danse, Argonne Nansouty Saint-Genès pour les arts urbains\footnote{Danse
hip-hop, sports de glisse, graffiti}, les arts du cirque à Bastide-Queyries ou
la lecture / écriture multimédia a Saint-Pierre\textellipsis
\paragraph{} En 2013, l'association se vois doté d'une nouvelle structure~:
\paragraph{} En 2013, l'association se voit dotée d'une nouvelle structure~:
\textbf{le centre d'animation Sarah Bernhardt} dans le tout nouveau quartier
Ginko entre le quartier du Lac et la rocade bordelaise.
\paragraph{} En 2019 le conseil d'administration valide un changement de nom
afin de coller au plus près de son identité~: \textit{Les centres d'animation
de Bordeaux --- Cultivons le Partage}. Il valide aussi le nouveau logo.
de Bordeaux --- Cultivons le Partage}. Il valide aussi le nouveau logo visible
en couverture de ce rapport.
\section{Quelques chiffres}
@ -81,10 +82,10 @@ personnes composent les différents comités d'animation.
\subsubsection{Les comités d'animation}
\paragraph{} Présents dans cacune des 11 structures de l'assocation, leurs
\paragraph{} Présents dans chacune des 11 structures de l'assocation, leurs
membres permettent aux adhérents dexprimer leurs expériences, leurs attentes
et leurs suggestions, dans le sens de citoyens investis dans une démocratie de
participation. ils associent adhérents, partenaires institutionnels,
participation. Ils associent adhérents, partenaires institutionnels,
associations et acteurs locaux.
\begin{quote}les comités danimation ont pouvoir de propositions quils
@ -95,12 +96,12 @@ centres\end{quote}
\subsection{Adhérents, personnes accueillies}
\paragraph{}Toujours en 2020, les adhésions comptaient 8455 personnes
physiques\footnote{1687 enfants de 3 à 5 ans, 3741 de 6 à 11 ans, 1057 jeunes
de 12 à 25 ans et 1970 adultes} et 86 associations. On dénombre aussi 13853
physiques\footnote{1687 enfants de 3 à 5 ans, 3741 de 6 à 11 ans, 1057 jeunes de
12 à 25 ans et 1970 adultes} et 86 associations. On dénombre aussi 13853
personnes accueillies dans les structures et les écoles
bordelaises\footnote{certaines activités proposées ne nécessite pas d'adhésion
bordelaises\footnote{certaines activités proposées ne nécessitent pas d'adhésion
comme les activité lors de la pause méridienne dans les écoles ou l'accueil
informel des jeunes}
informel des jeunes}.
\section{L'organisation hiérarchique de l'association}
@ -110,8 +111,8 @@ informel des jeunes}
\includegraphics[width=\linewidth]{generated/organigramme_siege}
\caption{Organigramme du siège de l'association}
\end{figure}
\paragraph{} Le siège de l'association, situé qu 40 cours d'Albret à Bordeaux,
se décompose en deux partie: la direction et les fonctions support.
\paragraph{} Le siège de l'association, situé au 40 cours d'Albret à Bordeaux,
se décompose en deux parties: la direction et les fonctions support.
\paragraph{} La direction représente la tête de l'association, les fonctions
support regroupent les services transversaux à l'ensemble des structures: le
@ -132,5 +133,5 @@ différences apparaisents en fonction de la taille de la structure.
\paragraph{} L'organigramme de la Figure~\ref{fig:organigrammeSaintPierre}
reprend l'exemple du centre d'animation Saint-Pierre, structure de taille
moyenne. La conseillère ESF \footnote{Conseillère en économie sociale et
familliale} et changé de la coordination et l'animation tournée vers les adultes
familliale} est changée de la coordination et l'animation tournée vers les adultes
/ famille.

View file

@ -3,8 +3,8 @@
\paragraph{}\large Depuis mon arrivé dans l'association en 1999, le système
d'information de l'association a bien évolué. Lors de mon arrivée, seuls
certains centres étaient équipés d'un ordinateur avec connexion à Internet via
un modem RTC. Aujourd'hui tous les centres sont équipés et interconnectés
et les besoins grandissent chaque année.
un modem RTC. Aujourd'hui tous les centres sont équipés et interconnectés,
les besoins grandissent chaque année.
\normalsize
\section{Le S.I. en quelques chiffres}
@ -16,9 +16,9 @@ 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 situé au 40 cours d'Albret à Bordeaux. Il est composé
de quatres personnes~:
\paragraph{} Le service fait parti des fonctions support de l'association, notre
bureau est localisé au 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
@ -40,7 +40,7 @@ présent dans toutes les structures de l'association}
\begin{figure}[H]
\includegraphics[width=\linewidth]{generated/plan_reseau_structures}
\caption{Plan schématique du réseaux au sien de l'association des centres
\caption{Plan schématique du réseau au sien de l'association des centres
d'animation de Bordeaux. On y voit le structures reliées à l'insfrastructure
Orange; certaines structures ont un second accès Internet fourni par
\textit{OVH Télécom}}
@ -51,19 +51,19 @@ 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'accès à Internet.
offre englobe un VPN géré directement par le fournisseur 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.
défini 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) sont reliés à un
des postes téléphoniques fixes (postes fixes ou sans fil) sont reliés à un
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
données. Nous avons un accès complets au paramétrages des commutateurs afin de
pouvoir paramétrer les ports, nous aussi avons un accès administrateur pour la
configuration du serveur de téléphonie.
données. Nous avons un accès complet au paramétrages des commutateurs afin de
pouvoir configurer les ports, nous aussi avons un accès administrateur au
serveur de téléphonie.
\paragraph{} La sortie vers Internet est assurée par une \textit{PIS} --- pour
passerelle Internet sécurisée --- globale pour l'ensemble des structures.
@ -74,7 +74,8 @@ passerelle Internet sécurisée --- globale pour l'ensemble des structures.
Internet utilisé par le public acceuilli et les partenaires. Cette connexion est
le plus souvent filtrée via un serveur \link{https://opnsense.org}{OPNSEnse}.
\paragraph{} Je parle au chapitre 3 de la mise en place de réseaux Wifi via des
\paragraph{} Je parle au chapitre \ref{chap:wifi_centres} (page
\pageref{chap:wifi_centres}) de la mise en place de réseaux Wifi via des
VLAN dans les structures ou il y a un réseau administratif et un réseau public
\section{Les outils}
@ -90,7 +91,7 @@ distance au serveur applicatif.
\subsubsection{TrueNAS}
\paragraph{} \link{https://truenas.com}{TrueNAS} est un système d'exploitation
utilisé pour créer des serveur de stockage. Basé sur FreeBSD et open-source
utilisé pour créer des serveurs 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 serveurs de fichiers disponibles dans les centres.
@ -106,31 +107,31 @@ jour.
\paragraph{} Depuis ma prise de poste au sein du service informatique, je n'ai
eu de cesse d'améliorer les outils disponibles. Au départ une simple feuille de
calcul sur un tableur utilisé pour l'inventaire des machines, nous avons
calcul sur un tableur utilisée pour l'inventaire des machines, nous avons
maintenant un ensemble d'outils hébergés en interne.
\subsubsection{ GLPI Gestion Libre de Parc Informatique}
\paragraph{} \link{https://glpi-project.org}{GLPI} est un logiciel web de
gestion de service informatique écrit en PHP. Il permet de gerer les
gestion de service informatique écrit en PHP. Il permet de gérer les
inventaires, les tickets, les bases de connaissances, les tiers (client /
fournisseurs)
fournisseurs).
\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
téléphones portables (avec leurs cartes SIM et les lignes associées). Nous
utilisons aussi l'outil de gestion des tickets afin de gérer les différents
incidents et demandes remontés par les utilisateurs.
\paragraph{} Nous utilisons aussi
\link{https://fusioninventory.org}{Fusioninventory}. Le plugin est installé sur
GLPI et l'agent sur l'ensemble des ordinateurs utilisateurs du parc afin de
remonter automatiquement les configuration dans la base de données.
remonter automatiquement les configurations dans la base de données.
\subsubsection{Nextcloud}
\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
fichiers, calendriers, carnets d'adresses \textellipsis
\subsubsection{Gitea}
@ -140,32 +141,33 @@ 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.
\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
au sein du service, principalement des scripts bash ou powershell, mais aussi
des \textit{Dockerfiles}, des exemples de configuration de points accès
\textit{OpenWRT} etc.
\subsubsection{DokuWiki}
\paragraph{} \link{https://dokuwiki.org}{DokuWiki} est un gestionnaire de
contenu web de type wiki écrit en PHP. Il est destiné à la création de page
collaborative.
contenu web de type wiki écrit en PHP. Il est destiné à la création de pages
collaboratives.
\paragraph{} Mous l'utilisons afin de consigner l'ensemble de la documentation
interne du service et des notes relatives aux differentes expérimentations. On y
\paragraph{} Nous l'utilisons afin de consigner l'ensemble de la documentation
interne du service et des notes relatives aux différentes 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}
\paragraph{} Au moment de de la rédaction de ce rapports, certains autres outils
sont en cours de test afin d'être intégré au fonctionnement du service.
\paragraph{} Au moment de de la rédaction de ce rapport, certains autres outils
sont en cours de test afin d'être intégrés au fonctionnement du service.
\paragraph{} Leurs intégrations est prévue dans le cadre de la migration de
\paragraph{} Leurs intégrations sont prévues dans le cadre de la migration de
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 (chapitre
Cette migration fait l'objet d'un chapitre complet de ce mémoire (chapitre
\ref{chap:migration_docker} page \pageref{chap:migration_docker}.
\paragraph{} Je peux citer le gestionnaire de mots de passe en ligne Vaultwarden
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.
\paragraph{} Je peux citer le gestionnaire de mots de passe en ligne
\textit{Vaultwarden} et l'outil de prise de contôle à distance
\textit{Meshcentral}. Nous avons aussi en test \textit{Saltstack} afin de
déployer logiciels et configurations sur l'ensemble des machines clients du
parc.

View file

@ -1,18 +1,17 @@
\chapter{Action~: borne d'accès au numérique}
\label{chap:wifi_centres}
\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}.
surtout avoir un minimum de connaissance informatique. C'est parti de ce
constat que la Caisse d'Allocations Familliales 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
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.
\normalsize \paragraph{} Il est question d'installer dans les structures
sociales des équipements informatiques 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}
@ -75,9 +74,9 @@ apparus, mettant sur la touche cette solution~:
\end{itemize}
\subsection{La mise en place su système de base simple}
\subsection{La mise en place du système de base}
\paragraph{} J'ai donc choisi de partir sur une base \textit{Debian} largement
\paragraph{} J'ai 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
@ -113,7 +112,7 @@ 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
\paragraph{} Ces bornes doivent être accessibles en libre service, il est donc
nécessaire de s'assurer qu'elles ne puissent pas servir à autre chose.
\subsubsection{Le choix déterminant d'un système GNU/Linux}
@ -136,27 +135,27 @@ navigation sur le Web :
\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
explicite de domaines autorisés. 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.
configuration des serveurs DNS à uttiliser s'est faite au niveau du
service réseau et rendue inaccessible 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. Seul les flux en HTTP, HTTPS sont autorisés en TCP et
l'intérogation DNS en UDP\footnote{L'ouverture du porty 53 est
obligatoire pour le fonctionnement d'Unbound, mais la modidication des
serveurs utilisés par l'utilisateur est verrouillée.} Le fichier de
confifuration est disponible annexe \ref{chap:nftables} (page
l'intérogation DNS en UDP\footnote{L'ouverture du port 53 est
obligatoire pour le fonctionnement d'Unbound, mais la modification des
serveurs utilisés par l'utilisateur est verrouillée.}. Le fichier de
configuration est disponible annexe \ref{chap:nftables} (page
\pageref{chap:nftables}).
\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 ou le DNS over HTTPS\footnote{le
navigateur contacte des serveurs de noms via HTTPS, passant outre les
restrictions mise avec \textit{Unbound}}
\item \textbf{Un réglage fin du navigateur} via un fichier de configuration
au niveau du système. J'ai pu ainsi désactiver l'installation
d'extentions ou le DNS over HTTPS\footnote{le navigateur contacte des
serveurs de noms via HTTPS, passant outre les restrictions mises avec
\textit{Unbound}}.
\end{enumerate}
@ -164,7 +163,7 @@ navigation sur le Web :
\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
un script. Celui-ci nécessite une base \textit{Debian} minimale et \textit{git}
pour fonctionner.
\paragraph{} L'installation se fait en deux étapes~:
@ -188,7 +187,7 @@ pour fonctionner.
\section{Retour des usagers}
\paragraph{} La situation sanitaire exeptionnelle début 2020 a largement
\paragraph{} La situation sanitaire exceptionnelle 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é
@ -208,8 +207,8 @@ voulait pas se lancer avec la session utilisateur en mémoire. J'ai donc écrit
script spécifique pour lancer la session graphique, il est disponible en annexe
\ref{chap:startx_bornes} (page \pageref{chap:startx_bornes}).
\paragraph{} Cependant beaucoup de points seraient à améliorer~: une
\paragraph{} Toutefois 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
facilitateur numérique et surtout \textbf{une diffusion sous licence open-source
du script d'installation} et des éléments associés afin que d'autre stuctures
puissent en béneficier.

View file

@ -1,19 +1,18 @@
\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éseaux vieillissants ne permettaient plus de travailler convenablement. De
plus il ne permettent pas non plus au intervenants exterieur ou au public de se
connecter.
\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éseaux vieillissants ne permettaient plus de travailler
convenablement. De plus ils ne permettent pas non plus aux intervenants
exterieurs 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
\paragraph{} Beaucoup de nos collègues nous remontaient les problématiques liées
aux réseaux Wifi. La quasi-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
identifié les points les plus importants à prendre en compte, ces points sont
détaillés tableau \ref{Table:wifidiag} (page \pageref{Table:wifidiag}).
\begin{table}
@ -53,17 +52,17 @@ détaillés tableau \ref{Table:wifidiag} (page \pageref{Table:wifidiag}).
\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
\paragraph{} De plus en plus de structures expriment le besoin d'un réseau
accessible aux personnes extérieures. Que se soit pour les partenaires
(permanences MDS\footnote{Maison Des Solidarités}, 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
solution. Celle-ci sera proposée à l'ensemble des structures lorsqu'elles
demanderont une évolution de leur réseau. En concertation avec mes collègues,
j'ai définis les contraites suivantes~:
j'ai défini les contraintes suivantes~:
\begin{itemize}
@ -72,13 +71,13 @@ j'ai définis les contraites suivantes~:
\item le matériel \textbf{sera imposé} par le service informatique
\item les points d'accès Wifi doivent \textbf{être compatible avec OpenWRT},
\item les points d'accès Wifi doivent \textbf{être compatibles 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 ils diffuseront \textbf{les deux réseaux}~: public et privé
\item nous utiliserons les VLAN\footnote{Réseau Locaux Virtuels --- Virtual
Local Area Networks} afin de séparer les deux réseaux
@ -96,7 +95,7 @@ le \textit{Linksys LGS318} pour le commutateur manageable et sur le
\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
\textit{OPNSense} et 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}
@ -116,7 +115,7 @@ 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
paramétré sur l'ensemble des éléments, il est accessible seulement via un prise
dédiée sur le commutateur ou en se connectant sur un des points d'accès en
SSH.
@ -129,14 +128,15 @@ de commande via une connexion SSH. Un exemple de fichiers 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.
façon à optimiser la couverture. Nous nous sommes aidés 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é
\paragraph{} Une fois les réseaux paramétrés et fonctionnels, nous sommes passés
à 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.
@ -147,14 +147,14 @@ 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 ont quasiment disparu pour Bacalan.
satisfaction aussi bien pour le personnel du centre qu'aux intervenants.
Celle-ci nous a permis 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 ont quasiment disparu pour Bacalan.
\paragraph{} \textbf{Les cours et travaux pratiques réseaux} en licence et mes
\textbf{connaissances du système \textit{OpenWRT}} m'ont permis de mener à bien
ce projet sans grade difficultés. Seul la prise en main de l'onterface
ce projet sans grande difficultés. Seule la prise en main de l'interface
d'administration du concentrateur manageable m'a donné un peu de fil à retordre.
\paragraph{} Suite à cette expérimentation réussie, nous avons migré la

View file

@ -1,12 +1,12 @@
\chapter{Migration des services de jails FreeBSD vers docker}
\label{chap:migration_docker}
\large \paragraph{} L'intégralité des services utilisé par le service
\large \paragraph{} L'intégralité des services utilisés par le service
informatique fonctionnaient dans des \textit{jails FreeBSD}\footnote{Système de
conteneur propre aux système BSD. La première version est sortie en mars 2000
conteneur propre aux systèmes BSD. La première version est sortie en mars 2000
avec FreeBSD 4}. Étant la seule personne au service informatique a avoir des
compétences dans l'administration de serveur FreeBSD, at afin d'anticiper
mon départ prévu début août, nous avons décidé de tout migrer vers des
compétences dans l'administration de serveur FreeBSD, et afin d'anticiper
mon départ prévu début août 2021, nous avons décidé de tout migrer vers des
conteneurs \textit{Docker}.
\normalsize
@ -33,8 +33,8 @@ Tous les conteneurs fonctionnaient sur une seule machine physique, il y en avait
\subsection{Défintion de la nouvelle architecture}
\paragraph{} Nous sommes partis du principe d'un conteneur par service, et ce
même pour les base de données attachées. En frontal,
\paragraph{} Nous sommes partis du principe d'un conteneur par service, mais
aussi pour les bases de données attachées. En frontal,
\link{https://taefik.io}{Træfik} a été retenu pour son intégration poussée avec
Docker. Il fera office de reverse-proxy et de chiffrer le traffic. Un schéma du
fonctionnement attendu de la nouvelle installation est disponible figure
@ -42,14 +42,14 @@ fonctionnement attendu de la nouvelle installation est disponible figure
\begin{figure}[H]
\includegraphics[width=\linewidth]{generated/plan_docker}
\caption{Instalation attendue des conteneurs Docker afin de remplacer les
\caption{Installation attendue des conteneurs Docker afin de remplacer les
\textit{Jails BSD}}
\label{Fig:docker}
\end{figure}
\section{L'installation en laboratoire}
\subsubsection{La machine hôte}
\subsection{La machine hôte}
\paragraph{} Le système retenu pour la machine hôte est \textit{Debian
Stable}\footnote{Debian 10 au moment de l'installation du serveur}. Le
@ -57,31 +57,34 @@ système est installé sur un ensemble en \textit{RAID 1} afin d'être tolérant
la panne. Il a fallu prendre des précautions afin d'obtenir une vrai tolérance.
Ainsi le chargeur de démarrage est installé \textbf{sur les deux disques}.
\subsubsection{les conteneurs}
\subsection{les conteneurs}
\paragraph{} La définition des conteneurs s'est faites avec
\textit{Docker-Compose}. Ce fichier contient les paramètres relatifs au
\paragraph{} La définition des conteneurs s'est faite avec
\textit{Docker-Compose}. Ce fichier contient les paramètres relatifs aux
conteneurs~: source des images, variables d'environnement, volumes de données.
\paragraph{} Lucas s'est chargé de l'écriture du premier jet de ce fichier
pendant que je me chargeait de tester l'importation des données dans des
pendant que je me chargeais de tester l'importation des données dans des
conteneurs.
\subsubsection{Le cas GLPI}
\paragraph{} Le principe des image docker est simple~: il suffit souvent d'aller
faire \textit{\flqq ses courses\frqq} sur le \textit{dockerhub} où l'on trouve
des inages toute faites pour beaucoup de services. \textbf{Problème}~: aucune
des images toutes faites pour beaucoup de services. \textbf{Problème}~: aucune
des images GLPI testée ne fonctionne.
\paragraph{} Lucas a donc décidé de créer une image à partir d'une autre de
\paragraph{} Lucas a donc décidé de créer une image à partir d'une de
base. Je suis intervenu ensuite pour intégrer le plugin \textit{Fusion
inventory}, le point d'entrée des agents et des tâches
\textit{cron}\footnote{système de planification des tâches}.
Cette Dockerfile est présentée annexe \ref{chap:dockerfile} (page
\pageref{chap:dockerfile}).
\subsubsection{Le cas Gitea}
\paragraph{} La migration de cette application impliquait aussi la migratoion de
\paragraph{} La migration de cette application impliquait aussi la migration de
sa base de données de \textit{SQLite} vers \textit{MariaDB}. J'ai passé deux
jours complets afin de \textbf{tester plusieurs système de migration} mais rien
n'a fonctionné correctement~:
@ -99,9 +102,18 @@ n'a fonctionné correctement~:
\paragraph{} Comme les données des dépôts pouvaient être \textbf{facilement
restaurées} avec l'export réalisé depuis la \textit{Jail}, j'ai décidé de
repartir de zéro du côté de la base de données. J'ai donc recréé les comptes
uilisateurs et chacun a replacé sa clef SSH\footnote{nous n'utilisions aucune
fonctionnalité liées à la base de données à part l'authentification}; évitant de
perdre davantage de temps.
uilisateurs\footnote{nous n'utilisions aucune fonctionnalité liées à la base de
données à part l'authentification}; évitant de perdre davantage de temps.
\subsection{Mise en place des sauvegardes}
\paragraph{} Nous avons décidé avec Lucas de conserver \textit{BorgBackup} pour
les sauvegardes des données. Cette solution a déjà fait ses preuves et montré sa
fiabilité. Celle-ci est effectuée sur un serveur distant en utilisant SSH.
\paragraph{} Le pricipe est simple~: sauvegarder les volumes Docker et les
exports des différentes base de données. Un exemple de script simplifié est
disponible en annexe \ref{chap:script_borg} (page \pageref{chap:script_borg}).
\section{Le passage en production}
@ -121,5 +133,12 @@ s'est \textbf{globalement bien passée}.
\section{En conclusion}
\paragraph{} Ce projet a sûrement été \textbf{le plus intéressant de ces
derniers mois}. Travailler de concert avec Lucas a été source de motivations et
de plaisir. J'ai d'ailleurs beaucoup appris à ses côtés.
derniers mois}. Travailler de concert avec Lucas a été source de motivation et
de plaisir. Nos échanges de compétences ont permis d'avancer sereinement et
d'attendre nos objectifs \textbf{sans difficulté majeure}.
\paragraph{} Nous avons réussi à migrer toute l'infrastructure dans les temps et
même commencé à tester
\link{https://github.com/dani-garcia/vaultwarden}{ValtWarden}. Lucas a
d'ailleurs continué sur sa lancée et l'a mis en production, ainsi que d'autres
conteneurs, après mon départ.

View file

@ -5,6 +5,5 @@
\color{Black}{Licence Professionnelle ADSILLH --- Rapport de Stage}\vspace{15pt} \\
\Huge{Centres d'animation de Bordeaux}\vspace{30pt}\\
\includegraphics[width=8cm]{generated/ca_bordeaux}\vspace{6cm} \\
\normalsize{Ouais et alors?}
\end{center}
\end{titlepage}

View file

@ -8,6 +8,7 @@
\begin{document}
\frontmatter
\input{includes/couverture}
\tableofcontents
\mainmatter
\input{chapitres/avant-propos}
\input{chapitres/chapitre_1}
@ -17,6 +18,8 @@
\input{chapitres/chapitre_5}
\appendix
\input{annexes/annexe_startx_bornes}
\input{annexes/annexe_nftables.tex}
\input{annexes/annexe_openwrt.tex}
\input{annexes/annexe_nftables}
\input{annexes/annexe_openwrt}
\input{annexes/annexe_dockerfile_glpi}
\input{annexes/annexe_script_borg}
\end{document}