From 241cab30885375cc7ffe93250c0fc6e1ec8ca877 Mon Sep 17 00:00:00 2001 From: Lino Galiana Date: Wed, 4 Oct 2023 17:53:29 +0200 Subject: [PATCH] Ergonomie du site web (#421) * website navigation * update * version quarto * Format link * slides --- .github/workflows/netlify-test.yaml | 1 + _quarto.yml | 58 +++++++++- content/annexes/corrections.qmd | 38 +++---- slides/intro/index.qmd | 170 ---------------------------- 4 files changed, 75 insertions(+), 192 deletions(-) delete mode 100644 slides/intro/index.qmd diff --git a/.github/workflows/netlify-test.yaml b/.github/workflows/netlify-test.yaml index 6f2fb1447..09d3d2328 100644 --- a/.github/workflows/netlify-test.yaml +++ b/.github/workflows/netlify-test.yaml @@ -77,6 +77,7 @@ jobs: conda list - name: Convert in ipynb with Quarto run: | + quarto --version git diff --name-only origin/master origin/${GITHUB_HEAD_REF} >> diff python build/tweak_render.py python build/pimp_notebook.py diff --git a/_quarto.yml b/_quarto.yml index d5ac193c2..6180ccec6 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -3,11 +3,62 @@ project: pre-render: utils.py render: - index.qmd - - content/**/*.qmd - - slides/intro/index.qmd + - content/getting-started/index.qmd + - content/getting-started/01_installation.qmd + - content/getting-started/02_DS_environment.qmd + - content/getting-started/03_data_analysis.qmd + - content/getting-started/04_python_practice.qmd + - content/getting-started/05_rappels_types.qmd + - content/getting-started/06_rappels_fonctions.qmd + - content/getting-started/07_rappels_classes.qmd + - content/manipulation/index.qmd + - content/manipulation/01_numpy.qmd + - content/manipulation/02a_pandas_tutorial.qmd + - content/manipulation/02b_pandas_TP.qmd + - content/manipulation/03_geopandas_tutorial.qmd + - content/manipulation/03_geopandas_TP.qmd + - content/manipulation/04a_webscraping_TP.qmd + - content/manipulation/04c_API_TP.qmd + - content/manipulation/04b_regex_TP.qmd + - content/manipulation/07_dask.qmd + - content/manipulation/06a_exo_supp_webscraping.qmd + - content/visualisation/index.qmd + - content/visualisation/matplotlib.qmd + - content/visualisation/maps.qmd + - content/modelisation/index.qmd + - content/modelisation/0_preprocessing.qmd + - content/modelisation/1_modelevaluation.qmd + - content/modelisation/2_SVM.qmd + - content/modelisation/3_regression.qmd + - content/modelisation/4_featureselection.qmd + - content/modelisation/5_clustering.qmd + - content/modelisation/6_pipeline.qmd + - content/NLP/index.qmd + - content/NLP/01_intro.qmd + - content/NLP/02_exoclean.qmd + - content/NLP/03_lda.qmd + - content/NLP/04_word2vec.qmd + - content/NLP/05_exo_supp.qmd + - content/modern-ds/index.qmd + - content/modern-ds/continuous_integration.qmd + - content/modern-ds/dallE.qmd + - content/modern-ds/s3.qmd + - content/modern-ds/elastic_approfondissement.qmd + - content/modern-ds/elastic_intro.qmd + - content/git/index.qmd + - content/git/introgit.qmd + - content/git/exogit.qmd + - content/annexes/evaluation.qmd + - content/annexes/corrections.qmd + - content/annexes/evaluation.qmd + - content/annexes/corrections.qmd + - slides/intro/slides.qmd website: title: "Python pour la data science" + page-navigation: true + back-to-top-navigation: true + reader-mode: true navbar: background: "white" left: @@ -129,7 +180,7 @@ website: contents: - content/annexes/evaluation.qmd - content/annexes/corrections.qmd - - href: slides/intro/index.qmd + - href: slides/intro/slides.qmd text: "Slides de présentation" @@ -150,6 +201,7 @@ format: crossref: chapters: true +format-links: false author: Lino Galiana page-layout: article title-block-banner: "#e9f3fa" diff --git a/content/annexes/corrections.qmd b/content/annexes/corrections.qmd index a19da8858..1e749a6a8 100644 --- a/content/annexes/corrections.qmd +++ b/content/annexes/corrections.qmd @@ -42,7 +42,7 @@ Exercices `pandas`: #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/manipulation/02b_pandas_TP.qmd", correction=True) ``` ::: @@ -54,7 +54,7 @@ Exercices `geopandas`: #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/manipulation/03_geopandas_TP.qmd", correction=True) ``` ::: @@ -66,7 +66,7 @@ Webscraping #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/manipulation/04a_webscraping_TP.qmd", correction=True) ``` ::: @@ -78,7 +78,7 @@ Expressions régulières: #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/manipulation/04b_regex_TP.qmd", correction=True) ``` ::: @@ -88,7 +88,7 @@ print_badges("content/manipulation/04b_regex_TP.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/manipulation/04c_API_TP.qmd", correction=True) ``` ::: @@ -101,7 +101,7 @@ print_badges("content/manipulation/04c_API_TP.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/visualisation/matplotlib.qmd", correction=True) ``` ::: @@ -111,7 +111,7 @@ print_badges("content/visualisation/matplotlib.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/visualisation/maps.qmd", correction=True) ``` ::: @@ -124,7 +124,7 @@ print_badges("content/visualisation/maps.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/0_preprocessing.qmd", correction=True) ``` ::: @@ -134,7 +134,7 @@ print_badges("content/modelisation/0_preprocessing.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/1_modelevaluation.qmd", correction=True) ``` ::: @@ -144,7 +144,7 @@ print_badges("content/modelisation/1_modelevaluation.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/2_SVM.qmd", correction=True) ``` ::: @@ -154,7 +154,7 @@ print_badges("content/modelisation/2_SVM.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/3_regression.qmd", correction=True) ``` ::: @@ -164,7 +164,7 @@ print_badges("content/modelisation/3_regression.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/4_featureselection.qmd", correction=True) ``` ::: @@ -174,7 +174,7 @@ print_badges("content/modelisation/4_featureselection.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/5_clustering.qmd", correction=True) ``` ::: @@ -184,7 +184,7 @@ print_badges("content/modelisation/5_clustering.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/modelisation/6_pipeline.qmd", correction=True) ``` ::: @@ -196,7 +196,7 @@ print_badges("content/modelisation/6_pipeline.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/NLP/01_intro.qmd", correction=True) ``` ::: @@ -206,7 +206,7 @@ print_badges("content/NLP/01_intro.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/NLP/02_exoclean.qmd", correction=True) ``` ::: @@ -216,7 +216,7 @@ print_badges("content/NLP/02_exoclean.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/NLP/03_lda.qmd", correction=True) ``` ::: @@ -226,7 +226,7 @@ print_badges("content/NLP/03_lda.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/NLP/04_word2vec.qmd", correction=True) ``` ::: @@ -237,7 +237,7 @@ print_badges("content/NLP/04_word2vec.qmd", correction=True) #| echo: false #| output: 'asis' #| include: true -#| eval: true +#| eval: false print_badges("content/NLP/05_exo_supp.qmd", correction=True) ``` ::: diff --git a/slides/intro/index.qmd b/slides/intro/index.qmd deleted file mode 100644 index ea4c28cd8..000000000 --- a/slides/intro/index.qmd +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: Python pour la data science -subtitle: | - **[Un cours complet pour découvrir le langage {{< fa brands python >}}]{.orange}** -author: | - [Lino Galiana](https://www.linogaliana.fr/) -institute: | - [Lino Galiana](https://www.linogaliana.fr/) -date: 06-09-2023 -slide-number: true -footer: | - **_Python pour la data science_, ENSAE** -# uncomment for French presentations: -lang: fr-FR -# for blind readers: -slide-tone: true -# for @olevitt: -#chalkboard: # press the B key to toggle chalkboard -# theme: whiteboard -# uncomment to use the multiplex mode: -#multiplex: true -format: - # pick the light mode (onyxia-revealjs) or the dark mode (onyxia-dark-revealjs) - onyxia-revealjs: - #onyxia-dark-revealjs: - output-file: index.html -from: markdown+emoji ---- - -## Présentation {.smaller} - -* [_Data-scientist_ à l'`Insee`](https://www.linogaliana.fr/) - -* Coordinateur d'un réseau des _data-scientists_ dans l'administration: - + Site web: [https://ssphub.netlify.app/](https://ssphub.netlify.app/) ; - -. . . - -* Expérience traitement _big-data_ et `NLP`: - + Cours _opinionated_ ; - + Des conseils et des recommandations issues de l'expérience - - -:::{.callout-note} - -* {{< fa envelope >}} [Envoyez-moi un mail](mailto: lino.galiana@insee.fr) : - + pour suivre l'actualité du réseau des _data-scientists_ ; - + si vous êtes intéressés par travailler dans l'administration ; - -::: - -## Objectifs du cours {.smaller} - -* Pouvoir utiliser `Python` {{< fa brands python >}} pour l'[**ensemble du processus de valorisation**]{.orange} des données : - + Récupérer et structurer des données ; - + Manipuler ; - + Visualiser ; - + Modéliser. - -. . . - -* Comprendre comment `Python` {{< fa brands python >}} sert dans une [**démarche de recherche ou de production**]{.orange} ; - -. . . - -* S'initier à la question de la [**reproductibilité** {{< fa brands git-alt >}}]{.orange} (*open-source*, *open-data*...) ; - -. . . - -* Découvrir la [__pratique moderne__]{.orange} de `Python` {{< fa brands python >}} dans le monde de la _data-science_ ; - -. . . - -* Découvrir qu'on peut [__faire des choses sympa__]{.orange} :sparkles: avec `Python` {{< fa brands python >}}. - - -## Organisation du cours - -

- -* Cours dure [__21h__]{.orange} avec des __séances de 3h__ ; - -. . . - -* Apprentissage à partir de TP ; - -. . . - - -* Validation avec un __projet de fin de semestre__ - + Plus de détails dans quelques instants - -. . . - - -## Contenu mis à disposition {.smaller} - - - -* __Points d'entrée principaux__ : - + Site web {{< fa brands firefox >}}: ; - + Dépôt `Github` {{< fa brands github >}} : - -. . . - -* Des __tutoriels et exercices sous format `Jupyter Notebook`__ : - + Possibilité de les tester sur des environnements temporaires d'exécution -Onyxia -Binder -Open In Colab -githubdev - + Possibilité de les visualiser et télécharger au format `Jupyter Notebook` -

-Download -nbviewer - -:::{.callout-warning} - -## Recommandation - -Privilégier le [`SSPCloud` https://datalab.sspcloud.fr](https://datalab.sspcloud.fr/home) - -Onyxia - -::: - -## Examen {.smaller} - -* Projet collaboratif s'appuyant sur `Python` {{< fa brands python >}} -répondant à une [__démarche scientifique et ouverte__]{.orange}: - + Projet __disponible sur `Github`__ {{< fa brands github >}} - + Le projet doit être __documenté__ - -. . . - -* [__Sujet libre__]{.orange} : - + Discutez avec votre chargé de TD pour avoir un avis ; - -. . . - -:::{.callout-important} - -* Exigence de [__reproductibilité__]{.orange} - + Projet utilisant des __sources *open-data*__ ou scrappant des sites publics ; - + Code doit pouvoir être __répliqué__ par chargé TD ; - + [__Pas un projet Kaggle !__]{.orange} - -::: - - - -## Examen {.smaller} - -* __Approfondir__ des aspects du cours: - + [__Trois dimensions__]{.orange} doivent être présentes dans le projet: manipuler, visualiser ou modéliser ; - + Plus ou moins loin selon les projets. - -. . . - -* [__Exemples__]{.orange} de sujets passés : - + Suggestions de trajets pour cyclistes ; - + Création d'un système de réponse automatique aux tweets mentionnant la RATP ; - + Visualiser les performances des athlètes sur des courses niveau amateur ou professionel ; - + Comparer la performance de modèles de gestion de portefeuille ; - -:::{.callout-important} - -**Deadline en décembre 2023**, date précisée ultérieurement - -::: \ No newline at end of file