fazer-lang 3.5.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,24 +2,38 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [3.4.0] - 2026-01-26
5
+ ## [4.0.0] - 2026-01-28
6
6
 
7
- ### Added
8
- - **Native Database (`db`)**: Built-in JSON NoSQL database.
9
- - `db.open(path)`: Load/create a database file.
10
- - `db.set(key, val)`, `db.get(key)`, `db.push(key, item)`: Data manipulation.
11
- - `db.save()`: Persist data to disk.
12
- - **Task Scheduler (`sched`)**: Native automation scheduler.
13
- - `sched.every(ms, fn)`: Recurring tasks (intervals).
14
- - `sched.after(ms, fn)`: Delayed tasks (timeouts).
15
- - **Network Sockets (`net`)**: Low-level TCP/UDP support.
16
- - `net.tcp_client(host, port, callback)`: Raw TCP client.
17
- - `net.udp_socket(port, callback)`: UDP Server (bind) or Client.
18
- - **Physics Helpers (`phys`)**: Game development math utilities.
19
- - `phys.dist`, `phys.angle`, `phys.clamp`, `phys.lerp`, `phys.aabb`.
20
- - **Ecosystem**: Added `opensiren.fz` example (UDP Syslog Server).
7
+ ### Added (The "Empire" Update)
8
+
9
+ - **Core & Runtime**:
10
+ - **Async/Await**: Native syntax for asynchronous operations (`async fn`, `await`).
11
+ - **Channels**: Go-style concurrency primitives (`chan`, `send`, `recv`, `close`).
12
+ - **Profiler**: Performance analysis tools (`profile.start`, `profile.end`).
13
+ - **Trace Mode**: Function call tracing for debugging (`trace.on`, `trace.off`).
14
+ - **WASM**: WebAssembly support (`wasm.load`, `wasm.run`).
15
+ - **Plugin System**: Dynamic loading of `.js` extensions (`load_plugin`).
16
+ - **Permission Sandbox**: Granular access control CLI flags (`--allow-net`, `--deny-fs`).
17
+
18
+ - **Network & Server**:
19
+ - **HTTP Server**: `net.server(port, handler)` with automatic JSON body parsing.
20
+ - **WebSocket Client**: `net.websocket(url)` supporting both `ws` package and native implementation.
21
+ - **Fetch**: Enhanced `fetch()` with JSON object support, auto-headers, and redirect following.
22
+ - **SQLite**: Native `sqlite` module (via `better-sqlite3`) for robust local databases.
23
+
24
+ - **Security & Crypto**:
25
+ - **RSA**: Full RSA support (`rsa_keypair`, `rsa_encrypt`, `rsa_decrypt`, `sign`, `verify`).
26
+ - **Keystore**: Encrypted secret storage (`keystore.open`, `keystore.save`, `keystore.set/get`).
27
+ - **Shred**: Secure file deletion (`security.shred`).
28
+
29
+ - **System & Utils**:
30
+ - **Integration**: `clipboard` (get/set), `notify` (toast), `window` (dialogs).
31
+ - **Data Formats**: `csv` (parse/stringify), `compression` (gzip/gunzip).
32
+ - **Cron**: Task scheduling with `sched.cron(expr, fn)`.
33
+ - **Logging**: Structured logger (`log.info`, `log.warn`, `log.error`).
34
+ - **Testing**: Built-in test runner (`test.assert`, `test.run`).
21
35
 
22
- ## [3.3.0] - 2026-01-25
36
+ ## [3.5.0] - 2026-01-26
23
37
 
24
38
  ### Added
25
39
  - **GFX Image & Audio**:
package/README.md CHANGED
@@ -4,17 +4,38 @@
4
4
 
5
5
  Conçu pour l'automatisation, la sécurité et le traitement de données, Fazer combine une syntaxe concise avec une bibliothèque standard "batteries included".
6
6
 
