feat: add some content and PDF export

This commit is contained in:
Freezlex 2024-07-24 00:04:47 +02:00
parent eb61b709a5
commit b52e52e73a
5 changed files with 44 additions and 19 deletions

10
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"languageToolLinter.languageTool.ignoredWordsInWorkspace": [
"allschwil",
"infkuba",
"infsuite",
"pgadmin",
"uha",
"versionnement"
]
}

View File

@ -5,7 +5,7 @@ Dans cette première section, je vais remettre en contexte le concept de formati
== Présentation de la formation
L'UHA 4.0 propose des formats de formation légèrement différents des cursus traditionnels pour favoriser une immersion professionnelle tout en poursuivant des études universitaires.
La formation inclut un stage obligatoire d'une durée minimale de 6 mois en complément de la période de formation. Cette immersion professionnelle fournit aux étudiants les outils essentiels pour intégrer le monde du travail.
La formation inclut un stage obligatoire d'une durée minimale de six mois en complément de la période de formation. Cette immersion professionnelle fournit aux étudiants les outils essentiels pour intégrer le monde du travail.
La première année introduit le développement et fournit les outils fondamentaux pour comprendre la logique de la programmation. La deuxième année approfondit ces connaissances en abordant la programmation orientée objet avec des langages tels que Java ou C\#. La troisième année de Licence ajoute une méthodologie approfondie de gestion de projet en mode agile.
Après ces trois années, les étudiants peuvent, sur admission, rejoindre le parcours master de l'UHA 4.0.
@ -16,23 +16,23 @@ Le master, également en alternance, impose une période en entreprise plus sout
=== Jusqu'à la licence
Après avoir obtenu un baccalauréat scientifique, option science de l'ingénieur, j'ai choisi de m'orienter vers le cursus proposé par l'UHA 4.0. J'ai alors pu réaliser mes trois première années d'études superieures en engregeant de nombreuses connaissances en toute autonomie dans le de l'informatique orienté web et de cotoyer des milieux professionnel via les projets et les stages.
Après avoir obtenu un baccalauréat scientifique, option science de l'ingénieur, j'ai choisi de m'orienter vers le cursus proposé par l'UHA 4.0. J'ai alors pu réaliser mes trois premières années d'études supérieures en engrangeant de nombreuses connaissances en toute autonomie dans le de l'informatique orienté web et de côtoyer des milieux professionnels via les projets et les stages.
J'ai pu conclure ces trois premières années d'études à l'UHA 4.0 il y'a deux ans en obtenant ma licence professionnelle.
J'ai pu conclure ces trois premières années d'études à l'UHA 4.0 il y a deux ans en obtenant ma licence professionnelle.
=== Le parcours master
Une année à l'UHA 4.0 du parcours "Master Informatique et Mobilité" se divise en deux partie dupliquées sur deux années. Dans un premier temps, l'étudiant doit réaliser, en groupe de 3 ou 4 élèves, un "fil rouge". Ce projet à pour but de mettre en pratique les connaissances acquises durant les scéances de cours assurées par des enseignants chercheurs ou autres intervenants. Les cours portent sur les technologies qui pourront et seront réutilisées durant le fil-rouge tel que l'Intelligence Artificielle, l'optimisation combinatoire, la fouille de données, etc. La seconde partie de l'année est une phase de neufs moins durant laquelle l'étudiant est dans une entreprise pour mettre en pratique, consolider et acquerir de nouvelles connaissances.
Une année à l'UHA 4.0 du parcours "Master Informatique et Mobilité" se divise en deux parties dupliquées sur deux années. Dans un premier temps, l'étudiant doit réaliser, en groupe de 3 ou 4 élèves, un "fil rouge". Ce projet a pour but de mettre en pratique les connaissances acquises durant les séances de cours assurées par des enseignants chercheurs ou autres intervenants. Les cours portent sur les technologies qui pourront et seront réutilisées durant le fil-rouge tel que l'Intelligence Artificielle, l'optimisation combinatoire, la fouille de données, etc. La seconde partie de l'année est une phase de neufs moins durant laquelle l'étudiant est dans une entreprise pour mettre en pratique, consolider et acquérir de nouvelles connaissances.
Lors de ma première année du parcours de master, nous avons eu comme sujet de fil rouge, la gestion et l'automatisation de l'arrosage des plantes. Le but était de pouvoir récolter des données environnementale liées à une plante, puis les réutiliser pour prendre des décision à l'aide de divers outils.\
Nous avons pu utiliser une sonde de température et un capteur d'humidité pour récolter les données, les envoyer grâce à un microcontroleur vers un serveur pour stocker et traiter les données.\
Nous avons également pu utiliser des caméras pour nous permettre d'effectuer des constatations d'assechement à partir des feuille d'une plante qui réagit de manière assez marquée à ce facteur.\
J'ai eu comme principales tâche de mettre en place IOT pour récolter les données environnementales et les images puis les envoyer vers un serveur distant. J'ai également pu participer aux développements et à la recherche de solutions d'analyse des données collectées.
Lors de ma première année du parcours de master, nous avons eu comme sujet de fil rouge, la gestion et l'automatisation de l'arrosage des plantes. Le but était de pouvoir récolter des données environnementales liées à une plante, puis les réutiliser pour prendre des décisions à l'aide de divers outils.\
Nous avons pu utiliser une sonde de température et un capteur d'humidité pour récolter les données, les envoyer grâce à un microcontrôleur vers un serveur pour stocker et traiter les données.\
Nous avons également pu utiliser des caméras pour nous permettre d'effectuer des constatations d'assèchement à partir des feuilles d'une plante qui réagit de manière assez marquée à ce facteur.\
J'ai eu comme principales tâche de mettre en place IOT pour récolter les données environnementales et les images puis les envoyer vers un serveur distant. J'ai par ailleurs pu participer aux développements et à la recherche de solutions d'analyse des données collectées.
Cette année pour la seconde année de mon pacrous au sein du master, le sujet était de pouvoir prédire le confort moyen d'une salle de travail basé sur le ressenti des utilisateurs. Basé sur de la collecte de données et de l'analyse de ces dernière pour effectuer des prédictions nous avions accès à une sonde de température, des microphones et des caméras pour analyser l'environnement. Comme à l'itération précédente du fil-rouge, un système de stockage et d'analyse des données nous à permis de réaliser des prédictions basées sur les données collectées.
En tant que scrum master, j'ai pu développer un sytème IOT de collecte de données et mettre en place un système de prédiction par analyse des données entrantes.
Cette année pour la seconde année de mon parcours au sein du master, le sujet était de pouvoir prédire le confort moyen d'une salle de travail basé sur le ressenti des utilisateurs. Basé sur de la collecte de données et de l'analyse de ces dernières pour effectuer des prédictions, nous avions accès à une sonde de température, des microphones et des caméras pour analyser l'environnement. Comme à l'itération précédente du fil-rouge, un système de stockage et d'analyse des données nous a permis de réaliser des prédictions basées sur les données collectées.
En tant que Scrum Master, j'ai pu développer un système IOT de collecte de données et mettre en place un système de prédiction par analyse des données entrantes.
Mes deux années de master on consecutivement été réalisées au sein de l'entreprise Unit Solutions.
Mes deux années de master ont consécutivement été réalisées au sein de l'entreprise Unit Solutions.
== Lentreprise Unit solutions
@ -40,7 +40,7 @@ Mes deux années de master on consecutivement été réalisées au sein de l'ent
Unit Solutions est une entreprise suisse, basée à Allschwil dans le canton de Bâle-Campagne. Fondée en 1986 premièrement sous le nom CADRZ, dédiée à la création dun cadastre numérique pour la ville dAllschwil, elle est aujourdhui dirigée par M. Thierry MOEBEL.\
La philosophie de lentreprise va par la suite changer pour finalement réaliser ses propres logiciels et en faire la maintenance. Lentreprise compte actuellement une vingtaine demployés pour le développement des différentes solutions, le support et ladministratif.
Les développements au sein de lentreprise reposent sur quatre gros projets :
Les développements au sein de lentreprise reposent sur quatre gros projets:
- Langsam Verkehr2 est une solution visant la gestion des sentiers de mobilité douce en Suisse. Cela comprend la gestion des sentiers de randonnée ou les pistes cyclables.
- Kuba et InfKuba sont les deux solutions principales portées par Unit Solutions. Ces deux logiciels sont relativement similaires dans leur but, mais leur conception est totalement différente. Kuba est sous forme de client lourd (application à installer) tandis qu'InfKuba est une application web qui ne nécessite rien dautre quun navigateur. Elle est la version moderne de Kuba.
- Observo est un projet servant dextension au projet InfKuba, ou alors doutil totalement indépendant pour gérer des domaines dapplications qui lui sont propres. Il permet par exemple de gérer de petits ouvrages, du mobilier urbain… Durant mon alternance, jai pu intégrer léquipe chargée des développements pour la suite logicielle InfSuite. Entouré de plusieurs collègues, jai pu développer mes bases de connaissances sur le projet et les différentes technologies utilisées.
- Observo est un projet servant dextension au projet InfKuba, ou alors doutil complètement indépendant pour gérer des domaines dapplications qui lui sont propres. Il permet par exemple de gérer de petits ouvrages, du mobilier urbain… Durant mon alternance, jai pu intégrer léquipe chargée des développements pour la suite logicielle InfSuite. Entouré de plusieurs collègues, jai pu développer mes bases de connaissances sur le projet et les différentes technologies utilisées.

