Giter VIP home page Giter VIP logo

nosgestesclimat-site's Introduction

Le site Web nosgestesclimat.fr

C'est quoi ?

Un simulateur d'empreinte climat individuelle de consommation à l'année, utilisant le modèle nosgestesclimat.

Pour contribuer au modèle, données sous-jacentes et textes du questionnaire (calculs, facteurs d'émission, textes, questions, réponses, suggestions de saisie), suivez le guide de contribution.

Pour tout ce qui touche à l'interface (style d'un bouton, graphique de résultat, code javascript, etc.) c'est ici sur le dépôt du site.

🇬🇧 Most of the documentation (including issues and the wiki) is written in french, please raise an issue if you are interested and do not speak French.

Et techniquement ?

C'est un fork d'un outil de vulgarisation de l'empreinte climat futur.eco, lui-même forké d'un simulateur public de cotisations sociales mon-entreprise.fr, qui permet de coder en français des règles de calculs, dans le langage publi.codes. De ces règles de calcul, des simulateurs (pour l'utilisateur lambda) et des pages de documentation qui expliquent le calcul (pour l'expert ou le curieux) sont générés automatiquement.

Le code est en Javascript / Typescript / React / styled-components / Webpack, Yjs, entre autres.

🇬🇧 Installation

The footprint model is stored in the git submodule nosgestesclimat/ pointing to the corresponding GitHub repository.

Consequently, to fetch all the data you need to provide the --recursive flag when cloning this repository or if it's already cloned you need to run git submodule update --init --recursive.

The model YAML files will then be loaded locally (no installation needed, they are loaded by webpack), and your changes to these files will refresh the UI instantly.

The production version fetches the JSON compiled YAML rules deployed by datagir/nosgestesclimat.

Then run this command from this repo:

yarn && yarn start

Note: recompiling the model in all supported regions and languages could significantly slow down your dev process. Therefore, instead of running yarn start you can run webpack in dev mode with yarn serve and watch the compilation of the model in a specified language and region with yarn model:rules-watch -t fr -o FR.

If you want to run the automatic localisation, which depends on a Netlify Edge function, you must run netlify dev.

🇬🇧 Tests

You can run e2e tests (Cypress) by first starting a local server with yarn run serve, then, run cypress tests with yarn run test (or yarn run e2e to open the Cypress GUI) -- it will generate personas spec files.

Réutilisations de ce code

Attention, même si la licence MIT vous permet de réutiliser ce code à votre guise, en citant clairement le fait que vous reprenez nos travaux, vous ne pouvez pas réutiliser la marque Nos Gestes Climat. Veuillez lire notre guide de personnalisation

nosgestesclimat-site's People

Contributors

benjamin-boisserie-abc avatar bjlaa avatar clemog avatar dependabot[bot] avatar dxb avatar emilerolley avatar etiennecharignon avatar florianpanchout avatar fm89 avatar fmata avatar hfroot avatar jdesboeufs avatar johangirod avatar juliepouliquen avatar laem avatar lajarre avatar lbranaa avatar legau avatar loicguillois avatar marc-pasteur avatar marcelovicentegc avatar martinregner avatar morendil avatar mpasteur avatar mquandalle avatar omahs avatar pinage404 avatar ronnix avatar sacramentix avatar web-flow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nosgestesclimat-site's Issues

Signaler qu'une catégorie a été remplie dans le graphique

Une coche à droite de la barre quand les questions ont été (vite) répondues.

A lier aux respirations entre chaque catégorie.

Pour certaines, on pourrait donner des infos intermédiaires, par exemple un DPE CO2e violet après la section logement.

Servir ce simulateur en iframe

J'ai supprimé quelques lignes, il s'agit a priori simplement de les ajouter, notamment dans Webpack, comme dans betagouv/ecolab-transport

Store data in local storage

Hi,

found the project really fun, and interesting to see what's the order of magnitude between two things (like transport vs food).

But when you come back to the form to check what you can do to help, what's YOUR easiest way to do impactful things,
you have to do the form again and again....

It would be really cool to save the state of the form in local storage so that we can iterate on it, and reload it if there's a revisit....

Would you be open to something like that?

Message d'accueil : carbone ou climat ?

Je remplacerai "empreinte climat personnel" par "empreinte carbone individuelle" étant donné que la question en haut pose déjà la question "Connais-tu ton empreinte sur le climat ?"

A discuter !

