Accueil🇫🇷Chercher

Ocsigen

Ocsigen est un outil de développement web et mobile, développé par le laboratoire français IRIF[1] et par la société Be Sport SAS, utilisant des solutions nouvelles issues de la recherche sur les langages de programmation.

Il se compose :

  • d'un compilateur du langage OCaml vers le langage Javascript, js_of_ocaml. Il permet d'exĂ©cuter dans un navigateur des programmes Ă©crits en OCaml, de manière portable et sans rien devoir installer. Le compilateur prend comme langage source le bytecode OCaml, c'est-Ă -dire un programme OCaml dĂ©jĂ  compilĂ©. Cette technique rend l'utilisation du compilateur très simple, et permet mĂŞme d'utiliser des bibliothèques dont le code source n'est pas disponible.
  • d'une extension multi-tiers du langage OCaml, qui permet de programmer une application client-serveur comme un seul programme avec des annotations.
  • d'un module appelĂ© Eliom pour Ă©crire des applications Web client/serveur (ou serveur seulement) en utilisant des concepts de haut niveau. Le but est de programmer en très peu de lignes des comportements complexes, et d'assurer une garantie de bon fonctionnement grâce au typage statique. En particulier, on peut choisir un mode de validation statique des pages qui rend quasiment impossible la gĂ©nĂ©ration de pages qui ne respectent pas les recommandations du W3C. Ceci est obtenu en exploitant de manière poussĂ©e le puissant système de types du langage OCaml. L'ensemble de l'application est Ă©crite en OCaml, et certaines parties sont compilĂ©es vers Javascript pour ĂŞtre exĂ©cutĂ©es dans un navigateur. Eliom prend en charge automatiquement la communication entre le serveur et le client. Le programme client peut utiliser des valeurs dĂ©finies sur le serveur et l'Ă©change est facilitĂ© par le fait que les deux utilisent le mĂŞme langage, et donc les mĂŞmes types de donnĂ©es.
  • d'une bibliothèque de threads coopĂ©ratifs lwt, qui permet de programmer des comportements concurrents avec peu de risques de blocage ou d'accès concurrents Ă  la mĂ©moire partagĂ©e (coopĂ©ration entre les threads Ă  des endroits bien identifiĂ©s). Elle utilise un style monadique, ce qui rend son utilisation assez transparente.
  • d'un serveur web complet et extensible. Il est dotĂ© de la plupart des fonctionnalitĂ©s utiles, notamment un module pour exĂ©cuter des CGI, un reverse proxy (qui rend possible l'utilisation en tandem avec un autre serveur web), la compression des donnĂ©es, le contrĂ´le d'accès... Il est très facile de l'Ă©tendre en crĂ©ant des modules en OCaml.

Ocsigen est utilisé comme plateforme par le réseau social Be Sport et pour plusieurs projets de systèmes de gestion de contenu, comme Lambdium ou Nurpawiki.

Le compilateur Ocsigen Js_of_ocaml est utilisé par de nombreux projets, dont le compilateur Hack de Facebook.

Parmi les auteurs d'Ocsigen figurent plusieurs chercheurs en informatique qui utilisent le projet comme base d'expérimentation pour leur recherche.

Le nom Ocsigen est un homophone de l'élément chimique oxygène ; de même, le module Eliom est un homophone de l'élément hélium.

Notes et références

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.