View File

@ -1,17 +1,29 @@
#import "../template.typ" : *
#pagebreak(weak: true)
= Réalisation
== Introduction
Je présente dans cette section le travail réalisé durant les 9 mois au sein de l'entreprise UnitSolutions. Portant sur le sujet d'une migration de base de données dans le but de maintenir les technologies de l'application à jour, je présente tout d'abord les différents éléments qui justifient le choix d'effectuer cette migration de base de données, par la suite j'expose l'analyse préliminaire réalisée pour s'assurer que la migration reste pertinente, j'aborde par la suite les changement réalisés dans le code et enfin je présente les résultats obtenus post-migration.
Je présente dans cette section le travail réalisé durant les neuf mois au sein de l'entreprise Unit Solutions. Portant sur le sujet d'une migration de base de données dans le but de maintenir les technologies de l'application à jour, je présente tout d'abord les différents éléments qui justifient le choix d'effectuer cette migration de base de données, par la suite, j'expose l'analyse préliminaire réalisée pour s'assurer que la migration reste pertinente, j'aborde plus tard les changements réalisés dans le code et enfin, je présente les résultats obtenus post-migration.
== Pertinence et philosophie
Lorsque le sujet de mettre à jour le SGBDR à été présente, il n'a pas été décidé de remplacer PostgreSQL. Comme expliqué précédement, PostgreSQL excelle dans la gestion de données géographiques et attributaire, est complet et très bien maintenu à jour, ce qui en fait le candidat parfait pour l'environnement InfSuite plus que tout autre système proposé par la concurrence.\
Maintenir PostgreSQL en tant SGBDR de l'application écarte déjà un bon nombre de solutions niveau logiciels. Je peux déjà laisser tomber les logiciels payants et long d'expertises autres que PgAdmin pour effectuer cette migration qui reste le logiciel le plus adéquat.
Lorsque le sujet de mettre à jour le SGBDR a été présenté, il n'a pas été décidé de remplacer PostgreSQL. Comme expliqué précédemment, PostgreSQL excelle dans la gestion de données géographiques et attributaires, il est complet et surtout très bien maintenu par ses développeurs. Ces différentes raisons en font un candidat parfait pour l'environnement InfSuite plus que tout autre système proposé par la concurrence.\
Maintenir PostgreSQL en tant SGBDR de l'application écarte déjà un bon nombre de solutions niveau logiciel. Je peux dores et déjà abandonner les logiciels payants et long d'expertises autres que PgAdmin pour effectuer cette migration qui reste le logiciel le plus adéquat puisque nous ne cherchons pas à changer d'environnement.\
Il faut maintenant déterminer quel est le type de migration le plus adéquat dans ce cas de figure pour éviter les coûts supplémentaires qui peuvent être facilement évités.
Je dois dans un premier temps chercher les technologies utilisées dans l'application et m'assurer que ces dernières soient compatibles avec la nouvelle base. Par la suite, je vais devoir valider la compatibilité entre la version de la base source et de la base cible. Avec cette confirmation, je pourrais alors chercher la meilleure manière d'effectuer cette migration parmi les différentes options disponibles que j'ai pu exposer précédemment.
=== Analyse préliminaire
En regardant côté architecture, je cherche quelles sont les applications qui risquent de rencontrer un problème lors de la migration. Les seuls systèmes qui établissent une relation directe avec la base de données sont côté #ref-glossary(term: "Back-End")[back-end]. On limite donc l'impact sur l'application globale s'il y a des changements et des mises à jour à réaliser pour permettre à l'application de continuer à fonctionner avec la base de données.
Le projet #ref-glossary(term: "Back-End")[back-end] de l'application est développé en C\# avec .NET qui gère la partie web de l'application. Un certain nombre de librairies sont utilisées par le projet InfSuite pour permettre d'étendre les fonctionnalités de l'application sans devoir dépenser de temps de développement.
Il existe des packages alimentés par Microsoft par exemple comme .NET, #ref-glossary(term: "EF")[#display-def("EF")], ... et d'autres librairies qui sont elles développés par des développeurs tiers qui ont souhaité ajouter une nouvelle fonctionnalité à l'écosystème.\
Quand on souhaite effectuer une mise à jour de l'application, l'environnement Microsoft nous propose d'effectuer la mise à jour de ces librairies nommées Nugget Packages dans l'écosystème C\# via NuGet, le gestionnaire de dépôts associé.
Il permet de faire du versionnement des librairies sur le même principe que PostgreSQL qui utilise le concept de versionnement pour livrer ses mises-à-jour.\
Chaque version d'une librairie peut notifier des incompatibilités avec certaines versions d'autres librairies. Je dois donc étudier les composants qui permettent de faire la liaison à la base de données et également les librairies dont peut ou qui peuvent dépendre de ces composants.
=== Compatibilité
=== Tests de performance

BIN
main.pdf

Binary file not shown.

View File

@ -12,12 +12,15 @@
promotion: (title: "UHA 4.0.5", year: 2024),
acronyms: (
"OFROU": ("Office Fédérale des Routes"),
"SGBDR": ("Système de gestion de base de données relationnelle")
"SGBDR": ("Système de gestion de base de données relationnelle"),
"EF": ("Entity Framework")
),
glossary: (
"Dump": [Un fichier "dump" est un fichier de sauvegarde qui contient une copie de toutes les données et métadonnées d'une base de données à un instant T.],
"OFROU": [L'#display-def("OFROU") est l'autorité suisse compétente pour l'infrastructure routière],
"SGBDR": [Un #display-def("SGBDR") est le système composnat une base de données.]
"SGBDR": [Un #display-def("SGBDR") est le système composant une base de données.],
"Back-End": [Some content],
"EF": [#display-def("EF") qui se decline également en #display-def("EF") Core, est une librairie C\# qui sert d'ORM]
),
hayagriva-bibliography: "bibliographie.yml",
thanks: [