Add SQLite database schema and documentation

Added complete database schema for Post-ERG thesis archive:
- schema.sql with full relational database structure
- README.md with schema documentation and usage examples
- SETUP.md with comprehensive setup and maintenance guide
- posterg_fiche-technique.md with technical specifications
- Database_TFE_test.csv and .ods with example data

Database features:
- Normalized relational schema (3NF)
- Support for multiple authors, supervisors, languages, formats, keywords
- Publication workflow (submission → defense → jury review → publication)
- Access control (Libre/Interne/Interdit)
- File attachments tracking
- Predefined reference tables for orientations, AP programs, finalities
- Views for simplified querying
- Automatic timestamps and cascade deletes
This commit is contained in:
Théophile Gervreau-Mercier
2026-01-27 15:19:06 +01:00
parent 0d3fc3ab9a
commit 99ccd60f90
116 changed files with 2695 additions and 429 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

View File

@@ -1,16 +0,0 @@
#!/bin/bash
# Download the index page and convert local links to global links
url="https://www.memo-dg.fr/"
curl $url > index.html
# Extract the image URLs from the downloaded HTML file
cat index.html | grep img | grep -Po 'src="\K.*?(?=")' | sed 's/\?.*//' > links.txt
# Download all the images using curl
while read -r file; do
curl -s -O $file
done < links.txt
# Clean up
rm index.html links.txt

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 611 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 943 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 KiB

View File

@@ -1,39 +0,0 @@
import os
import sys
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse
import urllib.request
def main(url):
try:
response = requests.get(url, headers={"User-Agent": "Mozilla/5.0"})
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
sys.exit(1)
soup = BeautifulSoup(response.text, 'html.parser')
images = soup.find_all('img')
if not os.path.exists("images"):
os.makedirs("images")
for image in images:
img_src = image.get('src')
img_url = urljoin(url, img_src)
local_filename = urlparse(img_url).path.split('/')[-1]
try:
urllib.request.urlretrieve(img_url, os.path.join("images", local_filename))
print(f"Downloaded {img_url}")
except Exception as e:
print(f"Error downloading {img_url}: {e}")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python script.py <URL>")
sys.exit(1)
url = sys.argv[1]
main(url)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -1,20 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/vasseur-lauryn-2023.jpg'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/UdeM_Guide-ecriture-inclusive.pdf'
- 'data/content/2025/Théophile Gervreau-Mercier/undefinedMega_2023-04-24.pdf'

View File

@@ -1,20 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/patrolin-aurore-2021.jpg'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/UdeM_Guide-ecriture-inclusive.pdf'
- 'data/content/2025/Théophile Gervreau-Mercier/undefinedMega_2023-04-24.pdf'

View File

@@ -1,20 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/maguet-killian-2022.jpg'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/UdeM_Guide-ecriture-inclusive.pdf'
- 'data/content/2025/Théophile Gervreau-Mercier/undefinedMega_2023-04-24.pdf'

View File

@@ -1,20 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/lampaert-sarah-2022.png'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/UdeM_Guide-ecriture-inclusive.pdf'
- 'data/content/2025/Théophile Gervreau-Mercier/undefinedMega_2023-04-24.pdf'

View File

@@ -1,19 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/raupp-manon-2016.jpg'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/'

View File

@@ -1,19 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/conseil-social.jpeg'
files:
- 'data/content/2024/Théophile Gervreau-Mercier/mov_bbb.mp4'

View File

@@ -1,20 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/dubreuil-coralie-2022.jpg'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/UdeM_Guide-ecriture-inclusive.pdf'
- 'data/content/2025/Théophile Gervreau-Mercier/undefinedMega_2023-04-24.pdf'

View File

@@ -1,20 +0,0 @@
auteurice: 'Théophile Gervreau-Mercier'
année: '2025'
email: something@erg.school
titre: 'L&#39;art d&#39;une hygiène de vie numérique'
tag:
- art
- numérique
- sociologie
- pratique
- collective
- indiviuelle
promoteurice: 'Nicholas Hulot'
problématique: 'le monde'
description: "Look around you. In the 7th Cavalry, we got a Captain from the Ukraine. Another from Puerto Rico. We've got Japanese, Chinese, Blacks, Hispanics, Cherokee Indians, Jews and Gentiles - all Americans. Now here in the States, some men in this unit may experience discrimination because of race or creed. But for you and me now, all that is gone. We're moving into the valley of the shadow of death, where you will watch the back of the man next to you, as he will watch yours. And you won't care what color he is or by what name he calls God. They say we're leavin' home. We're goin' to what home was always supposed to be. So let us understand the situation. We are goin' into battle against a tough and determined enemy. I can't promise you that I will bring you all home alive. But this I swear before you and before Almighty God that when we go into battle, I will be the first to set foot on the field, and I will be the last to step off. And I will leave no one behind. Dead or alive, we will all come home together. So help me God."
orientation: Vidéographie
ap: DPM
couverture: 'data/cover/thirion-gaetan-2021.jpg'
files:
- 'data/content/2025/Théophile Gervreau-Mercier/UdeM_Guide-ecriture-inclusive.pdf'
- 'data/content/2025/Théophile Gervreau-Mercier/undefinedMega_2023-04-24.pdf'

Some files were not shown because too many files have changed in this diff Show More