Pauses entre chaque catégories

Tenter de faire des respirations entre les jeux de questions.

Une petite animation avec l'icône de la catégorie, mise en dans une boîte par exemple, ou imprimé sur un ballon de baudruche avec le total de la catégorie, et une coche ✔️ , puis un bouton "Suivant" pour lancer l'autre catégorie.

Suggestions cumulatives

Pour les distances de train par exemple, on pourrait suggérer des trajets qui s'additionnent au clic (elles resteraient alors surlignées).

Voir quelle syntaxe adopter pour différencier les 2 types de suggestion.

Attendre d'utiliser la bib NPM publicodes si les suggestions ont été améliorées sur github.com/betagouv/mon-entreprise

⚪ Page blanche Firefox ubuntu

SW registration failed: TypeError: "ServiceWorker script at https://ecolab.ademe.fr/sw.js for scope https://ecolab.ademe.fr/ encountered an error during installation." publicodes.js:88:52487

Après le clic sur le test :

[ Erreur de type ]
➡️ Dans la règle bilan,
✖️ 'services publics' a une unité incompatible avec celle du mécanisme somme
Impossible de convertir l'unité 'kgCO2e' en 'kgCO2e / personnes' Unexpected value 4rem parsing width attribute. react-dom.production.min.js:28:234

Rubrique : "Modifier mes réponses"

Quand on click sur "Modifier mes réponses" il est difficile de savoir quelles variables correspondent à quelles questions.

Ex : il y a deux fois "heures par semaine"

Envisager d'expliciter un peu plus les variables
"km" --> "km parcourus en voiture"
"Age" --> "age du véhicule"
"heures par semaine" --> "heures passées en tram/métro par semaine"
"heures par semaine" --> "heures passées en bus par semaine"
Etc.

Trouble to install: Failed to compile

hey guy nice project,

i was trying to install it to poke arround ,
but once i yarn then yarn start i had a strange error message

yarn run v1.22.4
$ node source/server.js
Mon-entreprise listening on port 8080!

webpack built df3b05456673fbab269b in 12573ms
✖ 「wdm」: Hash: df3b05456673fbab269b
Version: webpack 4.43.0
Time: 12573ms
Built at: 08/07/2020 3:03:53 PM
                          Asset       Size      Chunks                         Chunk Names
                           0.js   7.44 MiB           0  [emitted]
 04f2ed26bba04e6bab6f.worker.js    175 KiB              [emitted] [immutable]
                           1.js   2.37 MiB           1  [emitted]
                           2.js   16.4 KiB           2  [emitted]
 246e698500c667c13075.worker.js   1.17 MiB              [emitted] [immutable]
                           3.js    7.9 KiB           3  [emitted]
                           4.js   4.99 KiB           4  [emitted]
                           5.js   7.54 KiB           5  [emitted]
 c6706be04388e81097b0.worker.js    175 KiB              [emitted] [immutable]
               editor.worker.js    387 KiB              [emitted]
 ee23f8f3d06b82395b4c.worker.js    175 KiB              [emitted] [immutable]
              images/URSSAF.png   21.3 KiB              [emitted]
              images/URSSAF.svg   7.55 KiB              [emitted]
                images/agff.png   14.3 KiB              [emitted]
               images/agirc.png   17.4 KiB              [emitted]
           images/ballonGES.svg   4.44 KiB              [emitted]
                images/cnav.png   11.3 KiB              [emitted]
images/ecolab-climat-dessin.svg     91 KiB              [emitted]
   images/horizontal-scroll.png   24.8 KiB              [emitted]
      images/map-directions.png   16.6 KiB              [emitted]
             images/salarié.png     22 KiB              [emitted]
           manifest.webmanifest  319 bytes              [emitted]
                publicodes.html   3.88 KiB              [emitted]
                  publicodes.js   4.84 MiB  publicodes  [emitted]              publicodes
                    sitemap.txt   11.8 KiB              [emitted]
