45 lines
No EOL
2 KiB
Markdown
45 lines
No EOL
2 KiB
Markdown
[](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
|
|
|
# Git-MRI
|
|
> *Git-MigrateReposiroryImages*
|
|
|
|
Ce programme python récupère un dépot git avec toute les images et les enregistres localement en mettant à jour les liens vers celles-ci.
|
|
|
|
### :arrow_forward: Utilisation
|
|
- Installer `python` et `git`
|
|
- Executer le script `python3 path/to/script/Git-MRI.py`
|
|

|
|
- Renseigner le lien vers le dépôt (Lien en *.git)
|
|
- :rotating_light: Le dépôt doit être public
|
|
- Renseigner l'emplacement de sauvegarde de celui-ci (Chemin absolu)
|
|
|
|
#### :arrow_right: Migration vers une autre plateforme git
|
|
- `cd /chemin/vers/projet`
|
|
- `git init`
|
|
- `git add .`
|
|
- `git commit -m "Libellé du commit"`
|
|
- `git remote set-url origin https://votre.plateforme.com/user/projet.git`
|
|
- `git push -u origin main`
|
|
|
|
### :arrow_forward: Fonctionnalités
|
|
- Téléchargement du dépôt via `git`
|
|
- Analyse de tout les fichiers texte qui contiennent un lien externe
|
|
- Contrôle si les liens mènent vers des images
|
|
- Si oui, téléchargement de l'image dans le répertoire `./images`
|
|
- Si non, écriture du lien dans le fichier de logs `./no_images.log`
|
|
- Renommage des fichiers images ex : `wgxf3sdm9mpc5sw1dy7b.png`
|
|
- Modifications des liens dans chaque fichier texte, afin de pointer vers les images stocker localement
|
|
- Vérifications globale que toute les images du dépôt soit référencées dans un fichier texte quelconque
|
|
- Le cas échéant, les images orphelines sont déplacées dans le répertoire `./images/old`
|
|
|
|
### :arrow_forward: Compatibilité
|
|
- Fichiers texte (`.md`, `.markdown`, `.txt`, `.rst`, `.adoc`, `.html`)
|
|
- Fichiers images (`.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg`)
|
|
|
|
### :warning: Problèmes
|
|
- Un lien d'image entre des balises html n'est pas toujours détecté
|
|
- Parfois il reste des images qui on echappées au déplacement dans images/old
|
|
|
|
### :construction: Améliorations futures
|
|
- git push intégré
|
|
- gestion des tokens d'authentification |