Code Monkey home page Code Monkey logo

ecoindex_badge's Introduction

Ecoindex Badge

Ce projet a pour but de proposer un badge à intégrer à vos pages web facilement. Ce badge va afficher le score Ecoindex de la page web sur laquelle il est intégré et permettra de rediriger l'utilisateur vers la page de détails du score Ecoindex.

Comment l'intégrer ?

La version la plus simple est de copier-coller le code suivant dans votre page web :

Ecoindex Badge

<div id="ecoindex-badge"></div>
<script src="https://cdn.jsdelivr.net/gh/cnumr/ecoindex_badge@3/assets/js/ecoindex-badge.js" defer></script>

Il existe une variante pour les thèmes sombres :

Ecoindex Badge

<div id="ecoindex-badge" data-theme="dark"></div>
<script src="https://cdn.jsdelivr.net/gh/cnumr/ecoindex_badge@3/assets/js/ecoindex-badge.js" defer></script>

Cette version est optimisée et permet de ne pas surcharger votre page web avec des scripts inutiles. :

  • Badge au format SVG (pas de pixelisation - taille 779 octets)
  • JS servi par un CDN (Cache - taille 569 octets)

Comment ça fonctionne ?

Le script javascript va faire appel au Micro service Back For Front d'Ecoindex pour récupérer l'image SVG correspondante à votre page en se basant sur son url et intégrer le code HTML à la place de la balise <div id="ecoindex-badge"></div>.

Et si je ne veux pas de JS ?

Vous pouvez utiliser la version statique du badge en utilisant le snippet suivant, en modifiant les paramètres {url} et {theme} (light ou dark)) :

<a href="https://bff.ecoindex.fr/redirect/?url={url}" target="_blank">
    <img src="https://bff.ecoindex.fr/badge/?theme={theme}&url={url}" alt="Ecoindex Badge" />
</a>

À propos du cache

Le badge utilise un cache de 7 jours à 2 niveaux:

  • Au niveau serveur
  • Au niveau local

Bon à savoir:

  • On peut forcer le refresh du cache serveur en utilisant le plugin ecoindex. Lorsque l'on clique sur le bouton du plugin pour afficher le détail du résultat, on force une mise à jour du cache serveur.
  • On peut forcer la mise à jour du cache local en rechargeant la page avec ctrl+maj+R

Pour contribuer

Vous pouvez contribuer à ce projet en proposant des améliorations ou en signalant des bugs. Pour cela, vous pouvez utiliser les fonctionnalités de GitHub. Retrouvez plus d'infos sur la page Contribuer.

Disclaimer

Les valeurs d'ACV utilisées par ecoindex_cli pour évaluer les impacts environnementaux ne sont pas sous licence libre - ©Frédéric Bordage Veuillez également vous référer aux mentions fournies dans les fichiers de code pour les spécificités du régime IP.

ecoindex_badge's People

Contributors

dependabot[bot] avatar doydoy44 avatar github-actions[bot] avatar hrenaud avatar louislecouturier avatar vvatelot avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

ecoindex_badge's Issues

Petits retours

Plus d'explications quand la page n'a pas été testée

Quand la page n'a pas été testée, le badge affiche un ?, ce serait bien d'expliquer ce que cela signifie au roll over ou au touch ou même remplacer ce ? par un message explicite.

Refresh

J'ai mon badge sur une page en ?, je lance le test. Quand il est terminé, je refresh ma page, le badge est toujours en ? c'est normal ou c'est un bug dans mon implémentation (https://github.com/NovaGaia/gatsby-plugin-ecoindexbadge-v2)

data-theme

Mon framework css (DaisyUI/Tailwindcss) utilise déjà data-theme, ça entre donc en conflit et mets un background au bouton. Peut-être qu'un data-* moins générique serait meilleur 🤷‍♂️

Donner une width et une height à l'image

Alert PageSpeed Insight

Performances : Les éléments d'image ne possèdent pas de width ni de height explicites

image

Bonnes pratiques : Images diffusées en basse résolution

image

Minify JS

Please just minify /js/ecoindex-badge.js

Obligation d'avoir un trailing slash

Context
Sur un WordPress hébergé par Infomaniak, je n'ai pas la main sur la conf. serveur. La conf. est possible dans WordPress pour forcer l'ajout du trailing slash, mais pas par défaut et pas à la porté de "Madame et monsieur tout le monde".

Le javascript ne détecte pas ce manque, donc envoie domain.td et non pas domain.td/ hors l'API nécessite visiblement ce trailing slash. Il faut homogénéiser et sécuriser les conf sans ce trailing slash

  • Soit ne pas le rendre obligatoire sur l'API
  • Soit agir pour que le javascript le détecte et l'ajoute si besoin.

Use local storage to limit server calls

Each time a user refreshes a page where the logo is embedded with JavaScript, the API is called. This behavior will consume bandwidth and might create performance issues on both sides (website and API).

It should be possible to use local storage to avoid this.

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.