Entrypoint publicodes = publicodes.js
[0] multi ./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/ReactRefreshEntry.js webpack-hot-middleware/client ./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/ErrorOverlayEntry.js ./source/sites/publicodes/entry.js 64 bytes {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/index.js] 8.73 KiB {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/ErrorOverlayEntry.js] 2.42 KiB {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/ReactRefreshEntry.js] 1.47 KiB {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/errorEventHandlers.js] 2.91 KiB {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/formatWebpackErrors.js] 2.75 KiB {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/refreshUtils.js] 7.31 KiB {publicodes} [built]
[./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/sockets/WDSSocket.js] 1.11 KiB {publicodes} [built]
[./node_modules/core-js/modules/es.array-buffer.constructor.js] 563 bytes {publicodes} [built]
[./node_modules/core-js/modules/es.array-buffer.slice.js] 1.47 KiB {publicodes} [built]
[./node_modules/core-js/modules/es.array.flat-map.js] 803 bytes {publicodes} [built]
[./node_modules/core-js/modules/es.array.flat.js] 802 bytes {publicodes} [built]
[./node_modules/core-js/modules/es.array.index-of.js] 973 bytes {publicodes} [built]
[./node_modules/webpack-hot-middleware/client.js] (webpack)-hot-middleware/client.js 7.68 KiB {publicodes} [built]
[./source/sites/publicodes/entry.js] 3.7 KiB {publicodes} [built]
    + 2002 hidden modules

ERROR in ./source/RulesProvider.js
Module not found: Error: Can't resolve '../../ecolab-data/data/' in '/Users/b.maron/code/external/ecolab-climat/source'
 @ ./source/RulesProvider.js 29:16-77
 @ ./source/Provider.tsx
 @ ./source/sites/publicodes/App.js
 @ ./source/sites/publicodes/entry.js
 @ multi ./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/ReactRefreshEntry.js webpack-hot-middleware/client ./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/ErrorOverlayEntry.js ./source/sites/publicodes/entry.js
Child HtmlWebpackCompiler:
                          Asset      Size               Chunks  Chunk Names
    __child-HtmlWebpackPlugin_0  10.3 KiB  HtmlWebpackPlugin_0  HtmlWebpackPlugin_0
    Entrypoint HtmlWebpackPlugin_0 = __child-HtmlWebpackPlugin_0
    [./node_modules/html-webpack-plugin/lib/loader.js!./index.html] 5.48 KiB {HtmlWebpackPlugin_0} [built]
Child vs/editor/editor:
               Asset     Size  Chunks             Chunk Names
    editor.worker.js  387 KiB    main  [emitted]  main
    Entrypoint main = editor.worker.js
    [./node_modules/monaco-editor/esm/vs/base/common/arrays.js] 6.91 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js] 44.2 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/errors.js] 2.88 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/iterator.js] 5.36 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js] 1.82 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/platform.js] 2.97 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/types.js] 4.43 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/uri.js] 21.2 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js] 11.9 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/editor/common/core/position.js] 4.39 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/editor/common/core/range.js] 12.6 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/editor/common/diff/diffComputer.js] 20.3 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js] 5.03 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js] 22.1 KiB {main} [built]
    [./node_modules/monaco-editor/esm/vs/editor/editor.worker.js] 1.06 KiB {main} [built]
        + 22 hidden modules
