Le Weesify CLI
Déployez un dossier vers votre site web HTML en une commande, récupérez-le, vérifiez ce qui a changé et revenez en arrière. Un seul fichier, aucun paquet à installer : il ne nécessite que Node.js 18 ou plus récent.
Installer
Téléchargez le fichier et lancez-le avec Node.js. Il n’y a rien d’autre à installer, et ni npx ni registre de paquets ne sont impliqués.
macOS et Linux
curl -fsSLo weesify.mjs https://weesify.com/developers/cli/weesify.mjs && node weesify.mjs login
Windows (PowerShell)
Invoke-WebRequest https://weesify.com/developers/cli/weesify.mjs -OutFile weesify.mjs; node weesify.mjs login
Pour taper simplement « weesify » n’importe où, placez-le dans votre PATH (macOS et Linux) :
chmod +x weesify.mjs && sudo mv weesify.mjs /usr/local/bin/weesify
weesify --version
La connexion demande un jeton API. Créez-en un dans votre espace de travail sous Paramètres → Développeurs avec les portées sites:read, sites:write et sites:deploy. Il est enregistré dans ~/.config/weesify/credentials.json, lisible uniquement par vous, jamais dans le dossier de votre projet.
Vérifier le fichier
Version 1.0.0, 44 Ko. Comparez son SHA-256 avec celui-ci avant de le lancer :
e98494277685934e20bdfb05c7f9fe5087db5db66d80b2365a4d3f74ed51c8af
shasum -a 256 weesify.mjs # macOS
sha256sum weesify.mjs # Linux
Get-FileHash weesify.mjs # Windows
Premier déploiement
cd my-site
weesify init # lier ce dossier à un site web (ou en créer un)
weesify deploy -m "Première version"
weesify status # en ligne vs brouillon vs ce dossier
deploy compresse le dossier en ZIP sur votre ordinateur, l’envoie, fait du site web exactement ce dossier et le publie. La version précédente reste à un weesify rollback de distance. Ajoutez --draft pour ne mettre à jour que le brouillon et publier plus tard depuis l’éditeur.
Exclus automatiquement : node_modules/, .git/, .env, *.log et les fichiers système. Ajoutez vos propres motifs à .weesifyignore (même syntaxe que .gitignore). Le code serveur comme .php n’est jamais publié.
Commandes
| Commande | Action |
|---|---|
weesify login | Enregistrer un jeton API (ou le lire depuis --stdin) |
weesify whoami | L’espace de travail, le nom du jeton et les portées utilisés |
weesify sites | Lister vos sites web |
weesify init [--site ID | --name NAME] | Lier un dossier à un site web ; écrit weesify.json (sans secrets) |
weesify deploy [dir] [-m MSG] [--draft] | Envoyer le dossier et le publier, ou ne mettre à jour que le brouillon |
weesify pull [dir] [--live | --deployment ID] | Télécharger le brouillon, le site en ligne ou un déploiement |
weesify status | Dernier déploiement, modifications du brouillon, votre dossier comparé au site en ligne, domaines |
weesify deployments | Historique des déploiements |
weesify rollback [ID or #N] | Remettre en ligne un déploiement antérieur (par défaut : le précédent) |
weesify domains [list | add | verify | remove] HOST | Connecter et vérifier les domaines personnalisés |
weesify open | Ouvrir le site web dans votre navigateur |
Chaque commande accepte --json pour une sortie lisible par machine, --site pour choisir un site web et --host pour un Weesify auto-hébergé.
CI et automatisation
En CI, définissez le jeton comme secret nommé WEESIFY_TOKEN ; aucune étape de connexion n’est nécessaire. Chaque déploiement envoie sa propre Idempotency-Key, donc un envoi réessayé ne publie jamais deux fois.
# GitHub Actions
- run: curl -fsSLo weesify.mjs https://weesify.com/developers/cli/weesify.mjs
- run: echo "e98494277685934e20bdfb05c7f9fe5087db5db66d80b2365a4d3f74ed51c8af weesify.mjs" | sha256sum -c -
- run: node weesify.mjs deploy dist --site ${{ vars.WEESIFY_SITE }} -m "Build ${{ github.sha }}"
env:
WEESIFY_TOKEN: ${{ secrets.WEESIFY_TOKEN }}
Un site web qui nécessite l’approbation du client ne peut pas être publié par un jeton tant que le brouillon actuel n’est pas approuvé ; le déploiement s’arrête alors avec le code de sortie 2.
Codes de sortie
| Code | Moyens |
|---|---|
| 0 | Terminé (pour deploy : le site web est en ligne) |
| 1 | Une erreur s’est produite |
| 2 | Approbation requise avant la publication |
| 3 | Le déploiement a échoué ; la version précédente reste en ligne |
| 4 | Non connecté, ou le jeton n’est pas autorisé à faire cela |
| 5 | Introuvable dans cet espace de travail |
| 6 | Problème de réseau, de serveur ou de limite de débit : sans risque de réessayer |
| 64 | La commande a été mal utilisée |