Actualiser README.md
This commit is contained in:
88
README.md
88
README.md
@@ -1,52 +1,57 @@
|
|||||||
|
Voici le texte corrigé (orthographe, grammaire, accents et ponctuation) :
|
||||||
|
|
||||||
Ce repo *RoadTripsGenerator* est un ensemble de scripts (bash et python) permettant générer automatiquement des sites web complets avec cartes interactives à partir de vos photos, vidéos, trace gps et récits de voyages.
|
Ce repo *RoadTripsGenerator* est un ensemble de scripts (bash et python) permettant **de** générer automatiquement des sites web complets avec cartes interactives à partir de vos photos, vidéos, trace GPS et récits de voyages.
|
||||||
|
|
||||||
C'est sans prétention et il faudrait probablement faire des développements bien plus sérieux pour obtenir un logiciel "pousse boutons" agréable à utiliser, mais si cela peut donner des idées...
|
C'est sans prétention et il faudrait probablement faire des développements bien plus sérieux pour obtenir un logiciel "pousse boutons" agréable à utiliser, mais si cela peut donner des idées...
|
||||||
|
|
||||||
Je me suis en effet rendu compte que je passais des heures à faire des montages vidéo de mes road trips pour faire des films que finalement je ne regardais pas moi-meme : trop longs masi pas assez d'infos, pas interactif, etc.
|
Je me suis en effet rendu compte que je passais des heures à faire des montages vidéo de mes road trips pour faire des films que finalement je ne regardais pas moi-**même** : trop longs **mais** pas assez d'infos, pas interactif, etc.
|
||||||
|
|
||||||
Alors je me suis demandé sous quelle forme il faudrait mettre en forme mes road trips, pour pouvoir me les remémorer en famille et les faire partager à d'autres.
|
Alors je me suis demandé sous quelle forme il faudrait mettre en forme mes road trips, pour pouvoir me les remémorer en famille et les faire partager à d'autres.
|
||||||
|
|
||||||
C'est comme celà que ce petit projet a vu le jour.
|
C'est comme **cela** que ce petit projet a vu le jour.
|
||||||
|
|
||||||
## Le principe
|
## Le principe
|
||||||
|
|
||||||
Le principe est très simple : je possède des photos et vidéos avec informations GPS de position et de temps (dans mon cas : photos iphone et films GOPRO), des traces ou parcours GPS quotidiens et un récit écrit en markdown.
|
Le principe est très simple : je possède des photos et vidéos avec informations GPS de position et de temps (dans mon cas : photos iPhone et films GOPRO), des traces ou parcours GPS quotidiens et un récit écrit en Markdown.
|
||||||
|
|
||||||
Les scripts vont alors générer automatiquement un page html avec une carte interactive permetant de visualiser les photos, les vidéos les traces gps du road trip. Voir par exemple mon [road trip de l'été 2025](https://roadtrip.ouaibe.fr/Ete-2025/).
|
Les scripts vont alors générer automatiquement **une** page html avec une carte interactive **permettant** de visualiser les photos, les vidéos **et** les traces GPS du road trip. Voir par exemple mon [road trip de l'été 2025](https://roadtrip.ouaibe.fr/Ete-2025/).
|
||||||
|
|
||||||
Les scripts récupèrent les coordonnées gps des photos, videos et les placent sur une carte avec la trace du parcours, assurant un découpage quotidien pour marquer les étapes et construisent des pages web interactives ou l'on peut, en parallèle, consulter le récit du voyage.
|
Les scripts récupèrent les coordonnées GPS des photos, **vidéos** et les placent sur une carte avec la trace du parcours, assurant un découpage quotidien pour marquer les étapes**,** et construisent des pages web interactives **où** l'on peut, en parallèle, consulter le récit du voyage.
|
||||||
|
|
||||||
Les scripts s'occupent également éventuellement de compresser les films pour alourdir le moins possible le chargement des pages. Actuellement la compression produit su 1080p en 60 images par seconde de haute qualité (10Mbps) pour une exécution locale optimale mais peut être trop lourde pour uen diffusion sur le web. Les vidéos ainsi compressées occupent environ 25% de leur place initiale.
|
Les scripts s'occupent également éventuellement de compresser les films pour alourdir le moins possible le chargement des pages. Actuellement la compression produit **du** 1080p en 60 images par seconde de haute qualité (10Mbps) pour une exécution locale optimale mais peut être trop lourde pour **une** diffusion sur le web. Les vidéos ainsi compressées occupent environ 25% de leur place initiale.
|
||||||
|
|
||||||
Les sites produits étant statiques, une fois générés ils sont facilement transportable par simple copie.
|
Les sites produits étant statiques, une fois générés ils sont facilement **transportables** par simple copie.
|
||||||
|
|
||||||
## Les prérequis
|
## Les prérequis
|
||||||
|
|
||||||
Normalement les scripts doivent fonctionner très facilement sous OSX et Linux, probablement facilement dans un windows powershell ou dans un environnement cygwin, mais je n'ai pas testé.
|
Normalement les scripts doivent fonctionner très facilement sous OSX et Linux, probablement facilement dans un Windows PowerShell ou dans un environnement Cygwin, mais je n'ai pas testé.
|
||||||
|
|
||||||
Il faudra installer toutefois :
|
Il faudra installer toutefois :
|
||||||
|
|
||||||
- obligatoirement :
|
* obligatoirement :
|
||||||
- python3 et ses packages pandas, folium, gpspy, markdown2 et numy
|
* python3 et ses packages pandas, folium, **gpxpy**, markdown2 et **numpy**
|
||||||
- exiftool
|
* exiftool
|
||||||
- optionnellement
|
|
||||||
- ffmpeg (pour la compression des MP4)
|
|
||||||
|
* optionnellement
|
||||||
|
* ffmpeg (pour la compression des MP4)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Préparation des données
|
## Préparation des données
|
||||||
|
|
||||||
Je crée un repertoire pour l'ensemble de mes roadtrips à l'interieur duquel je place le sous-repertoire ```Scripts``` de ce dépôt
|
Je crée un **répertoire** pour l'ensemble de mes roadtrips à l'**intérieur** duquel je place le sous-**répertoire** `Scripts` de ce dépôt.
|
||||||
|
|
||||||
Puis, pour chaque road-trip je crée un sous répertoire , par exemple Ete-2025 , Ete-2024, etc.
|
Puis, pour chaque road-trip je crée un sous-**répertoire**, par exemple Ete-2025, Ete-2024, etc.
|
||||||
|
|
||||||
Dans le sous-repertoire de chaque road-trip, je crée
|
Dans le sous-**répertoire** de chaque road-trip, je crée :
|
||||||
|
|
||||||
- un sous repertoire ```photos``` avec mes photos
|
* un sous-**répertoire** `photos` avec mes photos
|
||||||
- un sous répertoire ```rushs``` avec mes vidéos
|
* un sous-**répertoire** `rushs` avec mes vidéos
|
||||||
- un sous-repertoire ```routes``` avec mes traces gps qutodienes dans des fichiers au format gpx que je nomme AAAA-MM-JJ.gps (par exemple 2025-08_02.gpx)
|
* un sous-**répertoire** `routes` avec mes traces GPS **quotidiennes** dans des fichiers au format gpx que je nomme AAAA-MM-JJ.gpx (par exemple 2025-08_02.gpx)
|
||||||
- un fichier ```voyage.md``` avec le récit du voyage au format markdown
|
* un fichier `voyage.md` avec le récit du voyage au format markdown
|
||||||
|
|
||||||
Sur mon disque, je dois voir une structure qui ressemble à
|
Sur mon disque, je dois voir une structure qui ressemble à :
|
||||||
|
|
||||||
```
|
```
|
||||||
MesVoyages
|
MesVoyages
|
||||||
@@ -58,6 +63,7 @@ MesVoyages
|
|||||||
voyage.md
|
voyage.md
|
||||||
|-Ete-2024
|
|-Ete-2024
|
||||||
...
|
...
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Mode d'emploi
|
## Mode d'emploi
|
||||||
@@ -68,25 +74,29 @@ Une fois les données préparées, tout est simple, mais un site peut être long
|
|||||||
|
|
||||||
Par exemple [https://roadtrip.ouaibe.fr/Ete-2025](https://roadtrip.ouaibe.fr/Ete-2025)
|
Par exemple [https://roadtrip.ouaibe.fr/Ete-2025](https://roadtrip.ouaibe.fr/Ete-2025)
|
||||||
|
|
||||||
On se place dans le repertoire du road-trip que l'on veut générer (celui qui contient les repertoires photos,rushs, etc. et on lance
|
On se place dans le **répertoire** du road-trip que l'on veut générer (celui qui contient les **répertoires** photos, rushs, etc.) et on lance :
|
||||||
|
|
||||||
```
|
```
|
||||||
../Scripts/extraction_infos.sh
|
../Scripts/extraction_infos.sh
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Cela produit deux fichiers : ```export_photos.csv``` et ```export_videos.csv``` qui contiennent les extractions d'infos GPS des photos et videos.
|
Cela produit deux fichiers : `export_photos.csv` et `export_videos.csv` qui contiennent les extractions d'infos GPS des photos et **vidéos**.
|
||||||
|
|
||||||
Vient ensuite la compression optionnelle des videos qui peut être assez longue mais que je conseille vivement, même pour une utilisation locale.
|
Vient ensuite la compression optionnelle des **vidéos** qui peut être assez longue mais que je conseille vivement, même pour une utilisation locale.
|
||||||
|
|
||||||
```
|
```
|
||||||
../Scripts/compress.sh
|
../Scripts/compress.sh
|
||||||
```
|
|
||||||
Les vieos compressées se trouveront alors dans le répertoire ```videos``` au meme niveau que le repertoire ```rushs```
|
|
||||||
|
|
||||||
Si votre choix est de ne pas compresser, alors il faut faire un lien symbolique ```videos``` sur le sous repertoire ```rushs```
|
```
|
||||||
|
|
||||||
|
Les **vidéos** compressées se trouveront alors dans le répertoire `videos` au **même** niveau que le **répertoire** `rushs`.
|
||||||
|
|
||||||
|
Si votre choix est de ne pas compresser, alors il faut faire un lien symbolique `videos` sur le sous-**répertoire** `rushs` :
|
||||||
|
|
||||||
```
|
```
|
||||||
ln -s rushs videos
|
ln -s rushs videos
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Vient alors la génération de la carte :
|
Vient alors la génération de la carte :
|
||||||
@@ -94,26 +104,30 @@ Vient alors la génération de la carte :
|
|||||||
```
|
```
|
||||||
../Scripts/genere_carte.py
|
../Scripts/genere_carte.py
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
### Generer un index de road-trips
|
|
||||||
|
### **Générer** un index de road-trips
|
||||||
|
|
||||||
Par exemple [https://roadtrip.ouaibe.fr](https://roadtrip.ouaibe.fr)
|
Par exemple [https://roadtrip.ouaibe.fr](https://roadtrip.ouaibe.fr)
|
||||||
|
|
||||||
On se place dans le repertoire dont les sous-repertoires sont les road-trips et on lance
|
On se place dans le **répertoire** dont les sous-**répertoires** sont les road-trips et on lance :
|
||||||
|
|
||||||
```
|
```
|
||||||
./Scripts/genere_index_general.py
|
./Scripts/genere_index_general.py
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### tout automatique
|
### Tout automatique
|
||||||
|
|
||||||
En fait si on a bien respecté l'arborescence des repertoires, on peut automatiser la generation de tous les road-trips présents en lançant
|
En fait si on a bien respecté l'arborescence des **répertoires**, on peut automatiser la **génération** de tous les road-trips présents en lançant :
|
||||||
|
|
||||||
```
|
```
|
||||||
./Scripts/genere_site.sh
|
./Scripts/genere_site.sh
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Il conviendra de désactiver dans le script le lancement du script "compress.sh" si on ne désire pas compresser (attention par contre à bien mettre un lien dynamique sur les répertoires ```rushs```, comme expliqué plus haut.
|
Il conviendra de désactiver dans le script le lancement du script "compress.sh" si on ne désire pas compresser (attention par contre à bien mettre un lien dynamique sur les répertoires `rushs`, comme expliqué plus haut).
|
||||||
|
|
||||||
|
|
||||||
## Contribuer :
|
## Contribuer :
|
||||||
|
|
||||||
@@ -121,13 +135,13 @@ Il conviendra de désactiver dans le script le lancement du script "compress.sh"
|
|||||||
|
|
||||||
```
|
```
|
||||||
git remote set-url origin https://<nom d'utilisateur>n@git.ouaibe.fr/Korrigan/RoadTripsGenerator.git
|
git remote set-url origin https://<nom d'utilisateur>n@git.ouaibe.fr/Korrigan/RoadTripsGenerator.git
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Pour eviter de re-taper le mot de passe pendant une heure pour les
|
Pour **éviter** de re-taper le mot de passe pendant une heure pour les
|
||||||
autres push :
|
autres push :
|
||||||
|
|
||||||
```
|
```
|
||||||
git config --global credential.helper 'cache --timeout=3600'
|
git config --global credential.helper 'cache --timeout=3600'
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user