Child worker:
                             Asset     Size  Chunks                         Chunk Names
    04f2ed26bba04e6bab6f.worker.js  175 KiB    main  [emitted] [immutable]  main
    Entrypoint main = 04f2ed26bba04e6bab6f.worker.js
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/CompileErrorTrace.js] 1.45 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorFooter.js] 2.53 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorHeader.js] 1.06 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/CompileErrorContainer.js] 766 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/RuntimeErrorContainer.js] 821 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/index.js] 8.73 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/theme.js] 734 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/utils/removeAllChildren.js] 503 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/refreshUtils.js] 7.31 KiB {main} [built]
    [./node_modules/babel-loader/lib/index.js?!./source/components/conversation/select/SelectTauxRisque.worker.js] ./node_modules/babel-loader/lib??ref--4!./source/components/conversation/select/SelectTauxRisque.worker.js 939 bytes {main} [built]
    [./node_modules/fuse.js/dist/fuse.js] 11.9 KiB {main} [built]
    [./node_modules/lodash.debounce/index.js] 10.5 KiB {main} [built]
    [./node_modules/react-refresh/cjs/react-refresh-runtime.development.js] 20.5 KiB {main} [built]
    [./node_modules/react-refresh/runtime.js] 222 bytes {main} [built]
    [./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
        + 12 hidden modules
Child worker:
                             Asset      Size  Chunks                         Chunk Names
    246e698500c667c13075.worker.js  1.17 MiB    main  [emitted] [immutable]  main
    Entrypoint main = 246e698500c667c13075.worker.js
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorFooter.js] 2.53 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorHeader.js] 1.06 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/CompileErrorContainer.js] 766 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/RuntimeErrorContainer.js] 821 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/index.js] 8.73 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/theme.js] 734 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/utils/removeAllChildren.js] 503 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/refreshUtils.js] 7.31 KiB {main} [built]
    [./node_modules/babel-loader/lib/index.js?!./source/components/conversation/select/SearchAirports.js] ./node_modules/babel-loader/lib??ref--4!./source/components/conversation/select/SearchAirports.js 978 bytes {main} [built]
    [./node_modules/fuse.js/dist/fuse.js] 11.9 KiB {main} [built]
    [./node_modules/lodash.debounce/index.js] 10.5 KiB {main} [built]
    [./node_modules/react-refresh/cjs/react-refresh-runtime.development.js] 20.5 KiB {main} [built]
    [./node_modules/react-refresh/runtime.js] 222 bytes {main} [built]
    [./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
    [./source/components/conversation/select/airports.csv] 905 KiB {main} [built]
        + 13 hidden modules
Child worker:
                             Asset     Size  Chunks                         Chunk Names
    c6706be04388e81097b0.worker.js  175 KiB    main  [emitted] [immutable]  main
    Entrypoint main = c6706be04388e81097b0.worker.js
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/CompileErrorTrace.js] 1.45 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorFooter.js] 2.53 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorHeader.js] 1.06 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/CompileErrorContainer.js] 766 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/RuntimeErrorContainer.js] 821 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/index.js] 8.73 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/theme.js] 734 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/utils/removeAllChildren.js] 503 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/refreshUtils.js] 7.31 KiB {main} [built]
    [./node_modules/babel-loader/lib/index.js?!./source/components/SearchBar.worker.js] ./node_modules/babel-loader/lib??ref--4!./source/components/SearchBar.worker.js 1.04 KiB {main} [built]
    [./node_modules/fuse.js/dist/fuse.js] 11.9 KiB {main} [built]
    [./node_modules/lodash.debounce/index.js] 10.5 KiB {main} [built]
    [./node_modules/react-refresh/cjs/react-refresh-runtime.development.js] 20.5 KiB {main} [built]
    [./node_modules/react-refresh/runtime.js] 222 bytes {main} [built]
    [./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
        + 12 hidden modules
Child worker:
                             Asset     Size  Chunks                         Chunk Names
    ee23f8f3d06b82395b4c.worker.js  175 KiB    main  [emitted] [immutable]  main
    Entrypoint main = ee23f8f3d06b82395b4c.worker.js
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/CompileErrorTrace.js] 1.45 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorFooter.js] 2.53 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/components/RuntimeErrorHeader.js] 1.06 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/CompileErrorContainer.js] 766 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/containers/RuntimeErrorContainer.js] 821 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/index.js] 8.73 KiB {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/theme.js] 734 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/overlay/utils/removeAllChildren.js] 503 bytes {main} [built]
    [./node_modules/@pmmmwh/react-refresh-webpack-plugin/src/runtime/refreshUtils.js] 7.31 KiB {main} [built]
    [./node_modules/babel-loader/lib/index.js?!./source/sites/publicodes/Suggestions.worker.js] ./node_modules/babel-loader/lib??ref--4!./source/sites/publicodes/Suggestions.worker.js 1.03 KiB {main} [built]
    [./node_modules/fuse.js/dist/fuse.js] 11.9 KiB {main} [built]
    [./node_modules/lodash.debounce/index.js] 10.5 KiB {main} [built]
    [./node_modules/react-refresh/cjs/react-refresh-runtime.development.js] 20.5 KiB {main} [built]
    [./node_modules/react-refresh/runtime.js] 222 bytes {main} [built]
    [./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
        + 12 hidden modules
ℹ 「wdm」: Failed to compile.

any idea where this could come from?

thanks

En fonction de la réponse à une question, affichée l'influence sur la consommation liée

Dans le tableau Excel d'Avenir Climatique, je trouve intéressant de poser son chiffre et voir tout de suite l'équivalent en CO2e quand on entre dans la précision.

Par exemple, quand on répond oui ou non à la question "lait végétal plutôt que lait de vache", la différence pourtant bien réelle est noyée dans l'empreinte totale arrondie en tonnes sans décimales.

Mieux introduire les explications des calculs sur les pages de documentation

La partie “Calcul” et “Somme” fait un peu trop “langage interne” et mériterait d'être pensé autrement dans le parcours utilisateur. On pourrait par exemple, mettre un titre comme : “Que contient le poste “alimentation” ?” ou “Allons dans le détail de l’alimentation”.

On retrouve aussi parfois les mêmes pages dans les liens internes des parties “calcul” et “page associée”, ce qui n'est pas forcement pertinent.

[UX] afficher/revenir aux valeurs par défaut

Quand on entre une donnée dans un champ, cela modifie immédiatement le calcul (en + ou en -) et donc l'affichage dans le graphique. C'est (un peu) surprenant car on ne sait/voit pas de quelle valeur on est parti.

Si on supprime la donnée dans le champ, on ne revient pas à cette valeur par défaut - le simulateur prend la valeur 0.

L'affichage de cette valeur par défaut (=valeur moyenne je suppose) permettrait de se comparer à cette base et/ou de faciliter des simulations.

Priorité 📱 mobile

  • ne pas perdre de place avec le logo en haut sur mobile <--- à étudier quand on n'aura plus le bandeau beta
  • la question suivante ne passe pas sur mobile "Quel est votre épargne dans les actifs classiques ?" a cause des suggestions.

Étendre à d'autres pays 🇨🇫

Reposer sur une asso / agence locale à un autre pays, qui connaît les différences.
Via Tomorrow, on peut avoir des contacts Danois. Via les Shifters, j'ai des contacts Belges 🙂

Données personnelles

  • mettre un petit texte du style "rassurez-vous, vos données restent dans votre navigateur"
  • une page vie privée pour dire ce qu'on fait avec Matomo, permettre le non suivi

Ecran service public

Ajouter un écran "Services publics" sans question pour dire en 2 mots d'où vient le 1,3t qui nous est ajouté automatiquement

Partage d'une image du résultat de simulation

Générer une image récap de la simulation en base64 à partager.

Utiliser la fonctionnalité de partage natif sur mobile, qui d'ailleurs sur Chrome permet de partager URL + image.

Pas de base de donnée pour stocker une URL de simulation pour l'instant.

Bandeau "version beta"

Il y a actuellement un bandeau "demo", on peut le faire évoluer vers un bandeau beta qui inclut un lien pour faire des retours.

Potentiellement faire un bot qui écrit des issues, c'est assez peu de boulot avec les fonctions netlify.

Conversion kwh / euros

Erreur sur la conversion kwh / euros pour la consommation annuelle d'électricité :

  • Une consommation de 437 € par an donne 34 400 kwh dans le simulateur. Or,sur ma facture j'ai 2307 kwh pour ce montant annuel.
  • Le problème c'est que la question c'est la consommation annuelle d'électricité, et que le champ en euros c'est "Pas de facture ? Entrez vos dépenses approximatives", donc on suppose que c'est par an aussi, alors que le calcul est fait sur une facture mensuelle (c'est multiplié par 12).
  • Solution : préciser "Pas de facture ? Entrez vos dépenses approximatives par mois (ou par an, à voir"

Page à-propos

Qui explique notamment que les calcul sont ouverts, qu'on peut les lire directement sur le site et les modifier via github

Message de fin de simulation

Il est triste là.

Une belle animation "félicitations, connaître son empreinte c'est déjà un début de solution".
Comparer à la moyenne nationale.
Déterminer des profils, avec une couleur du vert au rouge par exemple.
Un texte du style "Bientôt, des actions personnalisées pour réduire votre empreinte".

Faire un lien vers les fiches quand elles seront en ligne. #13

retour arrière

laisser la possibilité de retour arrière lors du changement de thème

Naviguation dans "compréhension du calcul"

Une fois cliqué sur "compréhension du calcul" puis sur une rubrique "Logement", "Numérique", etc. on ne peut plus revenir aux choix des sous rubriques

Ex : je clique sur "Numérique" je peux naviguer à l'intérieure de cette rubrique mais je ne peux pas "remonter" d'un cran et aller dans la partie "logement"

Page blanche après une série de réponses

J'ai répondu aux questions sur le transport, le logement, et l'alimentation puis je suis tombé sur une page blanche avec l'erreur suivante dans la console :

TypeError: "First argument must be an array or non-empty string"
    exports string-replace-to-array.js:96
    exports replaceEmoji.js:64
    exports index.js:6
    Jp CategoryRespiration.js:39
    React 6
    unstable_runWithPriority scheduler.production.min.js:19
    React 5

