website/index.html

138 lines
5.4 KiB
HTML
Raw Permalink Normal View History

2023-12-10 21:31:59 +01:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Projet BD</title>
<style>
html, body {
margin: 0;
background-color: whitesmoke;
color: black;
font-family: 'Roboto', sans-serif;
}
body {
margin: 1em;
margin-bottom: 50vh;
}
header {
height: calc(100vh - 2em);
text-align: center;
display: flex;
flex-direction: column;
}
header > div {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 90%;
}
.last {
margin-top: auto;
}
header a {
display: flex;
padding: 1em;
border-radius: 4px;
width: fit-content;
background-color: #b30000;
color: white;
}
header a:hover {
background-color: #7f0000;
color: white;
}
h1 {
color: #7f0000;
max-width: 50vw;
}
a {
color: #b30000;
}
a:hover {
color: #7f0000;
}
@media (max-width: 40em) {
body {
margin: 0.5em;
}
}
</style>
</head>
<body>
<header>
<div>
<h1>La quantité d'impôts que l'on paye est-elle corrélée avec la quantité de route construite chez nous ?</h1>
<a href="/map">
Voir la réponse !
</a>
</div>
<p class="last">Scrollez pour plus d'info...</p>
</header>
<h2>Étapes du projet</h2>
<p>Il a d'abord fallu récupérer les données spécifiques à notre question, c'est à dire: </p>
<ul>
<li>
Les données sur les impôts de chaque zone, fournies par l'<a href="https://www.insee.fr/fr/accueil">INSEE</a>
</li>
<li>
Les données sur la quantité de route dans chaque zone, fournies par <a href="https://www.openstreetmap.org">OpenStreetMap</a>
</li>
</ul>
<h3>Les données de l'INSEE</h3>
<p>Pour récupérer les données de l'insee, il faut passer par <a href="https://api.insee.fr/catalogue">leur api</a>, qui n'est pas très bien documentée, et comprendre comment faire une requête.</p>
<p>Après avoir surmonté cet obstacle, on peut se rendre compte que l'INSEE limite le nombre de requêtes à 30 par minute, ce qui est beaucoup trop lent pour parcourir les environ 36000 communes de France en un temps correct.</p>
<p>Une solution simple, bien que longue à mettre en place, est de créer 30 clés d'API et d'alterner à chaque requête.</p>
<img src="/public/api_keys.png" alt="30 clés d'API de l'INSEE"/>
<p>Les données sur les impôts sont masquées pour les zones de moins de 1000 ménages, par <a href="https://fr.wikipedia.org/wiki/Secret_statistique">secret statistique</a>, ce qui limite le nombre de communes ayant des données sur les impôts à seulement 4000.</p>
<p>La donnée sur les impôts se trouve dans le tableau "revenus", et est représenté par un nombre négatif ; ce nombre représente, pour le "ménage moyen" de la zone, la part des revenus qui partent dans leurs impôts.</p>
<h3>Les données d'OSM</h3>
<p>La récupération des données de l'insee s'est faite par une simple requête à <a href="https://overpass-api.de/">l'api overpass</a> d'OSM (instance principale), répétée une fois par zone. Pour les zones plus grandes, comme les départements, le serveur a mis trop de temps à calculer et a donc abandonné la requête.</p>
<p>Les données ont directement pu être fusionnées avec les données de l'insee.</p>
<p>Une donnée supplémentaire non utilisée dans l'application est le type de routes ; en effet, l'application ne différencie actuellement pas une autoroute d'une ruelle. Prendre en compte cette donnée (qui est présente dans le dataset final) pourrait améliorer la visualisation.</p>
<h3>Les données des zones</h3>
<p>Une fois les données de la question récupérées, il a fallu les afficher sur une carte. Pour cela, il a fallu obtenir un <a href="https://geojson.org/">GeoJSON</a> des zones françaises, pour pouvoir les afficher dans <a href="https://leafletjs.com">Leaflet</a>.</p>
<p>
Trouver ces données a été compliqué car les datasets trouvés sur <a href="data.gouv.fr">data.gouv.fr</a>
sont soit dans un mauvais format (<a href="https://epsg.io/3575">EPSG:3575</a>, qui définit les points en mètres,
par opposition à <a href="https://epsg.io/4326">EPSG:4326</a> qui définit les points en degrés), soit plus à jour
(il y a eu des changements au <a href="https://www.insee.fr/fr/information/2560452">COG</a> en 2015 et en 2022.
</p>
<p>Nous avons au final trouvé les données dans le bon format dans <a href="https://github.com/Juralexx/france-geojson-app/tree/master/files/geojson">un projet github</a>, qui ne semble pas indiquer leur provenance, mais qui sont complètes et bien structurées.</p>
<p>L'étape finale a été de tout fusionner en trois gros fichiers, contenant respectivement les données pour les communes, les départements ainsi que leurs arrondissements.</p>
</body>
</html>