Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 75cf1c6b authored by freezed's avatar freezed :mountain:
Browse files

:construction: WIP: create PyConFr version

parent 512a7224
Branches pyconfr
No related tags found
No related merge requests found
Pipeline #11981 passed
<!-- theme: uncover --> <!-- theme: uncover -->
# Histoires d'un sportif perfectionniste sous pression ### Histoires d'un sportif perfectionniste sous pression
_3 avril 2022 - Frédéric Zind - JDLL_ _19 Février 2023 - Frédéric Zind - PyConFr_
![logo JDLL 2022](img/jdll-2022.jpg) ![logo PyConFr2023](img/200-pyconfr-23-large.png)
--- ---
Comment garder le contrôle sur les données que je partage avec des services en ligne? Comment garder le contrôle sur les données que je partage avec des services en ligne?
![python logo](img/python.png) ![git logo](img/git.png) ![GPX logo](img/gpx.png) ![click logo](img/click.png) ![froggit logo](img/froggit-square.png) ![gitlab logo](img/gitlab.png) ![gitlab logo](img/gitlab.png) ![git logo](img/git.png) ![click logo](img/click.png) ![python logo](img/python.png) ![gpx logo](img/gpx.png) ![froggit logo](img/froggit.png)
--- ---
# 👨 Qui suis-je ? # Qui suis-je 🗣️
* 🔧 2000: technicien en mécanique 🐔 🚑️ **soigneur de pool ZFS** @ OVHcloud (2020)
* 🐍 2018: apprenti charmeur de serpent
* 🧰 2019: dev django * 🔧 Ancien mécanicien
* 🚑️ 2020: Soigneur de _pool_ ZFS (sys admin) * 👪 Père de famille
* 🏔 Montagnard (dès que possible)
* 🛠️ Construction et usage des outils
* 🐍 Membre Lyonnais [AFPy](http://afpy.org/)
---
# Services en lignes ?
# 🏔 🚵‍♀️ 🚴 🏃‍♀️ ⛷ 🛼 🚣
--- ---
# ⚠️ Avertissement ⚠️ # 🧑‍🦰
**Carnet d'entraînement**
Projet expérimental en cours de développement > Une préparation dure plusieurs semaines et j'ai besoin d'avoir une vue détaillée sur mon volume d'entraînement.
* …mais je le présente quand même 😜 _- Camille, avant son 1er semi-marathon_
--- ---
# 💡 L'idée # 👪
**Partager des activités avec des proches**
> On est un groupe d'amis, c'est sympa de savoir qui est sortit (où & quand). En plus ça peut donner des idées.
* 🔌 Services en ligne _- Ali, cyclotouriste_
* 🛂 Données personnelles
* 📈 Carnet d'entraînement ---
* 😷 Covid
# 🧑🏼‍
**Suivre mes progrès**
> Savoir si j'ai progressé sur les sections (ou parcours complets) que j'ai déjà parcouru.
_- Alex, pratique le sky-running_
---
# 🧑🏿
**La compétition asynchrone avec le monde entier**
> Pour chaque activités les sections de parcours réalisées par toutes et tous propose un classement
_- Nat, VTT de descente_
---
# 🤔
> Et si je donnais beaucoup plus que ce que mon usage ne nécessite?
>
> Quel est le prix à payer en données personnelle?
_- Vous & moi_
---
💡 ➡️ Enregistrer un déplacement dans le temps et l'espace
--- ---
...@@ -46,14 +92,15 @@ Projet expérimental en cours de développement ...@@ -46,14 +92,15 @@ Projet expérimental en cours de développement
* Géolocalisation et Navigation par un Système de Satellites * Géolocalisation et Navigation par un Système de Satellites
--- ---
# 🌍
GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS 🤔 GPS / Galileo / GLONASS / Beidou / Compass / IRNS / SQZSS
* 🇺🇸 GPS * 🇺🇸 GPS
* 🇪🇺 Galileo
* 🇷🇺 GLONASS * 🇷🇺 GLONASS
* 🇨🇳 Beidou * 🇨🇳 Beidou
* 🇨🇳 Compass * 🇨🇳 Compass
* 🇪🇺 Galileo
* 🇮🇳 IRNS * 🇮🇳 IRNS
* 🇯🇵 SQZSS * 🇯🇵 SQZSS
...@@ -69,16 +116,24 @@ GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS ...@@ -69,16 +116,24 @@ GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS
# 📁 GPX # 📁 GPX
---
📁 GPX
* GPS eXchange Format * GPS eXchange Format
* basé sur XML * basé sur XML
* format ouvert * format ouvert
* _waypoints_, _routes_ et _tracks_ * _waypoints_, _routes_ et _tracks_
* source: www.topografix.com/gpx.asp * source: [topografix.com/gpx.asp](http://www.topografix.com/gpx.asp) :EMOJI-GERMAN-FLAG:
--- ---
# 📁 GPX # 📁 GPX
---
📁 GPX
```xml ```xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="byHand" version="1.1" <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="byHand" version="1.1"
...@@ -97,40 +152,64 @@ GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS ...@@ -97,40 +152,64 @@ GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS
--- ---
# 🛂 Données personnelles *directes* # 🛂 Données personnelles *directes*
* géolocalisés: Où, quand, combien de temps, vitesse, etc.
* santé: fréquence cardiaque, cadence de pédalage ---
* sociale: avec qui?
🛂 Données personnelles *directes*
* _géolocalisés_: Où, quand, combien de temps, vitesse, etc.
* _physiologique_: fréquence cardiaque, cadence de pédalage
* _sociale_: avec qui?
--- ---
# 🛂 Données personnelles *indirectes* # 🛂 Données personnelles *indirectes*
---
🛂 Données personnelles *indirectes*
* heure de connexion (ponctuelle / en direct) * heure de connexion (ponctuelle / en direct)
* habitude d'entraînement/déplacement * habitude d'entraînement/déplacement
* lieu(x) d'habitation(s) * lieux départs réguliers
*
---
# 💡 Et si je construisais un outil?
* 🔌 J'utilise des **services en ligne**
* 🛂 Je me souci des **données personnelles**
* 📈 J'ai besoin d'un **carnet d'entraînement**
* 😷 CoViD: limitation des déplacements
--- ---
✨ Fonctionnalités ✨ Fonctionnalités
* Créer un activité * Créer un activité manuelle
* Avec à l'aide d'un fichier
* Calculer les caractéristiques d'un fichier GPX * Calculer les caractéristiques d'un fichier GPX
* s'en servir pour créer une activité * avoir l'info en local
* s'en servir pour créer une activité manuelle
* _Nettoyer_ une trace GPX, avant de l'envoyer * _Nettoyer_ une trace GPX, avant de l'envoyer
* supprimer début / fin /arrêt(s) * supprimer des sections: début / fin / arrêts
* changer l'heure de départ * changer date/heure de départ
* Traiter des lots de fichier * Traiter des lots de fichiers
--- ---
# Talk is cheap. Show me the code. ### ~~Talk is cheap. Show me the code.~~
# [lab.frogg.it/fcode/geostrapy](https://lab.frogg.it/fcode/geostrapy) [`lab.frogg.it/freezed/geostrapy`](https://lab.frogg.it/freezed/geostrapy)
![froggit logo](img/froggit-long.png) ![froggit logo](img/96-froggit.png)
--- 🔽
![gitea AFPy logo](img/96-git-afpy.png)
---
# 🐍 Les dépendances # 🐍 Les dépendances
...@@ -140,28 +219,29 @@ GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS ...@@ -140,28 +219,29 @@ GPS / GLONASS / Beidou / Compass / Galileo / IRNS / SQZSS
* [`strava-cli`](https://github.com/bwilczynski/strava-cli#readme) : CLI pour l'API Strava * [`strava-cli`](https://github.com/bwilczynski/strava-cli#readme) : CLI pour l'API Strava
* `requests` * `requests`
* `click` * `click`
* pas de tests 😱 * 🙁 pas de tests
--- ---
# 🌳 Organisation du code # 🌳 Organisation du code
❤️ [`PEP-518`](https://peps.python.org/pep-0518/)
``` ```
user@laptop ~/git/geostrapy % tree tree
. .
├── cli
│ ├── api.py
│ ├── commands.py
│ ├── gpx.py
│ └── main.py
├── docs ├── docs
│ └── PITCHME.md │ └── PITCHME.md
├── Makefile ├── Makefile
├── pyproject.toml
├── README.md ├── README.md
├── requirements-dev.txt └── src
├── requirements.txt └── geostrapy
└── setup.cfg ├── api.py
├── commands.py
├── gpx.py
├── __init__.py
└── __main__.py
``` ```
--- ---
...@@ -170,47 +250,47 @@ user@laptop ~/git/geostrapy % tree ...@@ -170,47 +250,47 @@ user@laptop ~/git/geostrapy % tree
--- ---
# 🪝 Les _hook_ `git` # 🔧 [`Makefile`](../Makefile)
```bash ```bash
user@laptop ~/git/geostrapy % cat .git/hooks/pre-commit ❯ make help
make --no-print-directory lint help Print help on Makefile
clean Remove files not tracked in source control
create_git_hook Create pre-commit hook
format Format the code and lint it
open_all Open all projects files
pre_commit Run the pre-commit hook
lint Lint code
``` ```
--- ---
# 🪝 Les _hook_ `git` # 🪝 Les _hook_ `git`
```bash ```bash
user@laptop ~/git/geostrapy % git ci ❯ cat .git/hooks/pre-commit
~/.venvs/geostrapy/bin/black --check --quiet cli/*.py make --no-print-directory --quiet lint
~/.venvs/geostrapy/bin/flake8 --config=setup.cfg
~/.venvs/geostrapy/bin/pydocstyle
~/.venvs/geostrapy/bin/pylint --rcfile=setup.cfg cli/*.py
[pitchme a8eecca] 🚧 WIP: Fix page skip missing
1 file changed, 3 insertions(+)
``` ```
--- ---
# 🔧 `Makefile` # 🪝 Les _hook_ `git`
```bash
❯ make pre_commit
.git/hooks/pre-commit
✅ black
✅ pflake8
✅ pydocstyle
✅ pylint
``` ```
user@laptop ~/git/geostrapy % make help
help Print help on Makefile
open_all Open all projects files
pre_commit Run the pre-commit hook
clean Remove files not tracked in source control
lint Lint code
```
--- ---
# ⁉️ Questions, remarques, réclamations, … # ⁉️ Questions, remarques, réclamations, …
![QRcode](img/qrcode-pro.zind.fr.png) ![QRcode](img/qrcode-fred.zind.fr.png)
http://pro.zind.fr http://fred.zind.fr
--- ---
......
docs/img/200-pyconfr-23-large.png

91 KiB

File moved
docs/img/96-git-afpy.png

3.82 KiB

docs/img/afpylyon-200.png

15.3 KiB

docs/img/froggit-128.png

15.5 KiB

docs/img/froggit-long.png

21.5 KiB

docs/img/jdll-2019.png

20.4 KiB

docs/img/jdll-2022.jpg

22.3 KiB

docs/img/jdll.jpg

11.4 KiB

docs/img/qrcode-fred.zind.fr.png

24 KiB

docs/img/qrcode-pro.zind.fr.png

504 B

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment