milestone: adding style template for the whole document
This commit is contained in:
parent
5284cf2e51
commit
9d1fa3d9d0
35
bibliographie.yml
Normal file
35
bibliographie.yml
Normal file
@ -0,0 +1,35 @@
|
||||
bienvenue-groupe-uem:
|
||||
type: book
|
||||
title: Bienvenue dans le groupe UEM
|
||||
date: 2022-02
|
||||
organization: Groupe UEM
|
||||
affiliated:
|
||||
- role: compiler
|
||||
names: Phixso Communication
|
||||
note: Livret d'accueil des apprentis, intérimaires et stagiaires
|
||||
|
||||
decouvrir-groupe-uem:
|
||||
type: web
|
||||
title: Découvrir le Groupe UEM
|
||||
date: 2023
|
||||
organization: Groupe UEM
|
||||
url: https://www.uem-metz.fr/nous-decouvrir/
|
||||
|
||||
organigramme-groupe-uem:
|
||||
type: report
|
||||
title: Organigramme du Groupe UEM
|
||||
date: 2022
|
||||
organization: Groupe UEM
|
||||
|
||||
clients-efluid:
|
||||
type: web
|
||||
title: Nos clients
|
||||
date: 2023
|
||||
organization: Efluid SAS
|
||||
url: https://www.efluid.com/corporate/nos-clients/
|
||||
|
||||
chiffres-efluid:
|
||||
type: report
|
||||
title: L'essentiel des chiffres Efluid 2020
|
||||
date: 2020
|
||||
organization: Groupe UEM
|
BIN
chapters/contexte.pdf
Normal file
BIN
chapters/contexte.pdf
Normal file
Binary file not shown.
@ -18,7 +18,7 @@ Après l'obtention de mon baccalauréat scientifique, j'ai intégré l'UHA 4.0 p
|
||||
Après l'obtention de ma Licence, j'ai décidé de poursuivre en master à l'UHA 4.0 pour compléter mes acquis et acquérir de nouvelles compétences. Cette formation en alternance privilégie le temps en entreprise, passant de 6 à 9 mois.
|
||||
|
||||
Durant ma première année en DU 4.0.4, j'ai eu l'opportunité d'aborder des sujet complexes d'algorithmie, d'intelligence artificielle, de fouille de données et quelques notions de sécurité informatique.
|
||||
Pour mettre en pratique nos acquis lors des topos nous réalisons, en groupe de 3 élèves, un fil-rouge regroupant les connaissances acquises dans un sujet concret. Durant cette première année, nous avons pu mettre en place un système de suivi et d'alerte de l'état d'une plante par analyse d'images, relevé de données environnementales, algorithmes de prédiction, ...
|
||||
Pour mettre en pratique nos acquis lors des topos nous réalisons, en groupe de 3 élèves, un fil-rouge regroupant les connaissances acquises dans un sujet concret. Durant cette première année, nous avons pu mettre en place un système de suivi et d'alerte de l'état d'une plante par analyse d'./images, relevé de données environnementales, algorithmes de prédiction, ...
|
||||
|
||||
|
||||
== L'entreprise
|
||||
|
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
#pagebreak(weak: true)
|
||||
= Etat de l'art
|
||||
|
||||
== PostgreSQL, un système open source
|
||||
@ -36,8 +37,8 @@ PostgreSQL est un SGBDR@SGBDR_def très populaire pour plusieurs raisons:
|
||||
- Le système au complet est très flexible, grâce à son architecture modulaire et à son support des extensions. Il peut s'adapter à de nombreux types d'applications et de besoins, notement pour des applications géographiques avec des besoins plus complets.
|
||||
- De pars sa nature open source, il est compatible avec de nombreux langages de programmation, tels que Python, Java, C++, Ruby, PHP, etc.
|
||||
|
||||
Il est également important de noter que PostgreSQL tient sa popularité, au delà de ses performances et fonctionnalités déjà complètes, de par sa capacité à gérer des types de données bien plus complexes. PostgreSQL propose la gestion de modèles de données complexes tel que des données géographiques et des données attributaires, mais permet surtout de gérer les relations entre ces données.
|
||||
Cette gestions de données complexe permet une ouverture sur d'autre système, notement QGIS, un système d'informations géographiques et ainsi d'étendre les fonctionnalités proposées par ce système.
|
||||
Il est également important de noter que PostgreSQL tient sa popularité, au delà de ses performances et fonctionnalités déjà complètes, de par sa capacité à gérer des types de données bien plus complexes. Il propose la gestion de modèles de données complexes tel que des données géographiques et des données attributaires, mais permet surtout de gérer les relations entre ces données.
|
||||
Cette gestions de données complexe permet une ouverture sur d'autre système, notamment QGIS, un système d'informations géographiques, et ainsi d'étendre les fonctionnalités proposées par ce système.
|
||||
En type de fichiers volumineux, on peut par exemple citer les fichiers MAJICS, RPG, référetiels vecteurs, ...
|
||||
|
||||
=== Les inconvénients de PostgreSQL
|
||||
@ -56,3 +57,5 @@ PostgreSQL présente également quelques inconvénients qu'il faut prendre en co
|
||||
=== Conclusion
|
||||
|
||||
PostgreSQL est un SGBDR@SGBDR_def open source très populaire, grâce à sa fiabilité, sa robustesse, sa richesse fonctionnelle et sa flexibilité. Il est utilisé dans de nombreux domaines, tels que la finance, la santé, l'éducation, le gouvernement, etc. Il est également compatible avec de nombreux langages de programmation et de nombreux systèmes d'exploitation. Cependant, il peut être plus complexe à installer et à configurer que d'autres SGBDR@SGBDR_def et nécessiter plus de ressources matérielles. Malgré ces inconvénients, PostgreSQL reste un choix idéal pour de nombreuses applications critiques et environnements complexes.
|
||||
|
||||
== Des outils de migration
|
@ -1,11 +0,0 @@
|
||||
= Introduction
|
||||
|
||||
Après avoir réalisé mon parcours de license professionnelle "Développeur nformatique" au sein de l'UHA
|
||||
et obtenu mon diplôme, j'ai souhaité approfondir mes connaissance en rejoignant le cursus master proposé
|
||||
par l'UHA 4.0 qui fait suite à la license.
|
||||
|
||||
Mon parcours de master à été réalisé au sein de l'entreprise Unit Solutions basée à Allschwil en Suisse, qui s'était déjà proposée de me suivre dans mon cursus universitaires pour les deux années précédentes. Mes contributions principales se sont orientées sur le projet InfSuite et l'environnement l'entourant. L'application pour laquelle j'ai pu apporter ma contribution à comme objectif premier de gérer le suivi et la maintenance d'état d'ouvrages d'art.
|
||||
|
||||
Dans ce mémoire je vous présenterais les détails du projet InfSuite et de ma ccontribution au projet. J'ai principalement eu pour objectif de planifier et de réaliser une migration de base de données. En effet, la base de données étant un point clef de l'application, une maintenance de cette dernière est nécessaire pour assurer une certaine pérennité de l'application. Cette étape de migraton s'inscrit dans un projet de maintenir les technologies de l'application à jour et de permettre de palier à d'autres problèmes.
|
||||
|
||||
Dans ce document je commencerais par présenter ce qui m'a amené à rejoindre le cursus master et les compétence acquises durant ma formation, j'aborderais par la suite les enjeux et le plan d'action de la migrationet, puis j'expliquerais la réalisation et les problèmes rencontrer et enfin je pourrais conclure ce document.
|
@ -1,12 +0,0 @@
|
||||
= Remerciements
|
||||
|
||||
J’aimerais remercier monsieur le directeur d’Unit Solutions M. Thierry MOEBEL pour m’avoir donné l’opportunité de rejoindre l’entreprise et d’effectuer ma première année de master en alternance. Je le remercie également d'avoir pris en compte mes intérêts en me confiant un projet captivant, correspondant parfaitement aux attentes de mon année. De plus, je suis reconnaissant qu'il ait prolongé mon contrat pour l'année prochaine, me permettant ainsi de me lancer dans le monde du travail et de poursuivre mon évolution au sein de l'entreprise.
|
||||
|
||||
Je souhaite exprimer ma gratitude envers M. Cédric MARTIN, mon tuteur en entreprise, pour son accompagnement tout au long de l'année sur le projet. Sa transmission de connaissances techniques et ses explications sur l'architecture et le fonctionnement du projet ont été d'une grande aide pour moi.
|
||||
Je remercie chaleureusement tous mes collègues chez Unit Solutions pour leur partage de connaissances, leur bonne humeur et leur soutien.
|
||||
|
||||
Je tiens à exprimer ma reconnaissance envers toute l'équipe pédagogique de l'UHA 4.0, notamment M. Mounir ELBAZ, M. Pierre-Alain MULLER, M. Florent BOURGEOIS, M. Daniel DA FONSECA, M. Pierre SCHULLER et Mme. Audrey, ainsi que les étudiants de l'UHA 4.0. Leur soutien, leur partage de connaissances, leur accompagnement et leurs conseils au long de l'année m'ont permis de mener à bien mon projet professionnel.
|
||||
|
||||
Enfin, je souhaite exprimer ma gratitude envers les relecteurs de ce rapport pour
|
||||
leurs précieux conseils, qui m'ont permis de mener à bien l’écriture de ce
|
||||
rapport.
|
44
main.typ
44
main.typ
@ -1,6 +1,46 @@
|
||||
#include "chapters/remerciements.typ"
|
||||
#import "template.typ": *
|
||||
|
||||
#include "chapters/introduction.typ"
|
||||
#show: rapport.with(
|
||||
title: "Migration de bases de données",
|
||||
color: rgb(10, 19, 89),
|
||||
company: (
|
||||
name: "Unit Solutions AG",
|
||||
logo: "images/premiere-page/logo-efluid.png",
|
||||
tutor: "M. Cédric Martin"
|
||||
),
|
||||
degree: "Master informatique et mobilité",
|
||||
promotion: (title: "UHA 4.0.5", year: 2024),
|
||||
acronyms: (
|
||||
"sample": ("sample")
|
||||
),
|
||||
glossary: (
|
||||
"sample": ("sample")
|
||||
),
|
||||
hayagriva-bibliography: "bibliographie.yml",
|
||||
thanks: [
|
||||
J'aimerais remercier monsieur le directeur d'Unit Solutions M. Thierry MOEBEL pour m'avoir donné l'opportunité de rejoindre l'entreprise et d'effectuer ma première année de master en alternance. Je le remercie également d'avoir pris en compte mes intérêts en me confiant un projet captivant, correspondant parfaitement aux attentes de mon année. De plus, je suis reconnaissant qu'il ait prolongé mon contrat pour l'année prochaine, me permettant ainsi de me lancer dans le monde du travail et de poursuivre mon évolution au sein de l'entreprise.
|
||||
|
||||
Je souhaite exprimer ma gratitude envers M. Cédric MARTIN, mon tuteur en entreprise, pour son accompagnement tout au long de l'année sur le projet. Sa transmission de connaissances techniques et ses explications sur l'architecture et le fonctionnement du projet ont été d'une grande aide pour moi.
|
||||
|
||||
Je remercie chaleureusement tous mes collègues chez Unit Solutions pour leur partage de connaissances, leur bonne humeur et leur soutien.
|
||||
|
||||
Je tiens à exprimer ma reconnaissance envers toute l'équipe pédagogique de l'UHA 4.0, notamment M. Mounir ELBAZ, M. Pierre-Alain MULLER, M. Florent BOURGEOIS, M. Daniel DA FONSECA, M. Pierre SCHULLER et Mme. Audrey, ainsi que les étudiants de l'UHA 4.0. Leur soutien, leur partage de connaissances, leur accompagnement et leurs conseils au long de l'année m'ont permis de mener à bien mon projet professionnel.
|
||||
|
||||
Enfin, je souhaite exprimer ma gratitude envers les relecteurs de ce rapport pour leurs précieux conseils, qui m'ont permis de mener à bien l'écriture de ce rapport.
|
||||
],
|
||||
introduction: [
|
||||
Après avoir réalisé mon parcours de license professionnelle "Développeur nformatique" au sein de l'UHA et obtenu mon diplôme, j'ai souhaité approfondir mes connaissance rejoignant le cursus master proposé par l'UHA 4.0 qui fait suite à la license.
|
||||
|
||||
Mon parcours de master à été réalisé au sein de l'entreprise Unit Solutions basée à Allschwil en Suisse, qui s'était déjà proposée de me suivre dans mon cursus universitaires pour les deux années précédentes. Mes contributions principales se sont orientées sur le projet InfSuite et l'environnement l'entourant. L'application pour laquelle j'ai pu apporter ma contribution à comme objectif premier de gérer le suivi et la maintenance d'état d'ouvrages d'art.
|
||||
|
||||
Dans ce mémoire je vous présenterais les détails du projet InfSuite et de ma ccontribution au projet. J'ai principalement eu pour objectif de planifier et de réaliser une migration de base de données. En effet, la base de données étant un point clef de l'application, une maintenance de cette dernière est nécessaire pour assurer une certaine pérennité de l'application. Cette étape de migraton s'inscrit dans un projet de maintenir les technologies de l'application à jour et de permettre de palier à d'autres problèmes.
|
||||
|
||||
Dans ce document je commencerais par présenter ce qui m'a amené à rejoindre le cursus master et les compétence acquises durant ma formation, j'aborderais par la suite les enjeux, une analyse et le plan d'action de la migrationet, puis j'expliquerais la réalisation et les problèmes rencontrer et enfin je pourrais conclure ce document.
|
||||
],
|
||||
conclusion: [Conclusion],
|
||||
abstract: [Abstract],
|
||||
keywords: ("", "")
|
||||
)
|
||||
|
||||
#include "chapters/contexte.typ"
|
||||
|
||||
|
BIN
template.pdf
Normal file
BIN
template.pdf
Normal file
Binary file not shown.
249
template.typ
Normal file
249
template.typ
Normal file
@ -0,0 +1,249 @@
|
||||
#import "@preview/acrostiche:0.2.0": *
|
||||
|
||||
#let appendixes = state("appendixes", ())
|
||||
#let section = state("section", none)
|
||||
#let glossary-terms = state("glossary", ( : ))
|
||||
|
||||
#let rapport(
|
||||
title: "",
|
||||
author: "Julien Ivars",
|
||||
color: red,
|
||||
company: (),
|
||||
degree: "",
|
||||
promotion: (),
|
||||
acronyms: (),
|
||||
glossary: ( : ),
|
||||
hayagriva-bibliography: none,
|
||||
thanks: lorem(150),
|
||||
introduction: lorem(350),
|
||||
conclusion: lorem(350),
|
||||
abstract: lorem(100),
|
||||
keywords: ("Min 7", "Max 15"),
|
||||
body,
|
||||
) = {
|
||||
// Global settings.
|
||||
set document(author: author, title: title)
|
||||
set page(
|
||||
background: [
|
||||
#place(top, rect(fill: color, width: 100%, height: 5mm))
|
||||
#place(bottom, rect(fill: color, width: 100%, height: 10mm))
|
||||
]
|
||||
)
|
||||
set text(hyphenate: false, lang: "fr", weight: "regular")
|
||||
|
||||
set heading(outlined: false)
|
||||
show heading: h => {
|
||||
set text(color, font: "Open Sans", weight: "medium", style: "italic")
|
||||
set text(21pt) if h.level == 1
|
||||
set text(17pt) if (h.level == 2)
|
||||
set pad(left: 1cm) if h.level > 1
|
||||
set pad(bottom: 5mm)
|
||||
set pad(bottom: 3mm) if h.level == 3
|
||||
pad(h)
|
||||
}
|
||||
|
||||
// Title page.
|
||||
{
|
||||
set page(margin: (left: 15mm, right: 15mm, top: 15mm, bottom: 25mm))
|
||||
set text(15pt, font: "Open Sans")
|
||||
block(
|
||||
height: 75pt,
|
||||
grid(
|
||||
columns: 3,
|
||||
column-gutter: 45pt,
|
||||
rows: auto,
|
||||
align(horizon, image("images/premiere-page/logo-uha.png")),
|
||||
align(horizon, image("images/premiere-page/logo-uha40.png")),
|
||||
align(horizon, image("images/premiere-page/logo-serfa.jpg"))
|
||||
)
|
||||
)
|
||||
|
||||
v(3fr)
|
||||
|
||||
[
|
||||
#text(30pt, color)[Mémoire de fin d'études] \
|
||||
|
||||
#text(40pt, weight: "bold", smallcaps(title))
|
||||
]
|
||||
|
||||
v(3fr)
|
||||
|
||||
[
|
||||
#text(18pt, weight: "bold", author) \
|
||||
\
|
||||
#degree \
|
||||
#promotion.title - Promotion #promotion.year / #(promotion.year + 1) \
|
||||
\
|
||||
#text(black)[Alternance réalisée chez] #upper[*#company.name*]
|
||||
]
|
||||
|
||||
v(2fr)
|
||||
|
||||
let stageActor(designation: "", tutor) = block[
|
||||
#text(rgb(111, 111, 111), designation) \
|
||||
#tutor
|
||||
]
|
||||
|
||||
grid(
|
||||
columns: 2,
|
||||
[
|
||||
#stageActor(designation: "Tuteur professionnel", company.tutor)
|
||||
#stageActor(designation: "Tuteur pédagogique")[M. Mounir ELBAZ]
|
||||
],
|
||||
align(horizon + right, image(company.logo, width: 65%))
|
||||
)
|
||||
}
|
||||
pagebreak()
|
||||
|
||||
// Used to get custom page header.
|
||||
let pageheader(content: "") = {
|
||||
set text(10pt)
|
||||
grid(
|
||||
columns: 2,
|
||||
gutter: 1fr,
|
||||
title,
|
||||
content
|
||||
)
|
||||
v(3mm)
|
||||
place(bottom, rect(fill: color, width: 100%, height: 0.05mm))
|
||||
}
|
||||
|
||||
// Document-body settings.
|
||||
show par: set block(spacing: 1.45em)
|
||||
set page(
|
||||
header: pageheader(),
|
||||
footer: author,
|
||||
margin: (left: 30mm, right: 30mm, top: 30mm, bottom: 30mm)
|
||||
)
|
||||
set text(font: "Times New Roman", size: 12pt)
|
||||
set par(justify: true)
|
||||
init-acronyms(acronyms)
|
||||
counter(page).update(1)
|
||||
|
||||
// Defining, how marked glossary entries in the document appear
|
||||
show figure.where(kind: "jkrb_glossary"): it => [#link(<Glossaire>)[#it.body]]
|
||||
|
||||
// Thanks page.
|
||||
[
|
||||
= Remerciements
|
||||
#thanks
|
||||
]
|
||||
pagebreak()
|
||||
|
||||
|
||||
// Summary.
|
||||
outline(title: "Sommaire", depth: 2, indent: auto)
|
||||
pagebreak()
|
||||
|
||||
{
|
||||
set heading(outlined: true)
|
||||
set page(footer: grid(
|
||||
columns: 2,
|
||||
gutter: 1fr,
|
||||
author,
|
||||
counter(page).display()
|
||||
)
|
||||
)
|
||||
|
||||
// Introduction page.
|
||||
[
|
||||
= Introduction
|
||||
#introduction
|
||||
]
|
||||
pagebreak()
|
||||
|
||||
// Content.
|
||||
{
|
||||
set heading(numbering: "1.1.")
|
||||
set page(header: locate(loc => {
|
||||
let sectiontitle = section.at(loc)
|
||||
if (sectiontitle == none) {
|
||||
sectiontitle = query(
|
||||
heading.where(level: 1, outlined: true).after(loc),
|
||||
loc
|
||||
).first().body
|
||||
}
|
||||
pageheader(content: sectiontitle)
|
||||
}))
|
||||
show pagebreak: pb => {
|
||||
section.update(none)
|
||||
pb
|
||||
}
|
||||
show heading.where(level: 1): h => {
|
||||
h
|
||||
section.update(h.body)
|
||||
}
|
||||
|
||||
body
|
||||
}
|
||||
pagebreak()
|
||||
|
||||
// Conclusion.
|
||||
[
|
||||
= Conclusion
|
||||
#conclusion
|
||||
]
|
||||
pagebreak()
|
||||
|
||||
// Glossary.
|
||||
[
|
||||
#set page(header: pageheader(content: "Glossaire"))
|
||||
= Glossaire
|
||||
#for term in glossary.keys().sorted() {
|
||||
locate(loc => glossary-terms.update(it => {
|
||||
it.insert(term, loc)
|
||||
return it
|
||||
}))
|
||||
[ - *#term* : #glossary.at(term) \ ]
|
||||
}
|
||||
]
|
||||
pagebreak()
|
||||
|
||||
// Acronyms page.
|
||||
[
|
||||
= Liste des abréviations
|
||||
#acros.display(acronyms => {
|
||||
for acr in acronyms.keys().sorted() [
|
||||
- *#acr* : #acronyms.at(acr) \
|
||||
]
|
||||
})
|
||||
]
|
||||
pagebreak()
|
||||
|
||||
// Bibliography.
|
||||
bibliography(hayagriva-bibliography, title: "Bibliographie et webographie", style: "chicago-notes")
|
||||
pagebreak()
|
||||
|
||||
// Table of contents.
|
||||
outline(indent: auto)
|
||||
pagebreak()
|
||||
|
||||
// Appendixes page.
|
||||
[
|
||||
#set page(header: pageheader(content: "Annexes"))
|
||||
= Annexes
|
||||
#counter(heading).update(0)
|
||||
#set heading(numbering: "I.", outlined: false, supplement: "Annexe")
|
||||
#locate(loc => {
|
||||
for body in appendixes.final(loc) {
|
||||
body
|
||||
}
|
||||
})
|
||||
]
|
||||
}
|
||||
|
||||
// Last page.
|
||||
[
|
||||
= Résumé
|
||||
#abstract
|
||||
|
||||
= Mots-clés
|
||||
#for word in keywords.sorted() [
|
||||
- #word
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
#let appendix(body) = appendixes.update(it => it + (body,))
|
||||
|
||||
#let ref-glossary(term: "", body) = locate(loc => link(glossary-terms.final(loc).at(term), body))
|
Loading…
Reference in New Issue
Block a user