← Accueil · Stacks & langages · Toute la doc
OCaml sur Outscale
OCaml allie typage fort, compilation native et excellentes performances : un choix solide pour des backends web sûrs et sobres. bige-ops déploie ton service OCaml sur Outscale comme un service custom construit depuis ton Dockerfile, avec ses bases en subnet privé.
custom dans bige-ops : image construite depuis ton Dockerfile (opam + dune), port et mémoire au choix. Topologies mono-VM, multi-VM ou OKS.
Frameworks et bibliothèques
Les frameworks web OCaml les plus utilisés.
Dream
Un framework web tout-en-un dans un seul module : routeur, sessions, formulaires protégés contre le CSRF, WebSockets, GraphQL, HTTPS et HTTP/2, et accès SQL via Caqti.
Opium
Un framework léger inspiré de Sinatra, pour des API REST simples.
Ocsigen et Eliom
Eliom écrit client et serveur dans le même programme OCaml, servi par Ocsigen Server ; le client est compilé en JavaScript.
Caqti
L’interface commune aux bases relationnelles : pilotes PostgreSQL (postgresql://), MariaDB (mariadb://) et SQLite, choisis par l’URI de connexion.
documentation officielle · PostgreSQL sur OpenCVE · MariaDB sur OpenCVE
opam et dune
opam installe le compilateur et les paquets, dune construit le projet ; un Dockerfile multi-étapes part de l’image ocaml/opam et livre un binaire natif dans une image minimale.
documentation officielle · opam sur OpenCVE · OCaml sur OpenCVE
Faire tourner OCaml sur Outscale avec bige-ops
Déclare ton service en kind: custom avec l’image construite depuis ton Dockerfile (ou un dépôt Git), son port et sa mémoire : un binaire natif OCaml se contente de peu. En multi-VM il partage la VM app ; sur OKS il devient un Deployment (une image est requise pour un pod).
| Topologie | Sur Outscale | Pour |
|---|---|---|
single-vm | une VM {name}-all avec IP publique : apps et bases en Docker Compose | prototype, démo, environnement de test |
multi-vm | VM app en subnet public derrière un LBU, une VM privée par base (security groups au CIDR du Net), NAT pour la sortie | la production simple et lisible |
oks | cluster OKS (control plane managé + nodepools), un Deployment par service, Service LoadBalancer → LBU | le scale horizontal, les microservices, l’HPA |
# service_config (extrait) web: kind: custom image: registry.example.com/acme/ocaml-web:1.0.0 port: 8080 memory_mb: 256
Les bases du catalogue bige-ops (PostgreSQL, MariaDB, Redis…) se déclarent à côté, en VM privée ou en pod.
Ce que bige-ops vérifie pour OCaml
Des failles, il y en aura toujours : l’important est de voir d’abord celles qui sont exposées. L’analyse du code OCaml arrive ; ta stack est déjà couverte : avec ta clé OpenCVE, ses composants et ses images (y compris celles de tes Dockerfile et docker-compose) sont comparés aux failles connues publiées dans le registre mondial des vulnérabilités (CVE) ; l’exposition dans la simulation et le coût sur Outscale sont calculés à côté.
Tout est classé par urgence : ce qui est exposé à Internet d’abord. Pourquoi le refaire toi-même ? C’est chez toi, sur ton poste, et c’est gratuit. La méthode complète : ce que bige-ops vérifie.
Bases de données typiques
Caqti couvre PostgreSQL et MariaDB, les deux bases les plus courantes avec OCaml.
| Base | Avec ce langage | Failles connues |
|---|---|---|
| PostgreSQL | Caqti (postgresql://), Petrol. Stack : Phoenix + PostgreSQL. | fiche OpenCVE |
| MariaDB | Caqti (mariadb://). Stack : WordPress + MariaDB. | fiche OpenCVE |
| Redis | clients redis OCaml. | fiche OpenCVE |
Règle d’or, quelle que soit la base : jamais exposée à Internet. En multi-VM elle vit dans le subnet privé, sans IP publique, derrière un security group limité au CIDR du Net ; sur OKS elle reste un Service interne (ClusterIP). Détail : réseau · ouvrir ou non et bases de données.
Versions à épingler
Épingle le compilateur dans ton switch opam et tes paquets dans un fichier de lock opam. Sources : versions d’OCaml · sécurité OCaml · Failles connues : OCaml sur OpenCVE · opam sur OpenCVE.
OpenCVE, la source des failles connues
Pour savoir quelles failles connues touchent les briques de ta stack, bige-ops s’appuie sur OpenCVE. OpenCVE rassemble les failles publiées dans le registre mondial des vulnérabilités (CVE) et ses sources officielles (NVD, MITRE, liste KEV des failles déjà exploitées tenue par la CISA, l’agence américaine de cybersécurité…), donne à chacune sa note de gravité sur 10 (CVSS) et sa probabilité d’être exploitée (EPSS), et les range par éditeur et par produit, consultables dans son explorateur. Le projet est open source : son code, ses issues et les contributions de sa communauté vivent sur GitHub, et il s’installe aussi chez toi. Merci à ses mainteneurs et à tous ceux qui font vivre ce référentiel : c’est grâce à eux que chaque composant de ta simulation a sa fiche de failles à jour.
Stacks OCaml chiffrées
- Les architectures multi-VM des pages Phoenix + PostgreSQL et WordPress + MariaDB se transposent à un service OCaml.
Docs officielles
Pour aller plus loin : layouts & topologies, VMs, OKS, volumes BSU, OOS, LBU, réseau, régions, bases de données, catalogue de prix. Toutes les stacks : stacks & langages.