7
- ![Version](https://img.shields.io/badge/version-3.5.0-blue.svg) ![License](https://img.shields.io/badge/license-MIT-green.svg)
7
+ ![Version](https://img.shields.io/badge/version-4.0.0-blue.svg) ![License](https://img.shields.io/badge/license-MIT-green.svg)
8
8
 
9
- ## Nouveautés v3.5 (Security & Interactive Update)
9
+ ## Nouveautés v4.0 (The "Empire" Update)
10
10
 
11
- * **Interactive (`read_line`)** : Entrée utilisateur native dans la console.
12
- * **Sentinelle** : Outil de sécurité console complet inclus.
13
- * **Base de Données (`db`)** : Stockage JSON natif et persistant.
14
- * **Planificateur (`sched`)** : Automatisation de tâches (Cron-like).
15
- * **Réseau (`net`)** : Support complet TCP/UDP Sockets.
16
- * **Physique (`phys`)** : Outils mathématiques pour le jeu vidéo.
17
- * **Sécurité (`security`)** : Chiffrement militaire, suppression sécurisée (shred), stéganographie et protection système.
11
+ Cette mise à jour majeure transforme Fazer en un véritable écosystème de développement complet, sécurisé et prêt pour la production.
12
+
13
+ ### 🌐 Réseau & Serveur (`net`, `http`, `sqlite`)
14
+ * **Serveur HTTP Natif** : Créez des APIs REST en quelques lignes avec support automatique du JSON.
15
+ * **WebSocket Client** : Connectez-vous aux sockets temps réel (`ws://`, `wss://`).
16
+ * **Fetch Amélioré** : Requêtes HTTP complètes avec gestion automatique des objets JSON et redirections.
17
+ * **SQLite Intégré** : Base de données SQL locale rapide et sans configuration (`sqlite.open`).
18
+
19
+ ### ⚡ Performance & Concurrence
20
+ * **Async/Await** : Support natif pour un code asynchrone propre.
21
+ * **Channels (Go-style)** : Communication inter-processus sécurisée (`chan`, `send`, `recv`).
22
+ * **Profiler & Trace** : Analysez les performances (`profile.start/end`) et tracez l'exécution fonction par fonction.
23
+ * **WASM** : Exécutez du code WebAssembly directement dans Fazer (`wasm.load`).
24
+
25
+ ### 🔒 Sécurité & Cryptographie Avancée
26
+ * **Sandbox de Permissions** : Contrôle granulaire des accès (`--allow-net`, `--deny-fs`, etc.) au lancement.
27
+ * **Crypto RSA** : Génération de paires de clés, chiffrement asymétrique et signatures numériques.
28
+ * **Keystore Chiffré** : Stockage sécurisé de secrets (clés API, tokens) avec chiffrement AES-256.
29
+ * **Stéganographie & Shred** : Outils offensifs et défensifs intégrés.
30
+
31
+ ### 🛠️ Outils & Système
32
+ * **Système de Plugins** : Chargez des extensions `.js` dynamiquement.
33
+ * **Intégration Système** : Presse-papiers (`clipboard`), Notifications (`notify`), Fenêtres natives.
34
+ * **CSV & Compression** : Parsing CSV robuste et compression GZIP/Deflate native.
35
+ * **Test Runner** : Framework de test intégré (`test.assert`, `test.run`).
36
+ * **Logs Structurés** : Logging couleur avec niveaux (`info`, `warn`, `error`).
37
+
38
+ ---
18
39
 
19
40
  ## 🛡️ Showcase : Sentinelle
20
41
 
@@ -139,6 +160,81 @@ Documentation détaillée par section :
139
160
  * **Réseau & Web** : Client HTTP `fetch`, serveur web `server`, et module `discord`.
140
161
  * **Système** : Manipulation fichiers, processus et presse-papier.
141
162
 
163
+ ## Feuille de Route (Grandes Extensions)
164
+
165
+ ### Langage & Exécution
166
+ - Ajouter async/await natif et Promises internes pour uniformiser l’asynchronisme.
167
+ - Introduire des “channels” et “workers” légers (goroutine-like) pour concurrence structurée.
168
+ - Activer un profiler CPU/IO intégré et un mode “trace” pour diagnostiquer la perf.
169
+ - Mettre en cache l’AST/bytecode (compilation incrémentale) pour accélérer les lancements.
170
+ - Exposer un “sandbox” d’exécution (policy de permissions: fs/net/sys) pour scripts confinés.
171
+
172
+ ### Interop & Extensibilité
173
+ - FFI minimal pour appeler des fonctions C/DLL/SO avec mapping types sûrs.
174
+ - Support WebAssembly en exécution embarquée (charger et appeler des modules .wasm).
175
+ - “Plugins Fazer” (API stable): modules communautaires auto-chargés via convention.
176
+
177
+ ### Sécurité & Confidentialité
178
+ - Keystore sécurisé intégré (stockage secrets chifrés, KMS local).
179
+ - PGP-like: signer/vérifier/chiffrer des fichiers et messages.
180
+ - Safe-zip (zip chiffré, signature d’archive, intégrité).
181
+ - Scanner d’intégrité (inventaire SHA-256 + détection de dérive).
182
+ - Audit réseau (capture basique, DNS monitor, détection connexions sortantes suspectes).
183
+ - Sandboxing réseau (liste blanche IP/ports au niveau runtime avec netsh/iptables abstrait).
184
+
185
+ ### Réseau & Intégrations
186
+ - HTTP complet: retries, backoff, pooling, proxy, cookies, multipart, streaming.
187
+ - WebSocket/MQTT natifs pour apps temps réel et IoT.
188
+ - Client S3/GCS/Azure Blob minimal (GET/PUT, presigned URLs).
189
+ - Tunnels locaux (reverse proxy dev) avec authentification simple.
190
+
191
+ ### Automatisation Système & Desktop
192
+ - Automatisation UI native (Windows UIA, macOS AX, Linux AT-SPI) pour tests/app headless.
193
+ - Automatisation navigateur (Chrome/Edge) embarquée type Playwright-like minimal.
194
+ - Jobs planifiés: cron syntactic sugar, persistance des tâches, journaux.
195
+
196
+ ### Données & Science
197
+ - Tableaux numériques optimisés (typed arrays, opérations vectorisées).
198
+ - CSV/Parquet readers/writers et pipeline ETL (map/reduce/aggregate).
199
+ - Visualisation terminal (sparklines, histogrammes, heatmaps ASCII).
200
+ - Moteur de requêtes “query” sur JSON/CSV (sélection, filtre, groupby).
201
+
202
+ ### Base de Données
203
+ - SQLite intégré (sans dépendance externe côté API: bundling selectif) et mini ORM.
204
+ - KV store natif (LMDB/LevelDB-like en JS natif) pour cache et queues persistantes.
205
+
206
+ ### Interface & UX
207
+ - Toolkit TUI riche (panels, tables, forms, navigation), non-bloquant.
208
+ - Générateur d’apps (fazer create) avec templates prêtes (cli, tui, service, webview).
209
+ - Thèmes et i18n natifs pour standardiser l’expérience utilisateur.
210
+
211
+ ### DevEx & Qualité
212
+ - Linter/formatter officiel (opinions simples, auto-fix).
213
+ - Test runner intégré (describe/it, assertions, coverage simple).
214
+ - Debugger pas-à-pas (breakpoints, watch, step) via protocole runtime.
215
+ - Docstrings et génération docs (fazer doc) à partir des signatures.
216
+ - Telemetry opt-in (usage anonymisé) pour comprendre adoption, désactivable globalement.
217
+
218
+ ### Distribution & Build
219
+ - Emballage autonome: build en exécutable multiplateforme avec runtime embarqué.
220
+ - Signatures de build (hash + signature binaire) pour confiance et releases vérifiables.
221
+ - Packager “assets” (images, sons, modèles) avec manifest, cachehash et hot-reload.
222
+
223
+ ### Web & Graphique
224
+ - Webview modernisé (Chromium headless) avec bridge sécurisé bidirectionnel.
225
+ - Rendu 2D TUI + sprites ASCII, animations terminales fluides (pour jeux/monitoring).
226
+ - Export PDF/Image (rasterize) pour rapports et dashboards automatiques.
227
+
228
+ ### Observabilité
229
+ - Logger structuré (levels, JSON, rotation, sinks: file/console/http).
230
+ - Metrics intégrés (counters, histograms) + endpoint Prometheus optionnel.
231
+ - Traces (correlation-id) pour scripts longs et systèmes distribués.
232
+
233
+ ### Gouvernance & Écosystème
234
+ - Registre des modules Fazer (index JSON) avec vérification signatures des packages.
235
+ - Badge “verified” pour modules maintenus et conformes (tests/docs).
236
+ - “Examples Hub” riche avec cas réels: sécurité, scraping, ETL, UI.
237
+
142
238
  ## Copyright
143
239
 
144
240
  © 2026 **L'EMPRISE**. Tous droits réservés.
package/docs/GUIDE.md CHANGED
@@ -257,6 +257,83 @@ print(page.status)
257
257
  Fazer 3.2 intègre un moteur 3D complet (WebGL 2.0).
258
258
 
259
259
  ### Démarrage Rapide
260
+
261
+ ---
262
+
263
+ ## Feuille de Route (Vision)
264
+
265
+ ### Langage & Exécution
266
+ - Ajouter async/await natif et Promises internes pour uniformiser l’asynchronisme.
267
+ - Introduire des “channels” et “workers” légers (goroutine-like) pour concurrence structurée.
268
+ - Activer un profiler CPU/IO intégré et un mode “trace” pour diagnostiquer la perf.
269
+ - Mettre en cache l’AST/bytecode (compilation incrémentale) pour accélérer les lancements.
270
+ - Exposer un “sandbox” d’exécution (policy de permissions: fs/net/sys) pour scripts confinés.
271
+
272
+ ### Interop & Extensibilité
273
+ - FFI minimal pour appeler des fonctions C/DLL/SO avec mapping types sûrs.
274
+ - Support WebAssembly en exécution embarquée (charger et appeler des modules .wasm).
275
+ - “Plugins Fazer” (API stable): modules communautaires auto-chargés via convention.
276
+
277
+ ### Sécurité & Confidentialité
278
+ - Keystore sécurisé intégré (stockage secrets chifrés, KMS local).
279
+ - PGP-like: signer/vérifier/chiffrer des fichiers et messages.
280
+ - Safe-zip (zip chifré, signature d’archive, intégrité).
281
+ - Scanner d’intégrité (inventaire SHA-256 + détection de dérive).
282
+ - Audit réseau (capture basique, DNS monitor, détection connexions sortantes suspectes).
283
+ - Sandboxing réseau (liste blanche IP/ports au niveau runtime avec netsh/iptables abstrait).
284
+
285
+ ### Réseau & Intégrations
286
+ - HTTP complet: retries, backoff, pooling, proxy, cookies, multipart, streaming.
287
+ - WebSocket/MQTT natifs pour apps temps réel et IoT.
288
+ - Client S3/GCS/Azure Blob minimal (GET/PUT, presigned URLs).
289
+ - Tunnels locaux (reverse proxy dev) avec authentification simple.
290
+
291
+ ### Automatisation Système & Desktop
292
+ - Automatisation UI native (Windows UIA, macOS AX, Linux AT-SPI) pour tests/app headless.
293
+ - Automatisation navigateur (Chrome/Edge) embarquée type Playwright-like minimal.
294
+ - Jobs planifiés: cron syntactic sugar, persistance des tâches, journaux.
295
+
296
+ ### Données & Science
297
+ - Tableaux numériques optimisés (typed arrays, opérations vectorisées).
298
+ - CSV/Parquet readers/writers et pipeline ETL (map/reduce/aggregate).
299
+ - Visualisation terminal (sparklines, histogrammes, heatmaps ASCII).
300
+ - Moteur de requêtes “query” sur JSON/CSV (sélection, filtre, groupby).
301
+
302
+ ### Base de Données
303
+ - SQLite intégré (sans dépendance externe côté API: bundling selectif) et mini ORM.
304
+ - KV store natif (LMDB/LevelDB-like en JS natif) pour cache et queues persistantes.
305
+
306
+ ### Interface & UX
307
+ - Toolkit TUI riche (panels, tables, forms, navigation), non-bloquant.
308
+ - Générateur d’apps (fazer create) avec templates prêtes (cli, tui, service, webview).
309
+ - Thèmes et i18n natifs pour standardiser l’expérience utilisateur.
310
+
311
+ ### DevEx & Qualité
312
+ - Linter/formatter officiel (opinions simples, auto-fix).
313
+ - Test runner intégré (describe/it, assertions, coverage simple).
314
+ - Debugger pas-à-pas (breakpoints, watch, step) via protocole runtime.
315
+ - Docstrings et génération docs (fazer doc) à partir des signatures.
316
+ - Telemetry opt-in (usage anonymisé) pour comprendre adoption, désactivable globalement.
317
+
318
+ ### Distribution & Build
319
+ - Emballage autonome: build en exécutable multiplateforme avec runtime embarqué.
320
+ - Signatures de build (hash + signature binaire) pour confiance et releases vérifiables.
321
+ - Packager “assets” (images, sons, modèles) avec manifest, cachehash et hot-reload.
322
+
323
+ ### Web & Graphique
324
+ - Webview modernisé (Chromium headless) avec bridge sécurisé bidirectionnel.
325
+ - Rendu 2D TUI + sprites ASCII, animations terminales fluides (pour jeux/monitoring).
326
+ - Export PDF/Image (rasterize) pour rapports et dashboards automatiques.
327
+
328
+ ### Observabilité
329
+ - Logger structuré (levels, JSON, rotation, sinks: file/console/http).
330
+ - Metrics intégrés (counters, histograms) + endpoint Prometheus optionnel.
331
+ - Traces (correlation-id) pour scripts longs et systèmes distribués.
332
+
333
+ ### Gouvernance & Écosystème
334
+ - Registre des modules Fazer (index JSON) avec vérification signatures des packages.
335
+ - Badge “verified” pour modules maintenus et conformes (tests/docs).
336
+ - “Examples Hub” riche avec cas réels: sécurité, scraping, ETL, UI.
260
337
 
261
338
  ```fazer
262
339
  # Importer la bibliothèque standard 3D
package/docs/README.md CHANGED
@@ -27,3 +27,78 @@ Bienvenue dans la documentation officielle du langage **Fazer**.
27
27
 
28
28
  4. **[Exemples](./examples.md)**
29
29
  * Scripts complets pour apprendre par l'exemple.
30
+
31
+ ## Feuille de Route (Extensions publiables via npm/GitHub)
32
+
33
+ ### Langage & Exécution
34
+ - Ajouter async/await natif et Promises internes pour uniformiser l’asynchronisme.
35
+ - Introduire des “channels” et “workers” légers (goroutine-like) pour concurrence structurée.
36
+ - Activer un profiler CPU/IO intégré et un mode “trace” pour diagnostiquer la perf.
37
+ - Mettre en cache l’AST/bytecode (compilation incrémentale) pour accélérer les lancements.
38
+ - Exposer un “sandbox” d’exécution (policy de permissions: fs/net/sys) pour scripts confinés.
39
+
40
+ ### Interop & Extensibilité
41
+ - FFI minimal pour appeler des fonctions C/DLL/SO avec mapping types sûrs.
42
+ - Support WebAssembly en exécution embarquée (charger et appeler des modules .wasm).
43
+ - “Plugins Fazer” (API stable): modules communautaires auto-chargés via convention.
44
+
45
+ ### Sécurité & Confidentialité
46
+ - Keystore sécurisé intégré (stockage secrets chifrés, KMS local).
47
+ - PGP-like: signer/vérifier/chiffrer des fichiers et messages.
48
+ - Safe-zip (zip chifré, signature d’archive, intégrité).
49
+ - Scanner d’intégrité (inventaire SHA-256 + détection de dérive).
50
+ - Audit réseau (capture basique, DNS monitor, détection connexions sortantes suspectes).
51
+ - Sandboxing réseau (liste blanche IP/ports au niveau runtime avec netsh/iptables abstrait).
52
+
53
+ ### Réseau & Intégrations
54
+ - HTTP complet: retries, backoff, pooling, proxy, cookies, multipart, streaming.
55
+ - WebSocket/MQTT natifs pour apps temps réel et IoT.
56
+ - Client S3/GCS/Azure Blob minimal (GET/PUT, presigned URLs).
57
+ - Tunnels locaux (reverse proxy dev) avec authentification simple.
58
+
59
+ ### Automatisation Système & Desktop
60
+ - Automatisation UI native (Windows UIA, macOS AX, Linux AT-SPI) pour tests/app headless.
61
+ - Automatisation navigateur (Chrome/Edge) embarquée type Playwright-like minimal.
62
+ - Jobs planifiés: cron syntactic sugar, persistance des tâches, journaux.
63
+
64
+ ### Données & Science
65
+ - Tableaux numériques optimisés (typed arrays, opérations vectorisées).
66
+ - CSV/Parquet readers/writers et pipeline ETL (map/reduce/aggregate).
67
+ - Visualisation terminal (sparklines, histogrammes, heatmaps ASCII).
68
+ - Moteur de requêtes “query” sur JSON/CSV (sélection, filtre, groupby).
69
+
70
+ ### Base de Données
71
+ - SQLite intégré (sans dépendance externe côté API: bundling selectif) et mini ORM.
72
+ - KV store natif (LMDB/LevelDB-like en JS natif) pour cache et queues persistantes.
73
+
74
+ ### Interface & UX
75
+ - Toolkit TUI riche (panels, tables, forms, navigation), non-bloquant.
76
+ - Générateur d’apps (fazer create) avec templates prêtes (cli, tui, service, webview).
77
+ - Thèmes et i18n natifs pour standardiser l’expérience utilisateur.
78
+
79
+ ### DevEx & Qualité
80
+ - Linter/formatter officiel (opinions simples, auto-fix).
81
+ - Test runner intégré (describe/it, assertions, coverage simple).
82
+ - Debugger pas-à-pas (breakpoints, watch, step) via protocole runtime.
83
+ - Docstrings et génération docs (fazer doc) à partir des signatures.
84
+ - Telemetry opt-in (usage anonymisé) pour comprendre adoption, désactivable globalement.
85
+
86
+ ### Distribution & Build
87
+ - Emballage autonome: build en exécutable multiplateforme avec runtime embarqué.
88
+ - Signatures de build (hash + signature binaire) pour confiance et releases vérifiables.
89
+ - Packager “assets” (images, sons, modèles) avec manifest, cachehash et hot-reload.
90
+
91
+ ### Web & Graphique
92
+ - Webview modernisé (Chromium headless) avec bridge sécurisé bidirectionnel.
93
+ - Rendu 2D TUI + sprites ASCII, animations terminales fluides (pour jeux/monitoring).
94
+ - Export PDF/Image (rasterize) pour rapports et dashboards automatiques.
95
+
96
+ ### Observabilité
97
+ - Logger structuré (levels, JSON, rotation, sinks: file/console/http).
98
+ - Metrics intégrés (counters, histograms) + endpoint Prometheus optionnel.
99
+ - Traces (correlation-id) pour scripts longs et systèmes distribués.
100
+
101
+ ### Gouvernance & Écosystème
102
+ - Registre des modules Fazer (index JSON) avec vérification signatures des packages.
103
+ - Badge “verified” pour modules maintenus et conformes (tests/docs).
104
+ - “Examples Hub” riche avec cas réels: sécurité, scraping, ETL, UI.