{"id":28406826,"url":"https://github.com/yuketsush/weblet","last_synced_at":"2025-06-14T06:02:58.501Z","repository":{"id":294942500,"uuid":"988566952","full_name":"YuketsuSh/Weblet","owner":"YuketsuSh","description":"Serveur multi-sites statiques avec CLI interactif – léger, simple, basé sur Polka.","archived":false,"fork":false,"pushed_at":"2025-05-22T19:26:48.000Z","size":16,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T08:18:43.674Z","etag":null,"topics":["local-server","multi-site","polka","self-hosted","static-hosting","static-server","weblet"],"latest_commit_sha":null,"homepage":"https://velyorix.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YuketsuSh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-22T18:32:23.000Z","updated_at":"2025-05-25T14:26:25.000Z","dependencies_parsed_at":"2025-05-22T20:30:00.890Z","dependency_job_id":null,"html_url":"https://github.com/YuketsuSh/Weblet","commit_stats":null,"previous_names":["yuketsush/weblet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuketsuSh%2FWeblet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuketsuSh%2FWeblet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuketsuSh%2FWeblet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuketsuSh%2FWeblet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YuketsuSh","download_url":"https://codeload.github.com/YuketsuSh/Weblet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuketsuSh%2FWeblet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258777288,"owners_count":22756075,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["local-server","multi-site","polka","self-hosted","static-hosting","static-server","weblet"],"created_at":"2025-06-01T23:08:36.254Z","updated_at":"2025-06-14T06:02:58.496Z","avatar_url":"https://github.com/YuketsuSh.png","language":"JavaScript","readme":"# 🌐 Weblet – Serveur multi-sites statiques avec CLI\n\n**Weblet** est un serveur web minimaliste et extensible qui vous permet d’héberger plusieurs **sites statiques** (build React, Vue, Nuxt, etc.) à la manière d’Apache ou Nginx, mais en utilisant [Polka](https://github.com/lukeed/polka) et une configuration simple en JSON.\n\nC’est aussi un **outil CLI** interactif pour gérer vos sites (ajout, suppression, modification, vérification, etc.).\n\n---\n\n## ⚙️ Fonctionnalités\n\n- 🔧 **Multi-sites** avec ports dédiés\n- 🧩 **Gestion via JSON**\n- 💬 **CLI interactif** intégré\n- 🧠 **Healthcheck** automatique\n- 🛠️ **Configuration facile**\n- ⚡ Ultra léger grâce à Polka\n\n---\n\n## 📦 Structure du projet\n\n```\n\nWeblet/\n├── cfg/\n│   └── sites.json         # Configuration des sites web\n├── manager.js             # Interface CLI (type Apachectl/Nginx)\n├── server.js              # Démarrage des serveurs via Polka\n├── web/                   # Dossier des sites web\n│   ├── velyorix/\n│   └── nexus/\n├── package.json\n\n````\n\n---\n\n## 🚀 Installation\n\n```bash\ngit clone https://github.com/YuketsuSh/Weblet.git\ncd Weblet\nnpm install\n````\n\n\u003e ⚠️ Utilise Node.js v16 ou supérieur.\n\n---\n\n## 🔌 Lancer le serveur Weblet\n\nLe fichier `server.js` lit le fichier `cfg/sites.json` et démarre un serveur Polka pour **chaque site configuré**.\n\n### ➤ Pour lancer tous les serveurs :\n\n```bash\nnode server.js\n```\n\n### Log console :\n\n```\n✅ Site \"velyorix\" lancé sur http://localhost:9965\n✅ Site \"nexus\" lancé sur http://localhost:9774\n```\n\n---\n\n## 💻 Utiliser le CLI interactif\n\nLance l’outil de gestion de sites Weblet :\n\n```bash\nnode manager.js\n```\n\nTu entreras dans un shell personnalisé :\n\n```\n🌐 Webhost CLI – Gestionnaire de sites\n\nwebhost\u003e create monsite sites/monsite 8080\nwebhost\u003e list\nwebhost\u003e update monsite 9090 sites/autre-dossier\nwebhost\u003e health monsite\nwebhost\u003e delete monsite\nwebhost\u003e exit\n```\n\n---\n\n## 📁 Exemple de configuration (`cfg/sites.json`)\n\n```json\n[\n  {\n    \"name\": \"velyorix\",\n    \"directory\": \"sites/velyorix\",\n    \"port\": 9965\n  },\n  {\n    \"name\": \"othersite\",\n    \"directory\": \"sites/othersite\",\n    \"port\": 9774\n  }\n]\n```\n\n---\n\n## 🛠️ Commandes CLI disponibles\n\n| Commande                       | Description                          |\n| ------------------------------ | ------------------------------------ |\n| `create \u003cnom\u003e \u003cpath\u003e \u003cport\u003e`   | Crée un nouveau site                 |\n| `update \u003cnom\u003e \u003cport?\u003e \u003cpath?\u003e` | Modifie le port ou le chemin du site |\n| `delete \u003cnom\u003e`                 | Supprime un site                     |\n| `list`                         | Affiche la liste des sites           |\n| `health \u003cnom\u003e`                 | Vérifie si un site est en ligne      |\n| `health-all`                   | Vérifie tous les sites               |\n| `help`                         | Affiche l'aide                       |\n| `exit` ou `quit`               | Ferme le CLI                         |\n\n---\n\n## ⚠️ Limitations\n\nWeblet est conçu uniquement pour héberger des **sites statiques** (HTML/CSS/JS).\nIl ne supporte **pas** les langages côté serveur comme :\n\n* PHP\n* Python (Django, Flask)\n* Ruby, Go, Java, etc.\n\nPour l'utiliser avec des frameworks modernes, assurez-vous d’avoir **build** votre site (ex : `npm run build` pour React/Vue/Nuxt), puis utilisez le dossier de sortie (souvent `dist/` ou `build/`) comme chemin dans `sites.json`.\n\n---\n\n## 💡 À venir\n\n* Interface Web de gestion\n* Support HTTPS\n* Reverse Proxy natif\n* Déploiement en container\n* Système de logs par site\n\n---\n\n## 📄 Licence\n\n[LICENSE MIT](LICENSE) – Utilisation libre et open-source.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuketsush%2Fweblet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuketsush%2Fweblet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuketsush%2Fweblet/lists"}