Un outil léger et élégant de synchronisation SFTP en temps réel pour les développeurs web. Idéal pour le développement WordPress et autres projets web nécessitant une synchronisation continue avec un serveur distant.
- 🔄 Synchronisation en temps réel
- 📁 Création automatique des dossiers distants
- 🎯 Configuration simple avec fichier .env
- 🚫 Exclusion intelligente des fichiers système
- 💨 Performances optimisées
- 🛑 Arrêt propre avec CTRL+C
# Cloner le projet
git clone https://github.com/Lakpoh/WaveSync.git
# Installer les dépendances
cd wavesync
npm install
- Créez un fichier
.env
à la racine :
SFTP_HOST=votre-serveur.com
SFTP_PORT=22
SFTP_USER=votre-username
SFTP_PASSWORD=votre-password
# Ou utilisez une clé SSH (recommandé)
# SFTP_KEY_PATH=/chemin/vers/votre/cle_privee
LOCAL_PATH=./src/votre-projet
REMOTE_PATH=/chemin/distant/sur/le/serveur
Les chemins LOCAL_PATH
et REMOTE_PATH
définissent respectivement le dossier local à surveiller et le dossier distant où synchroniser les fichiers.
# Démarrer la synchronisation
npm run watch
# Pour arrêter : CTRL+C
wavesync/
├── watch.js # Script principal
├── package.json # Dépendances
├── .env # Configuration (à créer)
└── .gitignore # Exclusions Git
Modifiez la section ignored
dans watch.js
pour ajuster les fichiers à ne pas synchroniser :
ignored: [
/(^|[\/\\])\../, // Fichiers cachés
'**/node_modules/**',
'**/vendor/**',
'**/*.log',
'**/*.zip',
// Ajoutez vos patterns ici
]
- Ne jamais commiter le fichier
.env
- Préférer l'authentification par clé SSH
- Limiter les permissions SFTP au strict nécessaire
- Utiliser un utilisateur SFTP dédié
- Assurez-vous d'avoir les droits d'écriture sur le serveur distant
- Vérifiez les paramètres de pare-feu pour le port SFTP
- Pour les gros projets, considérez utiliser le mode
watch:debug
- chokidar : Surveillance des fichiers
- node-scp : Transferts SFTP
- dotenv : Gestion de la configuration
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer votre branche (
git checkout -b feature/AmazingFeature
) - Commit vos changements (
git commit -m 'Add some AmazingFeature'
) - Push sur la branche (
git push origin feature/AmazingFeature
) - Ouvrir une Pull Request
MIT License - voir le fichier LICENSE pour plus de détails.
Remi Twardowski