diff --git a/chapitres/avant-propos.tex b/chapitres/avant-propos.tex index 6548197..0d5cca2 100644 --- a/chapitres/avant-propos.tex +++ b/chapitres/avant-propos.tex @@ -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. diff --git a/chapitres/chapitre_1.tex b/chapitres/chapitre_1.tex index f281b0d..328ef0a 100644 --- a/chapitres/chapitre_1.tex +++ b/chapitres/chapitre_1.tex @@ -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{l’association des foyers de jeunes et centres d’animation -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 d’activités -sportives, artistiques ou culturelles en dehors du temps scolaire et dans -l’environnement immédiat de l’enfant. Action qui favorise fortement le -partenariat sur le quartier et l’amé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 d’activités sportives, +artistiques ou culturelles en dehors du temps scolaire et dans l’environnement +immédiat de l’enfant. Action qui favorise fortement le partenariat sur le +quartier et l’amé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 d’exprimer 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 d’animation ont pouvoir de propositions qu’ils @@ -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. diff --git a/chapitres/chapitre_2.tex b/chapitres/chapitre_2.tex index c5e64b9..ac02301 100644 --- a/chapitres/chapitre_2.tex +++ b/chapitres/chapitre_2.tex @@ -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. diff --git a/chapitres/chapitre_3.tex b/chapitres/chapitre_3.tex index 5e5db24..fb6f289 100644 --- a/chapitres/chapitre_3.tex +++ b/chapitres/chapitre_3.tex @@ -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. diff --git a/chapitres/chapitre_4.tex b/chapitres/chapitre_4.tex index a9f9c15..7edc0db 100644 --- a/chapitres/chapitre_4.tex +++ b/chapitres/chapitre_4.tex @@ -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 diff --git a/chapitres/chapitre_5.tex b/chapitres/chapitre_5.tex index f4011bf..5041368 100644 --- a/chapitres/chapitre_5.tex +++ b/chapitres/chapitre_5.tex @@ -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. diff --git a/includes/couverture.tex b/includes/couverture.tex index da2d02a..6ef625e 100644 --- a/includes/couverture.tex +++ b/includes/couverture.tex @@ -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} diff --git a/rapport.tex b/rapport.tex index 8c64ba0..cce68df 100644 --- a/rapport.tex +++ b/rapport.tex @@ -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}