assayo/documents/FR.md

264 lines
21 KiB
Markdown
Raw Normal View History

2024-04-30 15:13:34 +00:00
> [English](https://github.com/bakhirev/assayo) | [Español](https://github.com/bakhirev/assayo/blob/main/documents/ES.md) | [中文](https://github.com/bakhirev/assayo/blob/main/documents/ZH.md) | __[Français](https://github.com/bakhirev/assayo/blob/main/documents/FR.md)__ | [Deutsch](https://github.com/bakhirev/assayo/blob/main/documents/DE.md) | [Português](https://github.com/bakhirev/assayo/blob/main/documents/PT.md) | [日本語](https://github.com/bakhirev/assayo/blob/main/documents/JA.md) | [Русский](https://github.com/bakhirev/assayo/blob/main/documents/RU.md)
2024-02-28 20:17:21 +00:00
2024-04-30 15:13:34 +00:00
> La [documentation principale](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) est en russe. C'est une traduction. Il peut contenir des erreurs. Si vous êtes un locuteur natif, vous pouvez aider à améliorer cette traduction. Merci!
2024-02-28 20:17:21 +00:00
2024-03-22 22:22:07 +00:00
# [Assayo](https://assayo.online/?ref=github&lang=fr)
2024-08-30 07:38:47 +00:00
Visualisation et analyse des données de votre dépôt git. Performance tool for Team Lead and IT-audit
2024-09-15 22:26:22 +00:00
Links: [demo](https://assayo.online/demo/?ref=github&lang=fr&dump=./test.txt), [online version](https://assayo.online/demo/?ref=github), [docker](https://hub.docker.com/r/bakhirev/assayo), [reddit](https://www.reddit.com/r/ITManagers/comments/1e5k291/the_visualization_and_analysis_of_git_commit/), [habr](https://habr.com/ru/articles/763342/), [video](https://www.youtube.com/watch?v=mqfu-ea3jao).
2024-05-05 08:54:25 +00:00
2024-04-30 15:13:34 +00:00
<a href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/facebook.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://reddit.com/submit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository" target="_blank"><img src="https://assayo.online/assets/seo/social/reddit.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&text=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&via=&hashtags=IT%2Cgit%2Cstatistics%2Caudit%2Cdata-visualization%2Creport" target="_blank"><img src="https://assayo.online/assets/seo/social/twitter.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/linkedin.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://www.tumblr.com/widgets/share/tool?canonicalUrl=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository&caption=Check%20your%20git%20stats%21&tags=IT%2Cgit%2Cstatistics%2Caudit%2Cdata-visualization%2Creport" target="_blank"><img src="https://assayo.online/assets/seo/social/tumblr.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://www.blogger.com/blog-this.g?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&n=Visualization%20and%20analysis%20of%20git%20repository&t=Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/blogger.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://www.evernote.com/clip.action?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21" target="_blank"><img src="https://assayo.online/assets/seo/social/evernote.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://www.addthis.com/bookmark.php?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/add.this.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://getpocket.com/edit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/getpocket.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&t=Visualization%20and%20analysis%20of%20git%20repository" target="_blank"><img src="https://assayo.online/assets/seo/social/hacker.news.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://buffer.com/add?text=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/buffer.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="https://share.flipboard.com/bookmarklet/popout?v=2&title=Visualization%20and%20analysis%20of%20git%20repository%20%3A%20Check%20your%20git%20stats%21&url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo" target="_blank"><img src="https://assayo.online/assets/seo/social/flipboard.jpg" title="Visualization and analysis of git repository" width="24px" height="24px"/></a><a href="http://www.instapaper.com/edit?url=https%3A%2F%2Fgithub.com%2Fbakhirev%2Fassayo&title=Visualization%20and%20analysis%20of%20g
2024-05-05 08:54:25 +00:00
<a href="https://assayo.online/demo/?dump=./test.txt" target="_blank"><img src="https://assayo.online/seo/github/index.png" width="100%" /></a>
2024-04-30 15:13:34 +00:00
<a name="link-0"></a>
##### 👨‍💻 Un employé peut évaluer un nouveau lieu de travail
2024-02-28 20:17:21 +00:00
- le rythme du travail;
- le nombre de heures supplémentaires;
- les zones de responsabilité;
- la taille des fonctionnalités et bogues;
- le style de travail des collègues;
2024-04-30 15:13:34 +00:00
<a name="link-1"></a>
##### ‍👨‍💼 Un chef peut évaluer les employés
2024-02-28 20:17:21 +00:00
- détecter les fainéants;
- estimer la taille du code;
- connaître la vitesse de travail;
- remarquer les anomalies du comportement;
- remarquer les anomalies du comportement;
2024-04-30 15:13:34 +00:00
<a name="link-2"></a>
##### 👑 Linvestisseur peut évaluer le produit
2024-02-28 20:17:21 +00:00
- le coût du produit;
- le coût des fonctionnalités;
- la durée de développement;
- la projection de la durée des mises à niveau;
- la projection du coût;
2024-04-30 15:13:34 +00:00
<a name="link-3"></a>
### Table of contents
- [De combien de commits avez-vous besoin?](#link-4)
2024-08-28 07:01:10 +00:00
- [How to create a local report with using library?](#link-5)
2024-08-27 06:15:26 +00:00
- [Comment pouvez-vous combiner les auteurs ?](#link-6)
- [Comment télécharger des données depuis git ?](#link-7)
- [Pour une visualisation en ligne](#link-8)
- [Pour la navigation hors ligne](#link-9)
- [If you use PowerShell in Windows](#link-10)
- [Comment voir le rapport en ligne?](#link-11)
2024-08-28 07:01:10 +00:00
- [Using website](#link-12)
- [Use the library ](#link-13)
- [Use the library ](#link-14)
- [Use source code](#link-15)
- [Comment recompiler la build du rapport?](#link-16)
- [Comment voir le compte rendu pour un groupe de microservices?](#link-17)
- [Comment apposer une marque sur linterface?](#link-18)
- [Comment signer les commits ?](#link-19)
- [How to add checking for commit message?](#link-20)
- [ Use file commit-msg](#link-21)
- [ Use package pre-commit](#link-22)
- [Comment automatiser la collecte de données?](#link-23)
- [With backend](#link-24)
- [Sans back-end](#link-25)
- [DevOps ](#link-26)
- [Serveur public](#link-27)
- [Serveur privé](#link-28)
- [Mise à jour de limage-Docker](#link-29)
- [ About application](#link-30)
- [Architecture](#link-31)
- [Les versions sont publiées environ tous les six mois. Quoi de neuf:](#link-32)
- [Comment ajouter ou modifier une traduction?](#link-33)
- [Souhaits, suggestions, commentaires](#link-34)
2024-04-30 15:13:34 +00:00
<a name="link-4"></a>
### 🚀 De combien de commits avez-vous besoin?
2024-02-28 20:17:21 +00:00
Dans le répertoire racine de votre projet, exécutez les commandes suivantes:
```
git shortlog -s -n -e
```
2024-04-30 15:13:34 +00:00
<a name="link-5"></a>
2024-08-28 07:01:10 +00:00
### 🏭 How to create a local report with using library?
NodeJS:
2024-08-27 06:15:26 +00:00
```
npx assayo
```
2024-08-28 07:01:10 +00:00
PHP:
```
composer require bakhirev/assayo
vendor/bin/assayo
```
2024-09-07 08:09:53 +00:00
Python:
```
pipx install assayo
assayo
```
2024-08-27 06:15:26 +00:00
The script will create a folder `./assayo` with a report about repository:
```
./assayo/index.html - report
./assayo/log.txt - information from git
```
If you do not have NodeJS , see the items "How to download data from git?" and "How to view the report?"
<a name="link-6"></a>
2024-04-30 15:13:34 +00:00
### ‍🎭 Comment pouvez-vous combiner les auteurs ?
2024-02-28 20:17:21 +00:00
Dans le répertoire racine de votre projet, créez le fichier suivant: `.mailmap`.
Lexemple de la ligne de fichier est le suivant:
```
Alex B <alex@mail.uk>
Alex B <alex@mail.uk> <alex@gov.tk>
Alex B <alex@mail.uk> <bakhirev@ya.kz>
Alex B <alex@mail.uk> <man64@yahoo.com>
2024-04-30 15:13:34 +00:00
```
2024-02-28 20:17:21 +00:00
Vous pouvez en savoir plus sur le format de ce fichier en lisant la documentation officielle. [ici](https://git-scm.com/docs/gitmailmap).
2024-04-30 15:13:34 +00:00
<a name="link-7"></a>
2024-08-27 06:15:26 +00:00
### 📤 Comment télécharger des données depuis git ?
<a name="link-8"></a>
2024-04-30 15:13:34 +00:00
#### Pour une visualisation en ligne
2024-02-28 20:17:21 +00:00
Dans le répertoire racine de votre projet, exécutez:
```
2024-07-01 12:57:57 +00:00
git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > log.txt
2024-02-28 20:17:21 +00:00
```
2024-08-27 06:15:26 +00:00
<a name="link-9"></a>
2024-04-30 15:13:34 +00:00
#### Pour la navigation hors ligne
2024-02-28 20:17:21 +00:00
```
2024-09-06 14:00:28 +00:00
git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" | sed -e 's/\\/\\\\/g' | sed -e 's/`/"/g' | sed -e 's/^/r(f\`/g' | sed 's/$/\`\);/g' | sed 's/\$/_/g' > log.txt
2024-02-28 20:17:21 +00:00
```
2024-08-19 13:17:30 +00:00
Git va créer le fichier `log.txt`. Son contenu est destiné à la création de rapports. La différence entre le format en ligne et le format hors ligne réside dans lenveloppe des lignes. Le format hors ligne sera chargé comme un fichier js si vous avez simplement ouvert `/build/index.html`
2024-08-27 06:15:26 +00:00
<a name="link-10"></a>
2024-08-19 13:17:30 +00:00
#### If you use PowerShell in Windows
By default, the output encoding may not match UTF-8 and the resulting log file will be unreadable. Before saving the log, you can change the encoding with the command.
```
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
```
Or open a saved file and manually change the encoding to UTF-8.
<a name="link-11"></a>
2024-08-28 07:01:10 +00:00
### Comment voir le rapport en ligne?
2024-08-27 06:15:26 +00:00
<a name="link-12"></a>
2024-08-28 07:01:10 +00:00
#### 📈 Using website
2024-02-28 20:17:21 +00:00
- Aller à [сайт](https://assayo.online/)
2024-04-30 15:13:34 +00:00
- Appuyer sur le bouton “[Démo](https://assayo.online/demo?ref=github&lang=fr)”
2024-02-28 20:17:21 +00:00
- Faites glisser le fichier `log.txt` dans la fenêtre du navigateur
2024-08-27 06:15:26 +00:00
<a name="link-13"></a>
2024-08-28 07:01:10 +00:00
#### Use the library (NodeJS)
- run `npx assayo`
- open `./assayo/index.html`
2024-08-27 06:41:04 +00:00
<a name="link-14"></a>
2024-08-28 07:01:10 +00:00
#### Use the library (PHP)
- run `composer require bakhirev/assayo`
- run `vendor/bin/assayo`
- open `./assayo/index.html`
<a name="link-15"></a>
#### Use source code
2024-02-28 20:17:21 +00:00
- Télécharger ce dépôt
- Glisser le fichier `log.txt` dans le dossier `/build`
- Démarrer `/build/index.html`
2024-04-30 15:13:34 +00:00
- Ou coller le dossier `/build` Sur votre dépôt (là où se trouve `log.txt`). Vous pouvez changer le nom. Par exemple avec `/build` sur `/report`. Dans cette cas, il est important que le fichier log.txt ait été généré par le commande pour la visualisation hors ligne.
2024-08-28 07:01:10 +00:00
<a name="link-16"></a>
2024-04-30 15:13:34 +00:00
### 🏭 Comment recompiler la build du rapport?
2024-02-28 20:17:21 +00:00
- Télécharger ce dépôt
- Exécuter `npm install`
2024-07-14 12:13:04 +00:00
- Exécuter `npm run build:local`
2024-02-28 20:17:21 +00:00
- La dernière build sera dans le dossier `/build`
2024-08-28 07:01:10 +00:00
<a name="link-17"></a>
2024-04-30 15:13:34 +00:00
### 🗃️ Comment voir le compte rendu pour un groupe de microservices?
2024-02-28 20:17:21 +00:00
- générer un fichier pour chaque microservice `log.txt` (`log-1.txt`, `log-2.txt`, `log-3.txt` etc.)
2024-03-06 22:30:26 +00:00
- Voir “Comment voir le rapport en ligne?”. Au dernier pas, glisser tous les fichiers dans la fenêtre du navigateur.
- Voir “Comment regarder le rapport hors-ligne?”. Au deuxième pas, coller tous les fichier de microservices (`log-1.txt`, `log-2.txt`, `log-3.txt` etc.) dans le dossier du rapport (`/build`).
2024-08-28 07:01:10 +00:00
<a name="link-18"></a>
2024-04-30 15:13:34 +00:00
### 🎨 Comment apposer une marque sur linterface?
2024-02-28 20:17:21 +00:00
Vous pouvez écrire votre propre thème pour linterface. Vous pouvez changer :
- **En-tête**. Vous pouvez le spécifier dans le paramètre de lURL ```title```. Par exemple: ```?title=You Company```
- **Thème visuel**.Pour cela, vous devez préparer un fichier CSS avec de nouveaux styles et indiquer son adresse dans le paramètre de lURL ```theme```. Par exemple: ```?theme=//company.com/some.css```. Vous pouvez utiliser les noms de classes comme sélecteurs. La plupart dentre elles ne changent pas lors de la sortie de nouvelles versions.
- **Langue**. Vous pouvez lindiquer dans le paramètre dURL ```lang```. Par exemple: ```?lang=es```
2024-08-28 07:01:10 +00:00
<a name="link-19"></a>
2024-04-30 15:13:34 +00:00
### 📝 Comment signer les commits ?
2024-02-28 20:17:21 +00:00
Suivez la pratique [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Par exemple:
```
JIRA-1234 feat(profile): Added avatar for user
```
- numéro de tâche dans task Tracker `(JIRA-1234)`
- type de travail `(feat, fix, style, refactor, test, doc etc.)`
- ficha `(profile - la section du site, la page ou la nouvelle fonctionnalité, en un mot)`
- quel problème ont-ils résolu `(Added avatar for user)`
2024-08-27 06:41:04 +00:00
<a name="link-20"></a>
2024-08-28 07:01:10 +00:00
### 👮 How to add checking for commit message?
<a name="link-21"></a>
2024-04-30 15:13:34 +00:00
#### Use file `commit-msg`
1. Create file `commit-msg` in folder `.git/hooks/`
2. Add this text in file:
```
#!/usr/bin/env bash
if ! grep -iqE "(JIRA-[0-9]{1,5})(\s)(feat|fix|docs|style|refactor|test|chore)((\([a-z0-9_-]{1,}\)){0,})(:\s)([a-z]{1,})" "$1"; then
echo "Need commit message like: JIRA-12 fix(profile): some text. Read Semantic Commit Messages" >&2
exit 1
fi
```
2024-08-28 07:01:10 +00:00
<a name="link-22"></a>
2024-04-30 15:13:34 +00:00
#### Use package [pre-commit](https://www.npmjs.com/package/pre-commit)
1. Add in file `package.json` property `commit-msg`:
```
...
"commit-msg": {
"regex": "(JIRA-[0-9]{1,5})(\\s)(feat|fix|docs|style|refactor|test|chore)((\\([a-z0-9_-]{1,}\\)){0,})(:\\s)([a-z]{1,})",
"error-message": "Need commit message like: JIRA-12 fix(profile): some text Read Semantic Commit Messages"
},
...
```
2. Run command `npm install pre-commit`
2024-08-27 06:41:04 +00:00
<a name="link-23"></a>
2024-08-28 07:01:10 +00:00
### 📚 Comment automatiser la collecte de données?
<a name="link-24"></a>
2024-04-30 15:13:34 +00:00
#### With backend
- use module [Assayo Crawler](https://github.com/bakhirev/assayo-crawler);
2024-08-28 07:01:10 +00:00
<a name="link-25"></a>
2024-04-30 15:13:34 +00:00
#### Sans back-end
2024-02-28 20:17:21 +00:00
- clonez le dépôt que vous voulez ;
- copiez le dossier `build`;
- Ouvrez `build/index.html` dans le navigateur et ajoutez-le aux favoris;
2024-04-30 15:13:34 +00:00
- ajoutez un raccourci sur `build/assets/ci-cd.sh` dans le dossier de démarrage automatique (Windows); Chaque fois que votre ordinateur se recharge, le script mettra à jour les statistiques sur toutes les données qui se sont automatiquement insérées dans la branche principale.
2024-08-27 06:41:04 +00:00
<a name="link-26"></a>
2024-08-28 07:01:10 +00:00
### 🛠️ DevOps (CI/CD)
<a name="link-27"></a>
2024-04-30 15:13:34 +00:00
#### Serveur public
2024-02-28 20:17:21 +00:00
Vous pouvez mettre à disposition le fichier avec les données pour construire le rapport sur lURL publique. Et pour sa visualisation, utiliser linterface web du site. [assayo](https://assayo.online/). Tout simplement, indiquez ladresse où se trouvent les données dans le paramètre de lURL ```dump```:
```
https://assayo.online/demo/?dump=//you_site.com/some/log.txt
```
2024-08-28 07:01:10 +00:00
<a name="link-28"></a>
2024-04-30 15:13:34 +00:00
#### Serveur privé
2024-02-28 20:17:21 +00:00
- télécharger [docker образ](https://hub.docker.com/r/bakhirev/assayo);
- Soulevez-le sur le réseau local;
- Pour consulter les rapports, utilisez linterface web en lui indiquant ladresse où les données se trouvent, sous forme de paramètre dans lURL ```dump```:
```
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL Conteneur assayo, écoute le port 80;
you_url - URL адресс Adresse de votre conteneur de logs git;
```
Par défaut, l'image s'exécute à ```http://127.0.0.1:80/```. Si cela ne fonctionne pas, vérifiez si le port 80 est disponible.
2024-08-28 07:01:10 +00:00
<a name="link-29"></a>
2024-04-30 15:13:34 +00:00
#### Mise à jour de limage-Docker
2024-07-15 07:57:59 +00:00
- constuire la build ```npm run build:docker```
2024-02-28 20:17:21 +00:00
- assembler l'image ```docker build -t assayo .```
- vérifier visuellement l'image ```docker run --name assayo -p 80:80 -d assayo```;
2024-04-30 15:13:34 +00:00
- mettre la balise ```docker tag assayo bakhirev/assayo:latest```;
- Envoyer le code au référentiel d'images dans Docker Hub ```docker push bakhirev/assayo:latest```;
2024-08-27 06:41:04 +00:00
<a name="link-30"></a>
2024-08-28 07:01:10 +00:00
### 🛠️ About application
<a name="link-31"></a>
2024-04-30 15:13:34 +00:00
#### 📐 Architecture
<img src="https://raw.githubusercontent.com/bakhirev/assayo-crawler/12af4410fc93384cafb108a4429e43f9a874dbaa/schema.svg" width="70%" />
2024-05-07 06:37:18 +00:00
1. [Reports showcase UI](https://github.com/bakhirev/assayo-showcase) displays a list of available reports. Each report consists of a title, description, and a list of repositories.
2024-04-30 15:13:34 +00:00
2. [Crawler service](https://github.com/bakhirev/assayo-crawler) collects repository logs for the report.
3. [Log visualization UI](https://github.com/bakhirev/assayo) **(you here)** displays report. Needs a log file for work.
2024-08-28 07:01:10 +00:00
<a name="link-32"></a>
2024-04-30 15:13:34 +00:00
#### 🈯 Les versions sont publiées environ tous les six mois. Quoi de neuf:
2024-02-28 20:17:21 +00:00
- plus de conseils et de succès;
- résultats de lannée / du mois, impression des rapports;
- localisation et internationalisation;
- analyse des fichiers;
- différents rôles pour la statistique (cacher la finance);
- développement du backend, intégrations avec dautres systèmes;
2024-08-28 07:01:10 +00:00
<a name="link-33"></a>
2024-04-30 15:13:34 +00:00
#### 🗺️ Comment ajouter ou modifier une traduction?
2024-02-28 20:17:21 +00:00
Vous pouvez ajouter une nouvelle traduction ou corriger la traduction existante dans le section ```ts/translations/```.
2024-03-22 22:22:07 +00:00
[Instruction](https://github.com/firstcontributions/first-contributions)
2024-08-28 07:01:10 +00:00
<a name="link-34"></a>
2024-04-30 15:13:34 +00:00
#### 📧 Souhaits, suggestions, commentaires
2024-02-28 20:17:21 +00:00
- telegramm [@bakhirev](https://t.me/bakhirev) (voie de communication prioritaire)
- [alexey-bakhirev@yandex.ru](mailto:alexey-bakhirev@yandex.ru)
2024-05-05 09:22:34 +00:00
- site [https://assayo.online/](https://assayo.online/?ref=github&lang=fr)
2024-05-05 09:49:12 +00:00