
Creedengo est un projet collectif visant à réduire l'empreinte environnementale des logiciels au niveau du code. L'objectif du projet est de fournir une liste d'analyseurs de code statiques pour mettre en évidence les structures de code qui peuvent avoir un impact écologique négatif: énergie et sur-consommation des ressources, «graisse», raccourcissement de la durée de vie des terminaux, etc.
Creedengo est basé sur l'évolution des catalogues de bonnes pratiques, pour diverses technologies. Un plugin Sonarqube implémente ensuite ces catalogues comme des règles pour scanner vos projets.
AVERTISSEMENT : Il s'agit encore d'un projet très précoce. Toute rétroaction ou contribution sera très appréciée. Veuillez vous référer à la section Contribution.
7 Les technologies sont soutenues par Creedengo en ce moment:


Il existe deux types de plugins:
Le code est analysé pour être transformé en AST. AST vous permettra d'accéder à un ou plusieurs nœuds de votre code. Par exemple, vous pourrez accéder à tous vos for pour explorer le contenu, etc.
Pour mieux comprendre la structure AST, vous pouvez utiliser l'AST Explorer.
Ce projet contient les spécifications de toutes les règles Creedengo, pour toutes les langues.
Les règles sont organisées par dossier en fonction de leur ID dans le dossier Root Rules. Chacun de ces dossiers contient un fichier avec les métadonnées de la règle et la description par la langue.
Le fichier de métadonnées utilise le format pris en charge par la bibliothèque Commons Analysers de Sonarsource. Pour savoir quelles valeurs peuvent y être placées, nous vous conseillons d'utiliser la documentation officielle de Sonarqube et de compter sur des fichiers déjà existants.
Voici un exemple:
src/main/rules
├── EC104
│ ├── java
│ │ ├── EC104.asciidoc
│ │ ├── EC104.json
│ ├── php
│ │ ├── EC104.asciidoc
│ ├── python
│ │ ├── EC104.asciidoc
│ └── EC104.json
├── ...
Pour spécifier les métadonnées pour une langue donnée (par exemple, déprécisez une règle uniquement pour une seule langue), il est possible de créer un fichier JSON dans le dossier linguistique, et cela sera fusionné avec le fichier commun pendant la build. Les clés du fichier spécifique ont la priorité et il est possible d'en ajouter de nouvelles mais pas de les supprimer du monde.
La description des règles utilise le format ASCIIDOC (avec compatibilité Markdown) afin de permettre l'inclusion d'autres pages (cette fonctionnalité n'est pas disponible en standard avec Markdown).
Voir:
Vous pouvez rapidement avoir un aperçu des plugins Creedengo avec Docker. PLASE Jetez un œil à la section "Getting Bebing" de chaque plugin:
La principale façon d'obtenir des plugins Creedengo est de les télécharger à partir de votre marché Sonarqube (disponible dans la section Administration). Mais si vous le souhaitez, vous pouvez également les télécharger à partir des versions GitHub.
Nous avions divisé notre référentiel creedengo à un référentiel pour chaque plugin en décembre 2023. Ainsi, les versions de plugin sont disponibles sur 2 référentiels en fonction de la version que vous souhaitez:
| Version des plugins | Version sonarqube |
|---|---|
| 1.4. + | Sonarqube 9.4. + LTS à 10.1 |
| 1.3. + | Sonarqube 9.4. + LTS à 10.0 |
| 1.2. + | Sonarqube 9.4. + LTS à 10.0 |
| 1.1. + | Sonarqube 9.4. + LTS à 9.9 |
| 1.0. + | Sonarqube 9.4. + LTS à 9.9 |
| 0,2. + | Sonarqube 9.4. + LTS à 9.9 |
| 0,1. + | Sonarqube 8.9. + LTS à 9.3 |
| Version des plugins | Version java |
|---|---|
| 1.4. + | 11/17 |
| 1.3. + | 11/17 |
| 1.2. + | 11/17 |
| 1.1. + | 11/17 |
| 1.0. + | 11/17 |
| 0,2. + | 11/17 |
| 0,1. + | 11/17 |
Vous êtes un expert technique, un concepteur, un chef de projet, un expert RSE, un expert EcoDesign ...
Vous souhaitez offrir l'aide de votre entreprise, nous aider à organiser, à communiquer sur le projet?
Vous avez des idées à nous soumettre?
Nous vous écoutons pour faire progresser le projet collectivement, et peut-être avec vous!
Nous avons besoin de vous!
Ici, le Pack de démarrage
Une question? Nous sommes là pour vous! Tout d'abord, créez un problème, s'il vous plaît. Ensuite, en cas de réponse, contactez ...
Ici, nous honorons des membres de l'équipe de base sans plus actifs qui ont apporté de précieuses contributions dans le passé.
Ils ont contribué au succès de Creedengo:
Ils ont soutenu le projet: