Skip to content

elzuzu/SyncOtter

Repository files navigation

🩩 SyncOtter - Synchronisation Ultra-LĂ©gĂšre

Outil de synchronisation ultra-optimisé pour lancement quasi-instantané depuis un partage réseau.

Cette version repose uniquement sur l'application Electron et la ligne de commande. Les anciennes librairies expérimentales ont été retirées du dépÎt.

✹ Nouvelles FonctionnalitĂ©s Auto-Magiques :

🔄 Gestion Processus Intelligente :

  • DĂ©tection automatique des instances dĂ©jĂ  ouvertes
  • Kill automatique des processus existants (avec message)
  • Instance unique garantie (pas de doublons)

📁 CrĂ©ation Auto des RĂ©pertoires :

  • RĂ©pertoire cible créé automatiquement s'il manque
  • VĂ©rification source avant dĂ©marrage
  • Messages informatifs pour chaque Ă©tape

⚙ Configuration Externe (NOUVEAU) :

  • config.json externe Ă  l'exe (pas intĂ©grĂ© dans la compilation)
  • Modification sans recompilation !
  • DĂ©ploiement flexible avec diffĂ©rentes configs

🎹 Interface AmĂ©liorĂ©e :

  • Messages colorĂ©s selon le statut (succĂšs/warning/erreur)
  • Animation pulse pour les warnings
  • Feedback visuel en temps rĂ©el

🚀 Guide de DĂ©marrage Rapide

PremiĂšre utilisation :

# 1. Installer les dépendances
npm install

# 2. Créer votre configuration
node config-generator.js

# 3. Tester en mode développement
npm start

# 4. Compiler l'exécutable
.\build.ps1
> **Note** : lancez ce script depuis le dossier `SyncOtter` pour que les chemins soient correctement résolus.

Compilation express :

# Build complet
.\build.ps1

# Test développement
npm start

Lancement optimisé :

# Lancement direct (gestion auto des processus)
./SyncOtter-Ultra.exe

# Depuis share réseau (copie automatique)
\\server\tools\SyncOtter\SyncOtter-Ultra.exe

⚡ Optimisations Performance

