diff --git a/.github/ISSUE_TEMPLATE/RDP_NEWS.yml b/.github/ISSUE_TEMPLATE/RDP_NEWS.yml index 779f3f8330..b3e430da54 100644 --- a/.github/ISSUE_TEMPLATE/RDP_NEWS.yml +++ b/.github/ISSUE_TEMPLATE/RDP_NEWS.yml @@ -5,6 +5,7 @@ assignees: - aurelienchaumet - guts - igeofr + - gounux body: - type: markdown diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 56cc50e885..945a578c0f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ repos: - id: check-hooks-apply - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: check-added-large-files - id: check-case-conflict @@ -21,21 +21,21 @@ repos: - --markdown-linebreak-ext=md - repo: https://github.com/asottile/pyupgrade - rev: v3.17.0 + rev: v3.19.0 hooks: - id: pyupgrade args: - "--py39-plus" - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.6.3" + rev: "v0.7.2" hooks: - id: ruff args: - --fix-only - repo: https://github.com/psf/black - rev: 24.8.0 + rev: 24.10.0 hooks: - id: black @@ -57,7 +57,7 @@ repos: - --select=E9,F63,F7,F82 - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.41.0 + rev: v0.42.0 hooks: - id: markdownlint args: diff --git a/README.md b/README.md index 997be849ea..65cf0a0f25 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,6 @@ [![🎳 VĂ©rification des liens](https://github.com/geotribu/website/actions/workflows/links_checker.yml/badge.svg)](https://github.com/geotribu/website/actions/workflows/links_checker.yml) [![đŸ€– RĂ©ponse automatique Ă  un ticket de proposition de contenu](https://github.com/geotribu/website/actions/workflows/issue_comment.yml/badge.svg)](https://github.com/geotribu/website/actions/workflows/issue_comment.yml) -[![Ouvrir dans l'Ă©diteur en ligne](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/geotribu/website) - [![Built with Material for MkDocs](https://img.shields.io/badge/Material_for_MkDocs-526CFE?style=for-the-badge&logo=MaterialForMkDocs&logoColor=white)](https://squidfunk.github.io/mkdocs-material/) Sources et contenus du site de Geotribu, accessible via les URLs suivantes : diff --git a/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md b/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md index fab6f41fe5..e094c1b1b3 100644 --- a/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md +++ b/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md @@ -224,8 +224,7 @@ Vous devriez avoir cette sortie : `Les nombres 0.30000000000000004 et 0.3 sont Ă©gaux avec une tolĂ©rance de 1e-09.` -Pour une Ă©tude plus approfondie, je vous encourage Ă  lire l'article [Comparing Two Floating-Point Numbers -](https://embeddeduse.com/2019/08/26/qt-compare-two-floats/). +Pour une Ă©tude plus approfondie, je vous encourage Ă  lire l'article [Comparing Two Floating-Point Numbers](https://embeddeduse.com/2019/08/26/qt-compare-two-floats/). Comme vous avez pu le deviner, c'est ce que fait ArcGIS. Dans plusieurs endroits de nos SIG, il existe des comparaisons floues, peut-ĂȘtre que les prochaines versions de GEOS intĂšgreront cette tolĂ©rance pour les relations. :wink: diff --git a/content/articles/2024/2024-11-20_vendee_globe_donnees_sig.md b/content/articles/2024/2024-11-20_vendee_globe_donnees_sig.md new file mode 100644 index 0000000000..b9ee8ef1a0 --- /dev/null +++ b/content/articles/2024/2024-11-20_vendee_globe_donnees_sig.md @@ -0,0 +1,257 @@ +--- +title: Suivre le VendĂ©e Globe 2024 depuis un SIG +subtitle: VendĂ©e Globe et donnĂ©es SIG +authors: + - Florent FOUGÈRES +categories: + - article +comments: true +date: 2024-11-20 +description: CrĂ©er et visualiser les donnĂ©es SIG de l'avancement de la course du VendĂ©e Globe 2024 Ă  partir des tableurs officiels. +icon: material/sail-boat +image: https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/trajectoire.png +license: beerware +robots: index, follow +tags: + - GeoPandas + - Pandas + - Python + - QGIS + - VendĂ©e Globe + - Voile +--- + +# Suivre le VendĂ©e Globe 2024 depuis un SIG + +:calendar: Date de publication initiale : {{ page.meta.date | date_localized }} + +## Le VendĂ©e Globe, c’est quoi ? + +![logo VendĂ©e Globe](https://cdn.geotribu.fr/img/logos-icones/divers/vendee_globe.png){: .img-thumbnail-left } + +Avant de commencer Ă  parler SIG et aspects techniques, parlons du VendĂ©e Globe. + +C’est une course Ă  la voile en solitaire, sans escale et sans assistance, autour du monde. Elle a lieu tous les 4 ans depuis 1989. Le dĂ©part se fait aux Sables d’Olonne. Le parcours consiste Ă  descendre l’Atlantique, puis passer successivement sous l’Afrique et le Cap de Bonne EspĂ©rance, sous l’Australie et le Cap Leeuwin et enfin sous l’AmĂ©rique du Sud et le Cap Horn, pour remonter en VendĂ©e le plus rapidement possible. Le record a Ă©tĂ© Ă©tabli par Armel Le ClĂ©ac'h lors de l'Ă©dition 2016-2017 avec un trajet de 74 jours 3 heures et 35 minutes. + +![carte](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/carte_vendee_globe.svg){: .img-center loading=lazy } + +---- + +## Suivre l’avancĂ©e + +![logo Smarty Pins](https://cdn.geotribu.fr/img/logos-icones/entreprises_association/google/SmartyPins.png){: .img-thumbnail-left } + +Qui dit course autour du monde, dit forcĂ©ment carte pour suivre l’évolution des participants. Le site officiel de l’épreuve propose une [carte interactive](https://www.vendeeglobe.org/cartographie) pour visualiser cette avancĂ©e. + +![VendĂ©e Globe - Carte interactive officielle](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/carte_interactive.png){: .img-center loading=lazy } + +J’ai donc cherchĂ© s’il existait une API ou un web service fournissant les donnĂ©es de positionnement pour les visualiser dans un SIG, comme QGIS par exemple. AprĂšs quelques recherches, je n’ai rien trouvĂ© de tel. + +J’ai trouvĂ© une [discussion](https://www.reddit.com/r/Vendee_Globe/s/Gbli34xyQO) sur Reddit Ă  ce sujet, mais sans rĂ©ponse concluante. + +En revanche, j’ai fini par dĂ©couvrir que le site officiel publie toutes les 4 heures un fichier Excel contenant les donnĂ©es de navigation et les coordonnĂ©es des bateaux. + +![VendĂ©e Globe - Tableur des donnĂ©es de navigation](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/tableur.png){: .img-center loading=lazy } + +Ce fichier communique chaque jour les positions Ă  2h, 6h, 10h, 14h, 18h et 22h, avec un retard de 1h. Par exemple, le fichier de 10h est fourni Ă  11h (c’est un Ă©lĂ©ment qui sera Ă  prendre en compte dans l’industrialisation du processus). Pour tĂ©lĂ©charger ce fichier il faut se rendre dans la section [classement](https://www.vendeeglobe.org/classement). + +Ce tableau contient le rang, le nom du bateau et du skipper, mais Ă©galement la vitesse et le cap sur les derniĂšres 30 min, les derniĂšres 24h et depuis le dernier pointage. + +À partir de ce tableur, le but sera donc de construire des donnĂ©es gĂ©ographiques de la course, que ce soit pour tracer la trajectoire, mais aussi pour agrĂ©ger tous les pointages. + + + +[Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } +{: align=middle } + +---- + +## Les Ă©tapes Ă  suivre + +Il faut commencer par rĂ©cupĂ©rer les informations relatives aux positions des bateaux. Cela signifie tĂ©lĂ©charger les fichiers Excel, car le site ne permet pas de les rĂ©cupĂ©rer en masse. J'ai donc Ă©tudiĂ© la structure de l'URL pour comprendre comment elles Ă©taient gĂ©nĂ©rĂ©es et ainsi pouvoir reconstruire ces liens de tĂ©lĂ©chargement. + +```shell title="Format de l'URL de tĂ©lĂ©chargement du tableur des pointages" +https://www.vendeeglobe.org/sites/default/files/ranking/vendeeglobe_leaderboard_AAAMMJJ_HHMMSS.xlsx +``` + +Il faut donc complĂšter la date (format AAAAMMJJ) et l'heure du pointages (HHMMSS) pour construire l'url de tĂ©lĂ©chargement. + +Ensuite, il est nĂ©cessaire de traiter la maniĂšre dont les donnĂ©es de localisation sont prĂ©sentĂ©es. En effet, les positions des bateaux sont souvent fournies sous un format de coordonnĂ©es gĂ©ographiques en degrĂ©s, minutes et secondes (DMS). Bien que ce format soit utile, il n'est pas directement compatible avec les outils de gĂ©omatique. Il est donc indispensable de les convertir en degrĂ©s dĂ©cimaux, un format plus standard et prĂ©cis, qui permet de travailler facilement avec des cartes et des systĂšmes d'information gĂ©ographique (SIG). + +Enfin, il est important d'exporter ces donnĂ©es SIG dans un format compatible, comme le GeoPackage ou le GeoJSON. Une fois converties, ces donnĂ©es peuvent ĂȘtre utilisĂ©es dans n'importe quel SIG, qu'il s'agisse d'un SIG bureautique comme QGIS ou d'une carte web SIG avec des outils comme MapLibre ou Leaflet. + +---- + +## Industrialiser la mĂ©thode + +![logo usine](https://cdn.geotribu.fr/img/logos-icones/divers/factory.png){: .img-thumbnail-left } + +Pour automatiser le processus dĂ©crit ci-dessus, j’ai crĂ©Ă© un [projet GitHub](https://github.com/florentfgrs/Vendee-Globe-2024) qui automatise ces tĂąches avec des scripts Python. Il fonctionne en lignes de commande, et elles sont pour le moment au nombre de deux (voir plus bas). + +Pour le tĂ©lĂ©chargement, j’utilise la bibliothĂšque tierce `requests`. + +Pour la lecture du tableur, le nettoyage des donnĂ©es et la crĂ©ation de gĂ©omĂ©trie, j’utilise `pandas`, `geopandas` et `shapely`. Il y a un peu de nettoyage de donnĂ©es Ă  faire, car les cellules contiennent des sauts de ligne. + +Pour aller plus dans le dĂ©tail technique, une fois le fichier tĂ©lĂ©chargĂ©, les Ă©tapes successives sont : + +1. **Ouverture du fichier dans un dataframe en ne gardant que les colonnes et les lignes qui nous intĂ©ressent.** +Il s'agit de charger le fichier Excel et d'extraire dans un dataframe, on garde uniquement les donnĂ©es pertinentes pour la suite du traitement, tout en ignorant les informations superflues. + +2. **CrĂ©ation des en-tĂȘtes (headers).** +Les en-tĂȘtes du fichier Excel sont souvent constituĂ©s de cellules fusionnĂ©es, ce qui rend leur rĂ©cupĂ©ration difficile. De plus, les noms de colonnes sont parfois trop verbeux, il faut donc les simplifier pour les rendre plus exploitables. + +3. **Nettoyage des donnĂ©es.** +Cette Ă©tape consiste Ă  supprimer les sauts de ligne, les caractĂšres spĂ©ciaux ou toute autre anomalie qui pourrait perturber le traitement des donnĂ©es. + + ```pandas title="DataFrame avant nettoyage" + rang code nom heure ... 24h_vmg 24h_distance dtf dtl + 0 1 GBR\r\nFRA 100 Sam Goodchild\r\nVULNERABLE 10:30 FR\r\n ... 10.5 kts 255.1 nm 22300.7 nm 0.0 nm + 1 2 FRA\r\nFRA 112 SĂ©bastien Simon\r\nGroupe Dubreuil 10:30 FR\r\n ... 7.4 kts 223.1 nm 22324.7 nm 24.0 nm + 2 3 FRA\r\nFRA 59 Thomas Ruyant\r\nVULNERABLE 10:30 FR\r\n ... 10.7 kts 288.1 nm 22352.7 nm 52.0 nm + 3 4 FRA\r\nFRA85 Nicolas Lunven\r\nHOLCIM - PRB 10:30 FR\r\n ... 12.7 kts 306.4 nm 22378.5 nm 77.8 nm + 4 5 FRA\r\nFRA 29 Jean Le Cam\r\nTout commence en FinistĂšre - Ar... 10:30 FR\r\n ... 5.0 kts 158.5 nm 22379.0 nm 78.3 nm + 5 6 FRA\r\nFRA 15 Clarisse CrĂ©mer\r\nL'Occitane en Provence 10:30 FR\r\n ... 7.3 kts 211.9 nm 22410.7 nm 110.1 nm + ``` + + ```pandas title="DataFrame aprĂšs nettoyage" + rang code nom heure ... 24h_vmg 24h_distance dtf dtl + 0 1 GBR - FRA 100 Sam Goodchild - VULNERABLE 10:30 FR - ... 10.5 kts 255.1 nm 22300.7 nm 0.0 nm + 1 2 FRA - FRA 112 SĂ©bastien Simon - Groupe Dubreuil 10:30 FR - ... 7.4 kts 223.1 nm 22324.7 nm 24.0 nm + 2 3 FRA - FRA 59 Thomas Ruyant - VULNERABLE 10:30 FR - ... 10.7 kts 288.1 nm 22352.7 nm 52.0 nm + 3 4 FRA - FRA85 Nicolas Lunven - HOLCIM - PRB 10:30 FR - ... 12.7 kts 306.4 nm 22378.5 nm 77.8 nm + 4 5 FRA - FRA 29 Jean Le Cam - Tout commence en FinistĂšre - Arm... 10:30 FR - ... 5.0 kts 158.5 nm 22379.0 nm 78.3 nm + 5 6 FRA - FRA 15 Clarisse CrĂ©mer - L'Occitane en Provence 10:30 FR - ... 7.3 kts 211.9 nm 22410.7 nm 110.1 nm + ``` + +4. **CrĂ©ation du timestamp.** +Un timestamp doit ĂȘtre gĂ©nĂ©rĂ© pour chaque pointage afin de pouvoir suivre l'Ă©volution de la position des bateaux au fil du temps. Il sera Ă©galement utile pour construire la trajectoire. + + ```pandas title="CrĂ©ation de la colonne timestamp Ă  partir de la colonne heure et de la date du fichier excel" + heure timestamp + 0 10:30 FR - 2024-11-18 10:30:00 + 1 10:30 FR - 2024-11-18 10:30:00 + 2 10:30 FR - 2024-11-18 10:30:00 + 3 10:30 FR - 2024-11-18 10:30:00 + 4 10:30 FR - 2024-11-18 10:30:00 + 5 10:30 FR - 2024-11-18 10:30:00 + ``` + +5. **Conversion des colonnes latitude et longitude de degrĂ©s DMS vers degrĂ©s dĂ©cimaux.** +Il faut d'abord parser les coordonnĂ©s pour obtenir les degrĂ©s, minutes, secondes et orientation. Puis faire la conversion. + +6. **CrĂ©ation de la gĂ©omĂ©trie.** +À partir des coordonnĂ©es converties, il faut gĂ©nĂ©rer des gĂ©omĂ©tries. Cela consiste Ă  gĂ©nĂ©rer des points pour les positions des bateaux (lors des pointages) ou des lignes pour tracer les trajectoires. + + ```pandas title="Conversion des latitude/longitude DMS en dĂ©cimal puis crĂ©ation de la colonne de gĂ©omĂ©trie" + latitude longitude latitude_decimal longitude_decimal geometry + 0 17°56.15'N 31°09.06'W 17.937500 -31.151667 POINT (-31.15167 17.9375) + 1 18°32.68'N 30°10.63'W 18.552222 -30.184167 POINT (-30.18417 18.55222) + 2 18°19.45'N 33°17.34'W 18.329167 -33.292778 POINT (-33.29278 18.32917) + 3 18°59.38'N 32°23.11'W 18.993889 -32.386389 POINT (-32.38639 18.99389) + 4 19°17.37'N 19°24.52'W 19.293611 -19.414444 POINT (-19.41444 19.29361) + 5 19°58.12'N 30°22.88'W 19.970000 -30.391111 POINT (-30.39111 19.97) + ``` + +7. **Exportation vers un format SIG vectoriel.** +Export vers le format [Geopackage](https://www.geopackage.org/). + +Pour l’instant, ce projet propose deux fonctionnalitĂ©s : + +### Obtenir le dernier pointage + +Il s’agit d’une couche de points indiquant la derniĂšre position communiquĂ©e des concurrents. Le format obtenu est un geopackage. + +```shell title="Obtenir un GPKG avec le dernier pointage en date" +python dernier_pointage.py --output-dir ./data_vg +``` + +Le rĂ©sultat obtenu est une couche de points du dernier pointage en date. Par exemple, si j'exĂ©cute cette ligne de commande Ă  14h45, j'aurai le pointage de 10h (et non celui de 14h Ă  cause du dĂ©calage de publication de 1h). + +Une fois affichĂ© dans QGIS et avec un peu de travail sur le style, voici le rĂ©sultat : + +![Screenshot QGIS - Couche des positions du dernier pointage](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/dernier_pointage.png){: .img-center loading=lazy } + +### Obtenir l’intĂ©gralitĂ© des pointages et la trace depuis le dĂ©part + +Il s’agit d’une couche de points indiquant tous les pointages de chaque bateau depuis le dĂ©part, ainsi qu’une couche de lignes reliant ces points pour former la trajectoire des bateaux. Le format obtenu est Ă©galement un GeoPackage. + +```shell title="Obtenir un GPKG avec l'intĂ©gralitĂ© de la trace et des pointages" +python trajectoires_pointages.py --output-dir ./data_vg +``` + +On obtient un geopackage qui contient deux couches : + +- Une couche de l'historique de tous les pointages depuis le dĂ©part. +- Une couche de ligne qui reproduit la trajectoire de chaque bateau. + +![Screenshot QGIS - Couches des trajectoires depuis le dĂ©part et intĂ©gralitĂ© des pointages](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/trajectoire.png){: .img-center loading=lazy } + +### Les donnĂ©es attributaires + +Dans les deux fonctionnalitĂ©s, on retrouve dans la table atttributaire des couches toutes les informations du tableur. J'ai seulement ajoutĂ© une colonne `timestamp`, elle est utilisĂ©e pour relier les pointages entre eux et crĂ©er la couche des trajectoires. + +![Screenshot QGIS - Table attributaire des donnĂ©es](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/table_attrib.png){: .img-center loading=lazy } + +!!! info "Signification des prĂ©fixes dans les noms de colonne" + - `30m` = Depuis 30 minutes + - `last_rank` = Depuis le pointage prĂ©cĂ©dent + - `24h` = Depuis 24h + +Peut-ĂȘtre faudrait-il enlever les unitĂ©s dans les donnĂ©es pour avoir des valeurs numĂ©riques ? Dans ce cas, il faudrait peut-ĂȘtre ajouter les unitĂ©s dans les noms des colonnes. C'est une des pistes d'amĂ©lioration. J'aimerais aussi sĂ©parer le nom du skipper et le nom du bateau dans deux colonnes distinctes. Les contributions pour amĂ©liorer ce code sont les bienvenues. + +---- + +## Animer la progression avec le Temporal Control de QGIS + +![logo QGIS](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/qgis.png "logo QGIS"){: .img-thumbnail-left } + +Pour visualiser les donnĂ©es, QGIS est tout indiquĂ© et comme les donnĂ©es ont une dimension temporelles, c'est l'occasion de jouer avec le contrĂŽleur temporel. +Pour ce tutoriel, il faut utiliser la couche `pointages` produite par `trajectoires_pointages.py`. + +### Configurer la couche + +AprĂšs avoir accĂ©dĂ© aux propriĂ©tĂ©s de la couche (clic droit > PropriĂ©tĂ©s), rendez-vous dans l'onglet **Temporel**. Configurez les paramĂštres comme suit : + +![QGIS - Configuration de l'onglet Temporel](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/temporel.png){: .img-center loading=lazy } + +### Afficher la barre d'outils temporelle + +- Clic droit en haut dans les barres d'outils. +- Cochez (si ce n'est pas dĂ©jĂ  fait) **Panneau contrĂŽleur temporel** dans la section **Panneaux**. + +### Configurer la barre d'outils + +- Ajustez la date de dĂ©part au dĂ©but de l'Ă©preuve. +- Indiquez un pas de 4 heures (c'est le delta entre deux pointages). + +![QGIS - Configuration du contrĂŽleur temporel](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/controleur.png){: .img-center loading=lazy } + +### Animation de la couche + +AprĂšs avoir cliquĂ© sur Play, voici le rĂ©sultat que vous devriez obtenir : + +![QGIS - Animation du contrĂŽleur temporel](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/vendee_globe_donnees_sig/qgis-temporal.gif){: .img-center loading=lazy } + + +!!! tip "Expression QGIS pour filtrer le suivi sur un concurent" + + ```sql + "skipper" = 'Maxime Sorel' + ``` + + +## Pour aller plus loin + +Cette premiĂšre Ă©tape n’est qu’un POC (Proof of Concept) le code peut encore ĂȘtre optimisĂ© et je vais continuer de le faire tout au long de la course (en espĂ©rant que le formalisme et les horaires de publication du tableur ne changent pas). Par la suite, plusieurs idĂ©es pourraient ĂȘtre explorĂ©es. Je vais sĂ»rement explorer l'une d'entre elles. + +- **CrĂ©er un plugin QGIS** : Un plugin QGIS pourrait permettre de charger le classement, la derniĂšre position des navires, et leur trajectoire. On pourrait imaginer que le post-traitement du fichier Excel vers des donnĂ©es SIG soit effectuĂ© par l’intĂ©gration continue (CI) et exportĂ© en GeoJSON, et que le plugin charge ces GeoJSON hĂ©bergĂ©s dans le projet GitHub. + +- **Fournir les donnĂ©es via une API** : On pourrait imaginer un projet qui rĂ©cupĂšre automatiquement ces donnĂ©es, les convertit et les structure, puis expose une API qui fournit une position ou une trajectoire en fonction du numĂ©ro d’un concurrent, par exemple. + +- **CrĂ©er une application web cartographique** pour visualiser l'avancĂ©e des bateaux avec plus de possibilitĂ©s que ce que propose l'interface cartographique officielle. J'avais imaginĂ© utiliser [mviewer](https://mviewer.github.io/fr/) pour cela. + +---- + + + +{% include "licenses/beerware.md" %} diff --git a/content/rdp/2012/rdp_2012-02-03.md b/content/rdp/2012/rdp_2012-02-03.md index dd0eb16034..ba73d24b02 100644 --- a/content/rdp/2012/rdp_2012-02-03.md +++ b/content/rdp/2012/rdp_2012-02-03.md @@ -74,7 +74,7 @@ Souvent apĂŽtre de l'HTML 5, il faut reconnaĂźtre que cet outil en flash parait [Safety Maps](http://safety-maps.org/) est un site rĂ©aliƛe par [Do projects](http://doprojects.org/) et qui permet de rĂ©aliser une carte indicant un lieu de rencontre en cas d'un Ă©venement majeur (tremblement de terre, incendie ou autres) et Ă  distribuer Ă  ses proches. La carte, accompagnĂ©e d'un petit texte, est ensuite imprimable et Ă  garder avec soi. Les donnĂ©es cartographiques sont celles d'OpenStreetMap. -![Safety Maps - Introduction](http://www.safety-maps.org/wp-content/uploads/2018/11/introduction-animation.gif "Safety Maps - Animation processus"){: .img-center loading=lazy } +![Safety Maps - Introduction](https://cdn.geotribu.fr/img/articles-blog-rdp/divers/safety-maps_introduction-animation.gif){: .img-center loading=lazy } ### OpenLayers en 3D diff --git a/content/rdp/2013/rdp_2013-09-13.md b/content/rdp/2013/rdp_2013-09-13.md index 2ac64b1b70..34c4b867e0 100644 --- a/content/rdp/2013/rdp_2013-09-13.md +++ b/content/rdp/2013/rdp_2013-09-13.md @@ -44,8 +44,7 @@ Bonne lecture ! [TileMill](http://www.mapbox.com/tilemill/) ne doit plus ĂȘtre un outil inconnu pour vous, on vous en parle de temps en temps! Vous savez cet outil crĂ©Ă© par MapBox et portĂ© par ce slogan: *Make beautiful interactive maps* ! Cette semaine, TileMill revient sur le devant de la scĂšne avec le projet de [Christopher Wesson](http://christopherwesson.azurewebsites.net/contact/). GrĂące Ă  TileMill, il a rĂ©alisĂ© [quelques cartes](http://christopherwesson.azurewebsites.net/2013/08/19/tilemill-more-than-just-a-headline/) vraiment sympas qui illustrent les unes de journaux les plus populaires par pays... Il nous livre sa mĂ©thode. Si sa dĂ©marche a rĂ©veillĂ© en vous des idĂ©es et que vous souhaitez dĂ©sormais dompter l'outil, la rĂ©fĂ©rence reste la [documentation officielle](http://www.mapbox.com/tilemill/docs/crashcourse/introduction/) du projet. Nous vous invitons aussi Ă  profiter d'une [petite dĂ©mo](http://norbertrenner.de/osm/mapsplit-map/) qui montre le passage aux tuiles vectorielles dans TileMill version 2 (cela permet de styler dans le navigateur plutĂŽt qu'avoir des images statiques). -[![Exemple TileMill](https://cdn.geotribu.fr/img/articles-blog-rdp/capture-ecran/tile_mill_newspaper.png "Exemple TileMill"){: .img-center loading=lazy } -](http://christopherwesson.azurewebsites.net/2013/08/19/tilemill-more-than-just-a-headline/) +![Exemples TileMill](https://cdn.geotribu.fr/img/articles-blog-rdp/capture-ecran/tile_mill_newspaper.png "Exemple TileMill"){: .img-center loading=lazy } ### GĂ©orĂ©fĂ©rencer votre carte trouvĂ©e sur le web ! diff --git a/content/rdp/2016/rdp_2016-02-12.md b/content/rdp/2016/rdp_2016-02-12.md index fbf4456a4c..b4327ce345 100644 --- a/content/rdp/2016/rdp_2016-02-12.md +++ b/content/rdp/2016/rdp_2016-02-12.md @@ -119,10 +119,9 @@ L'Ă©cole comportera 3 jours de travaux pratiques dans l'environnement Gnu/Linux ![icĂŽne globe](https://cdn.geotribu.fr/img/internal/icons-rdp-news/world.png "icĂŽne globe"){: .img-thumbnail-left } L'utilitĂ© du LIDAR n'est plus Ă  dĂ©montrer pour la gestion du risque inondation. Un des effets de bord de l'utilisation de cette technologie est de mettre en Ă©vidence tous les micro-reliefs rĂ©siduels aprĂšs la disparition de bĂątiments ou autres constructions. Du coup, cela en fait un outil trĂšs efficace pour les archĂ©ologues. -[Cet article publiĂ© par le gouvernement britannique](https://www.gov.uk/government/news/lasers-reveal-lost-roman-roads) donne un exemple particuliĂšrement frappant de son utilisation pour retrouver le rĂ©seau de voies romaines autour d'un fort romain.[ -](https://www.gov.uk/government/news/lasers-reveal-lost-roman-roads) +[Cet article publiĂ© par le gouvernement britannique](https://www.gov.uk/government/news/lasers-reveal-lost-roman-roads) donne un exemple particuliĂšrement frappant de son utilisation pour retrouver le rĂ©seau de voies romaines autour d'un fort romain. -*Contribution externe : merci, Michel Wurtz !* +> Contribution externe : merci, Michel Wurtz ! [![LIDAR - Voie Romaine](https://cdn.geotribu.fr/img/articles-blog-rdp/divers/inglewhite-lidar-captions_GOVUK.jpg "LIDAR - Voie Romaine"){: .img-center loading=lazy }](https://www.gov.uk/government/news/lasers-reveal-lost-roman-roads) diff --git a/content/team/florent-fougeres.md b/content/team/florent-fougeres.md index 4964bc26c6..0e8026c356 100644 --- a/content/team/florent-fougeres.md +++ b/content/team/florent-fougeres.md @@ -4,16 +4,16 @@ categories: - contributeur social: - bluesky: - - github: - - gitlab: - - linkedin: - - mail: + - github: "https://github.com/florentfgrs" + - gitlab: "https://gitlab.com/florent_fougeres" + - linkedin: "https://www.linkedin.com/in/florent-foug%C3%A8res-083597b8/" + - mail: "florent.fougeres@gmail.com" - mastodon: - - instance: - - username: + - instance: "mapstodon.space" + - username: "florent001" - openstreetmap: - - osgeo: - - twitter: + - osgeo: "https://www.osgeo.org/member/fougeres/" + - twitter: "https://x.com/florent1foug" - website: --- @@ -23,8 +23,8 @@ social: ![Portrait Florent FougĂšres](https://cdn.geotribu.fr/img/internal/contributeurs/ffou.jpeg "Portrait Florent FougĂšres"){: .img-thumbnail-left } -GĂ©ographe et GĂ©omaticien de formation issu du Master [SIGAT](https://formations.univ-rennes2.fr/fr/formations/master-37/master-mention-geomatique-parcours-systeme-d-information-geographique-et-analyse-des-territoires-sigat-JEOC8L9A.html), j'ai commencĂ© ma carriĂšre professionnelle en tant que GĂ©omaticien dans un bureau d'Ă©tudes sur des projets de fibre optique. DĂ©sormais, je travaille chez [Oslandia](https://oslandia.com/) en tant que dĂ©veloppeur SIG. Je blog ici sur mon temps libre, sans lien avec mon employeur. +GĂ©ographe et GĂ©omaticien de formation issu du Master [SIGAT](https://formations.univ-rennes2.fr/fr/formations/master-37/master-mention-geomatique-parcours-systeme-d-information-geographique-et-analyse-des-territoires-sigat-JEOC8L9A.html), j'ai commencĂ© ma carriĂšre professionnelle en tant que GĂ©omaticien dans un bureau d'Ă©tudes. DĂ©sormais, je travaille chez [Oslandia](https://oslandia.com/) en tant que dĂ©veloppeur SIG. Je blog ici sur mon temps libre, sans lien avec mon employeur. -PassionnĂ© de gĂ©ographie, de sport et d'informatique, j'aime jouer avec les donnĂ©es gĂ©ographiques (open source si possible) pour les traiter et les reprĂ©senter. Je suis actif sur [X](https://twitter.com/florent1foug) et [Linkedin](https://www.linkedin.com/in/florent-foug%C3%A8res-083597b8/). +PassionnĂ© de gĂ©ographie, de sport et d'informatique, j'aime jouer avec les donnĂ©es gĂ©ographiques (open source si possible) pour les traiter et les reprĂ©senter. diff --git a/mkdocs.yml b/mkdocs.yml index 5312f1ade2..774540bef2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -125,7 +125,6 @@ theme: - content.action.view - content.code.annotate - content.code.copy - - content.code.select - content.footnote.tooltips - content.tabs.link - content.tooltips diff --git a/requirements-insiders.txt b/requirements-insiders.txt index 717fa8368f..9adff2b347 100644 --- a/requirements-insiders.txt +++ b/requirements-insiders.txt @@ -1,7 +1,7 @@ # Insiders # -------- -git+https://${GH_TOKEN_MATERIAL_INSIDERS}@github.com/squidfunk/mkdocs-material-insiders.git@9.5.39-insiders-4.53.14#egg=mkdocs-material +git+https://${GH_TOKEN_MATERIAL_INSIDERS}@github.com/squidfunk/mkdocs-material-insiders.git@9.5.43-insiders-4.53.14#egg=mkdocs-material # git+https://${GH_TOKEN_MATERIAL_INSIDERS}@github.com/squidfunk/mkdocs-material-insiders.git # social plugin requirements diff --git a/requirements.txt b/requirements.txt index 2ddfb4b213..a5312fc4a8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,10 +13,10 @@ mkdocs-awesome-pages-plugin>=2.6,<2.10 mkdocs-exclude>=1.0,<1.1 mkdocs-git-authors-plugin<0.10 mkdocs-git-committers-plugin-2>=2.2.3,<2.5 -mkdocs-git-revision-date-localized-plugin>=1,<1.3 +mkdocs-git-revision-date-localized-plugin>=1,<1.4 mkdocs-glightbox>=0.3,<0.5 -mkdocs-macros-plugin>=0.5,<1.3 +mkdocs-macros-plugin>=0.5,<1.4 mkdocs-minify-plugin<0.9 mkdocs-redirects<1.3 -mkdocs-rss-plugin>=1.14,<1.16 +mkdocs-rss-plugin>=1.14,<1.17 termynal>=0.10,<1