From 0f1ba5af1684cfc64b3ff5374ef95c70df1caac0 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Thu, 20 Nov 2025 00:37:40 +0100 Subject: Amélioration des scripts avec chemin Windows direct vers WSL et ajout du fichier Cursor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROJECT.md | 223 +++++++++++++++++++++++++++++++------------------------------ 1 file changed, 112 insertions(+), 111 deletions(-) (limited to 'PROJECT.md') diff --git a/PROJECT.md b/PROJECT.md index 26d8f3b..68ea77a 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -1,111 +1,112 @@ -# Projet : Synchronisation de fichiers de configuration - -## Objectif - -Ce projet permet de centraliser et synchroniser tous les fichiers de configuration (vim, bash, screen, cursor, documentation, etc.) depuis Windows et WSL vers un dépôt git sur chillka. - -## Structure du projet - -``` -config-files-keyvault/ -├── .git/ # Dépôt git local -├── configs/ -│ ├── windows/ # Fichiers provenant de Windows -│ └── wsl/ # Fichiers provenant de WSL -├── scripts/ -│ ├── sync-to-project.ps1 # Script pour copier fichiers vers le projet -│ └── sync-from-project.ps1 # Script pour restaurer fichiers depuis le projet -├── files-config.txt # Liste des fichiers à synchroniser -├── path-mapping.json # Mapping chemins originaux <-> chemins dans le projet -└── PROJECT.md # Documentation du projet -``` - -## Utilisation - -### 1. Ajouter des fichiers à synchroniser - -Éditer le fichier `files-config.txt` et ajouter les fichiers au format : -``` -windows|%USERPROFILE%\.vimrc -wsl|~/.bashrc -``` - -### 2. Copier les fichiers vers le projet - -Exécuter le script PowerShell : -```powershell -.\scripts\sync-to-project.ps1 -``` - -Ce script va : -- Lire `files-config.txt` -- Copier chaque fichier vers `configs/{system}/` -- Créer/mettre à jour `path-mapping.json` avec les chemins originaux - -### 3. Restaurer les fichiers depuis le projet - -Exécuter le script PowerShell : -```powershell -.\scripts\sync-from-project.ps1 -``` - -Ce script va : -- Lire `path-mapping.json` -- Copier chaque fichier depuis `configs/{system}/` vers son emplacement original -- Créer les répertoires parents si nécessaire - -### 4. Synchronisation Git - -Le dépôt git est configuré avec le remote : -``` -toshiro@chillka:/var/data/git/repositories/config-files-keyvault.git -``` - -Pour synchroniser : -```powershell -git add . -git commit -m "Mise à jour des fichiers de configuration" -git push origin main -``` - -## Format de fichiers-config.txt - -Chaque ligne doit suivre le format : -``` -{système}|{chemin} -``` - -Où : -- `{système}` : `windows` ou `wsl` -- `{chemin}` : Chemin du fichier avec support des variables d'environnement Windows (`%VAR%`) ou expansion WSL (`~`) - -Exemples : -``` -windows|%USERPROFILE%\.vimrc -windows|%APPDATA%\Code\User\settings.json -wsl|~/.bashrc -wsl|~/.bash_aliases -wsl|~/.screenrc -``` - -## Format de path-mapping.json - -Ce fichier est généré automatiquement par le script `sync-to-project.ps1`. Il contient le mapping entre les chemins originaux et les chemins dans le projet : - -```json -{ - "windows": { - "%USERPROFILE%\\.vimrc": "configs/windows/.vimrc" - }, - "wsl": { - "~/.bashrc": "configs/wsl/.bashrc" - } -} -``` - -## Notes - -- Les fichiers sont organisés par système d'origine (windows/wsl) pour faciliter la gestion -- Le mapping des chemins permet de restaurer les fichiers à leur emplacement exact -- Les répertoires parents sont créés automatiquement lors de la restauration - +# Projet : Synchronisation de fichiers de configuration + +## Objectif + +Ce projet permet de centraliser et synchroniser tous les fichiers de configuration (vim, bash, screen, cursor, documentation, etc.) depuis Windows et WSL vers un dépôt git sur chillka. + +## Structure du projet + +``` +config-files-keyvault/ +├── .git/ # Dépôt git local +├── configs/ +│ ├── windows/ # Fichiers provenant de Windows +│ └── wsl/ # Fichiers provenant de WSL +├── scripts/ +│ ├── sync-to-project.ps1 # Script pour copier fichiers vers le projet +│ └── sync-from-project.ps1 # Script pour restaurer fichiers depuis le projet +├── files-config.txt # Liste des fichiers à synchroniser +├── path-mapping.json # Mapping chemins originaux <-> chemins dans le projet +└── PROJECT.md # Documentation du projet +``` + +## Utilisation + +### 1. Ajouter des fichiers à synchroniser + +Éditer le fichier `files-config.txt` et ajouter les fichiers au format : +``` +windows|%USERPROFILE%\.vimrc +wsl|~/.bashrc +``` + +### 2. Copier les fichiers vers le projet + +Exécuter le script PowerShell : +```powershell +.\scripts\sync-to-project.ps1 +``` + +Ce script va : +- Lire `files-config.txt` +- Copier chaque fichier vers `configs/{system}/` +- Créer/mettre à jour `path-mapping.json` avec les chemins originaux + +### 3. Restaurer les fichiers depuis le projet + +Exécuter le script PowerShell : +```powershell +.\scripts\sync-from-project.ps1 +``` + +Ce script va : +- Lire `path-mapping.json` +- Copier chaque fichier depuis `configs/{system}/` vers son emplacement original +- Créer les répertoires parents si nécessaire + +### 4. Synchronisation Git + +Le dépôt git est configuré avec le remote : +``` +toshiro@chillka:/var/data/git/repositories/config-files-keyvault.git +``` + +Pour synchroniser : +```powershell +git add . +git commit -m "Mise à jour des fichiers de configuration" +git push origin main +``` + +## Format de fichiers-config.txt + +Chaque ligne doit suivre le format : +``` +{système}|{chemin} +``` + +Où : +- `{système}` : `windows` ou `wsl` +- `{chemin}` : Chemin du fichier avec support des variables d'environnement Windows (`%VAR%`) ou expansion WSL (`~`) + +Exemples : +``` +windows|%USERPROFILE%\.vimrc +windows|%APPDATA%\Cursor\User\settings.json +wsl|~/.bashrc +wsl|~/.bash_aliases +wsl|~/.screenrc +``` + +## Format de path-mapping.json + +Ce fichier est généré automatiquement par le script `sync-to-project.ps1`. Il contient le mapping entre les chemins originaux et les chemins dans le projet : + +```json +{ + "windows": { + "%USERPROFILE%\\.vimrc": "configs/windows/.vimrc" + }, + "wsl": { + "~/.bashrc": "configs/wsl/.bashrc" + } +} +``` + +## Notes + +- Les fichiers sont organisés par système d'origine (windows/wsl) pour faciliter la gestion +- Le mapping des chemins permet de restaurer les fichiers à leur emplacement exact +- Les répertoires parents sont créés automatiquement lors de la restauration +- Les fichiers WSL sont accessibles via le chemin Windows `\\wsl.localhost\Ubuntu\` pour une meilleure performance et fiabilité + -- cgit v1.2.3