🎯 Exe ultra-lĂ©ger :

  • Compression maximale (tous niveaux)
  • Portable (pas d'installation)
  • DĂ©pendances minimales (fs-extra uniquement)
  • DĂ©marrage immĂ©diat (pas d'attente splash)
  • Configuration externe (pas intĂ©grĂ©e dans l'exe)
  • ~15-25 MB au lieu de 100+ MB standard

🌐 Share rĂ©seau :

  • Copie temporaire automatique pour accĂ©lĂ©ration
  • Nettoyage auto aprĂšs utilisation
  • Lancement quasi-instantanĂ© mĂȘme sur rĂ©seau lent
  • DĂ©tection latence/bande passante et ajustement dynamique
  • Transferts intelligents (compression, chunk, parallĂšle)
  • Reprise sur erreur avec vĂ©rification d'intĂ©gritĂ©
  • Cache rĂ©seau local pour synchronisation diffĂ©rentielle

⚙ Configuration (config.json)

Important : Le fichier config.json doit ĂȘtre placĂ© Ă  cĂŽtĂ© de l'exe (pas intĂ©grĂ© dans la compilation).

Configuration type :

{
  "sourceDirectory": "\\\\server\\source",
  "targetDirectory": "C:\\Local\\Target", 
  "excludeDirectories": [".git", "node_modules", ".vs", "bin", "obj"],
  "excludePatterns": ["*.tmp", "*.log", "Thumbs.db"],
  "executeAfterSync": "C:\\Local\\Target\\app.exe",
  "appName": "Mon Application",
  "appDescription": "Synchronisation et lancement automatique",
  "parallelCopies": 8
}

Avantages Configuration Externe :

  • ✅ Modification sans recompilation
  • ✅ DĂ©ploiement flexible (mĂȘme exe, configs diffĂ©rentes)
  • ✅ Facilite la maintenance
  • ✅ Partage de configs entre Ă©quipes

🎯 Utilisation Type Share RĂ©seau

Approche Simple :

  1. Build une fois : .\build.ps1
  2. Copier l'exécutable sur votre partage réseau
  3. Lancer depuis poste : \\server\tools\SyncOtter\Indi-Suivi.exe

📊 Performance MesurĂ©e

Version Taille Lancement Local Lancement Share Config
Standard ~100MB 3-5s 10-15s Intégrée
Ultra ~20MB <1s 2-3s Externe

🔧 Scripts Disponibles

# BUILD
.\build.ps1  # Build complet
npm start        # Mode développement

# LANCEMENT
Indi-Suivi.exe                       # Lancement local
\\server\tools\SyncOtter\Indi-Suivi.exe  # Lancement depuis share

Utilisation en ligne de commande

Une version CLI est disponible dans package-cli.json. Elle peut ĂȘtre lancĂ©e directement avec Node :

node src/cli-main.js

Ou compilée en exécutable via npm run build dans ce package.

🎯 Exemples Pratiques de Configuration :

DĂ©ploiement Dev → Prod :

{
  "sourceDirectory": "C:\\Dev\\MonApp",
  "targetDirectory": "C:\\Deploy\\MonApp",
  "excludeDirectories": [".git", ".vs", "bin\\Debug"],
  "executeAfterSync": "C:\\Deploy\\MonApp\\start.bat",
  "appName": "MonApp Production",
  "appDescription": "Déploiement automatique v1.0",
  "parallelCopies": 8
}

Sync depuis Share Réseau :

{
  "sourceDirectory": "\\\\buildserver\\releases\\latest",
  "targetDirectory": "C:\\Apps\\MonApp",
  "excludePatterns": ["*.pdb", "*.log"],
  "executeAfterSync": "C:\\Apps\\MonApp\\app.exe",
  "appName": "Client Lourd CRM",
  "appDescription": "Version depuis build server"
}

Mode Ultra-Rapide (SSD) :

{
  "parallelCopies": 16,
  "sourceDirectory": "D:\\Source",
  "targetDirectory": "C:\\Target",
  "appName": "Application Rapide",
  "appDescription": "Sync haute performance"
}

📈 Monitoring & Analytics

  • Collecte temps rĂ©el des mĂ©triques (latence, throughput, erreurs)
  • Logs JSON dans le dossier logs/ avec rotation automatique
  • Rapports gĂ©nĂ©rĂ©s dans reports/
  • Rapport santĂ© systĂšme au dĂ©marrage

🔄 Structure de DĂ©ploiement :

\\server\tools\SyncOtter\
├── SyncOtter-1.0.0-portable.exe  # ← L'exe compilĂ©
├── config.json                   # ← Configuration externe
└── README.txt                    # ← Instructions (optionnel)

🩩 La loutre synchronise Ă  la vitesse de l'Ă©clair ! ⚡✹

Messages de la Loutre :

  • 📄 "Chargement config: C:\Tools\config.json" → Config externe trouvĂ©e
  • 🔄 "Processus prĂ©cĂ©dent fermĂ©..." → Kill automatique rĂ©ussi
  • 📁 "CrĂ©ation du rĂ©pertoire..." → RĂ©pertoire cible créé
  • ⚠ "Aucun fichier Ă  synchroniser" → Source vide
  • ✅ "X fichiers synchronisĂ©s" → Mission accomplie !

La loutre gĂšre tout ! Configuration externe + gestion processus + rĂ©pertoires auto = ZĂ©ro souci ! 🩩đŸ’Ș

🚀 Build & Deploy Revolution

  • config-generator.js : gĂ©nĂ©ration de templates par environnement
  • Mise Ă  jour automatique pilotĂ©e par version-manager.js

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •