Repository navigation
Releases
ALEX 1.4.0
Nouvelle version stable d'ALEX : le compilateur alexc, portable, pour Windows et Linux. Cette version apporte une pile réseau et web complète écrite en ALEX : TLS 1.3, HTTP/2, certificats Let's Encrypt et pilote PostgreSQL.
Comme pour la version 1.3.0, chaque archive contient un seul exécutable. Le compilateur, la machine virtuelle et la bibliothèque standard sont embarqués dedans : il n'y a rien à installer. Au premier lancement, le SDK est extrait dans un cache (%LOCALAPPDATA%\alex\sdk sous Windows, ~/.cache/alex/sdk sous Linux).
Téléchargement
| Système | Archive |
|---|---|
| Windows x64 | alexc-1.4.0-windows-x86_64.zip |
| Linux x86-64 | alexc-1.4.0-linux-x86_64.tar.gz |
Les sommes de contrôle sont dans SHA256SUMS. Pour vérifier une archive : sha256sum -c SHA256SUMS sous Linux, Get-FileHash sous Windows.
Nouveautés
Sécurité et chiffrement, en ALEX pur
- TLS 1.3 client et serveur (
network.tls13), avec reprise de session par tickets. HTTPS fonctionne sans OpenSSL. - Cryptographie : primitives de TLS 1.3, X25519, P-256 et P-384 (ECDH, ECDSA), RSA. L'implémentation de X25519 dans le runtime est accélérée.
- Certificats : certificats auto-signés de développement (
crypto.x509) et client ACME / Let's Encrypt (network.acme), avec renouvellement sans interruption de service. - Exécutables natifs : SHA-256, HMAC, PBKDF2 et réflexion sont disponibles dans le runtime.
- Avec OpenSSL : poignée de main serveur non bloquante, contexte partagé et reprise de session entre connexions.
Serveur web (web.server)
- HTTP/2 : h2c par préface, h2 par ALPN.
- Gestionnaires
async, WebSocket async, flux et Server-Sent Events. - Plusieurs processus, rechargement à chaud, calcul délégué à des fils (
thread.offload). - Envoi des fichiers en arrière-plan et versions précompressées. Le traitement des requêtes HTTP est allégé.
- Les poignées de main TLS ne bloquent plus le serveur.
- Les journaux sont écrits ligne par ligne.
Bases de données (database)
- Pilote PostgreSQL (protocole v3, SCRAM-SHA-256, md5, TLS).
- Pilote du serveur ALEX DB (
alexdb://, protocole AQLP). - Moteur embarqué : clés étrangères,
ALTER TABLE,LIMITtrès grand. - Accès asynchrone (
database.async_database). Délai d'attente des verrous SQLite fixé à 5 s.
Images
image.encode: encodeurs JPEG et PNG, prise en compte de l'orientation Exif, vignettes.
Outils et runtime
alexc testexécute les tests async.- Le cache des modules dépend de la bibliothèque standard, et le résolveur accepte les sources en chemin absolu.
- Corrections : un fil qui se termine ne ferme plus les ressources de son parent, et la file des tâches prêtes ne retient plus les tâches déjà exécutées.
Documentation
- Guides PDF pour apprendre ALEX : parcours pratique pour débutants et diaporama.
Démarrage rapide
alexc run bonjour.al # compile et exécute
alexc build --native bonjour.al # exécutable natif pour le système courant
alexc build --native --windows app.al # exécutable Windows (aussi depuis Linux)
alexc build --native --linux app.al # exécutable Linux (aussi depuis Windows)
alexc new server mon_api # nouveau projet serveur
À savoir
- Windows : les exécutables ne sont pas encore signés. SmartScreen peut afficher « Windows a protégé votre ordinateur » : cliquez sur « Informations complémentaires », puis sur « Exécuter quand même ».
- Linux : après extraction de l'archive, lancez
chmod +x alexcsi le droit d'exécution a été perdu.
Licence Apache 2.0. Copyright 2026 Alexandre Koffi.
ALEX 1.3.0
Première version publique d'ALEX, en version stable : le compilateur alexc, portable, pour Windows et Linux.
Chaque archive contient un seul exécutable. Le compilateur, la machine virtuelle et la bibliothèque standard sont embarqués dedans : il n'y a rien à installer. Au premier lancement, le SDK est extrait dans un cache (%LOCALAPPDATA%\alex\sdk sous Windows, ~/.cache/alex/sdk sous Linux).
Téléchargement
| Système | Archive |
|---|---|
| Windows x64 | alexc-1.3.0-windows-x86_64.zip |
| Linux x86-64 | alexc-1.3.0-linux-x86_64.tar.gz |
Les sommes de contrôle sont dans SHA256SUMS. Pour vérifier une archive : sha256sum -c SHA256SUMS sous Linux, Get-FileHash sous Windows.
Démarrage rapide
alexc run bonjour.al # compile et exécute
alexc build --native bonjour.al # exécutable natif pour le système courant
alexc build --native --windows app.al # exécutable Windows (aussi depuis Linux)
alexc build --native --linux app.al # exécutable Linux (aussi depuis Windows)
alexc build --native --alexos app.al # exécutable Alex OS
alexc new console mon_app # nouveau projet
Les autres outils sont alexc test, fmt, doc, pkg, repl, debug et lsp. La documentation se trouve dans docs/.
Nouveautés de cette version
- Sous Windows,
alexc build --nativeproduit par défaut un exécutable Windows. Il produisait auparavant un exécutable Linux. La nouvelle option--linuxproduit un exécutable Linux depuis Windows. alexc --versionindique la plateforme sur laquelle le compilateur s'exécute.alexcportable :- sous Linux, la machine virtuelle extraite est maintenant exécutable ;
- le SDK embarqué reste lisible quand l'exécutable est signé (Authenticode).
À savoir
- Windows : les exécutables ne sont pas encore signés. SmartScreen peut afficher « Windows a protégé votre ordinateur » : cliquez sur « Informations complémentaires », puis sur « Exécuter quand même ».
- Linux : après extraction de l'archive, lancez
chmod +x alexcsi le droit d'exécution a été perdu.
Licence Apache 2.0. Copyright 2026 Alexandre Koffi.