avec le log suivant juste avant

(7) […]
0: Object { couleur: "#b71540", "icônes": "🚗", dottedName: "transport", … }
1: Object { couleur: "#04a4ac", "icônes": "🏘", dottedName: "logement", … }
2: Object { couleur: "#e58e26", "icônes": "🍽", dottedName: "alimentation", … }
3: Object { couleur: "#0c2461", "icônes": "🏛️", description: "\nCe service est égal pour tout le monde. Il prend en compte l'ensemble des émissions de CO2 qui résultent de l'ensemble des services publics (santé, routes, éducation, justice, défense…)\n", … }
4: Object { couleur: "#0984e3", dottedName: "biens divers", name: "biens divers", … }
5: Object { couleur: "#5b9741", "icônes": "💸", description: "Il faut estimer ici la valeur de vos actifs financiers (divisez par 2 si vous êtes en couple avec communauté réduite aux acquets).\n\nL'empreinte carbone est différente entre les placements classiques et les placements responsables. Lorsque votre épargne \"\"travaille\"\", votre banque investit dans des projets qui peuvent plus ou moins avoir d'impact carbone en fonction de votre banque.\n", … }
6: Object { couleur: "#B53471", "icônes": "📺", dottedName: "numérique", … }
​
length: 7

Améliorer l'illustration de la page d'accueil

  • ajouter une voiture et un train
  • mettre un vache
  • améliorer le champs à gauche, il est moche
  • animer quelques éléments, en SVG ça doit être facile mais il faut qu'Inkscape exporte un truc lisible

Partir de zéro au lieu de valeurs moyennes

Je trouve bizarre que dès le début les 9t de CO2 (12t quand tout sera implémenté) soient affichées qui plus est avec le message "total provisoire annuel"

De plus, au fur et à mesure de l'évaluation de son empreinte carbone ce total peut diminuer ce qui selon moi peut prêter à confusion. Cela peut induire le type de réflexion "ce mode de vie/comportement fait baisser mon empreinte carbone", réflexion en partie vraie mais qui devrait être "ce mode de vie/comportement contribue à moins augmenter mon empreinte carbone"

--> Je propose donc que le compteur parte de 0t de CO2 pour grossir progressivement au fur et à mesure que l'on répond aux questions

Rassurer sur la vie privée en cas de partage du résultat

Hello, j’ai testé le simulateur suite au tweets de @laem.

À la fin, il est proposé de partager les résultats via un lien, par exemple https://ecolab.ademe.fr/apps/climat/fin?total=4463&details=a1.45s1.28l0.83t0.67b0.13n0.07f0.03. Je me suis posé la question de l’étendue du partage : est-ce que ça partage tous les résultats (montant de l’épargne, régime alimentaire, etc) ou juste les résultats ?

Après analyse de l’URL et après l’avoir mise dans une fenêtre privée, je comprend que seul le résultat global et son découpage en grandes catégories est partagé. Mais il serait souhaitable de mettre une petite phrase pour informer et rassurer les utilisateurs moins techniques.

Bouton "Passer" -> "Je ne sais pas" ?

L'action avec "Passer" garde la valeur par défaut ; pour certaines questions on a l'impression que "passer" peut se faire quand on n'est pas concerné (ex. je ne suis pas chauffé au fioul, je ne prends pas le bus)

Je propose plutôt "Je ne sais pas" qui indique mieux que si tu mets rien on décide pour toi 😃

Comparer les résultats à la distribution des français

La moyenne peut être trompeuse.

Étudier cette étude de l'OFCE : https://www.agefi.fr/sites/agefi.fr/files/fichiers/2020/01/taxe_aux_frontieres_ofce_paul_maliet.pdf
Autres :
image

https://www-cdn.oxfam.org/s3fs-public/file_attachments/mb-extreme-carbon-inequality-021215-fr.pdf

un article rapide qui mentionne l’étude de Piketty & Chancel (pour ceux qui tombent sur ce thread)
https://www.liberation.fr/checknews/2019/11/06/est-il-vrai-qu-en-france-les-10-les-plus-riches-emettent-huit-fois-plus-de-co2-que-les-10-les-plus-p_1761604

image

Merci les bénévoles du Shift pour ces sources :)

Originally posted by @laem in #4 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.