Sortie d’Erlang/OTP 24

Posté par  (site web personnel) . Édité par Ysabeau 🧶 🧦 et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
33
23
juil.
2021
Programmation fonctionnelle

À l’occasion de la sortie d’Erlang/OTP 24, le 12 mai 2021, je voudrais vous présenter cet environnement de programmation : le langage Erlang et son écosystème.

Appel à conférences PolyConf 17 à Paris (7 au 9 juillet) : « The Universe of Programming Languages »

Posté par  . Édité par Benoît Sibaud, Davy Defaud et Nils Ratusznik. Modéré par Nils Ratusznik. Licence CC By‑SA.
9
14
mar.
2017
Éducation

PolyConf est une conférence pour échanger sur les meilleures pratiques de la programmation. Les programmeurs sont trop souvent réduits à un langage de programmation alors qu’il est plus sage, dans un contexte d’innovation constante, d’apprendre à apprendre et de combiner le meilleur de chaque langage dans des solutions ad hoc. Autrement dit, le fait de ne pas se spécialiser en tant que développeur sur un langage spécifique, pour préférer une approche polyvalente. Concrètement, cela s’est reflété dans le programme de l’événement qui a traité de nombreux sujets : Ruby, Python, Haskell, Rust, Erlang, Go, Java, F#, JavaScript…

NdM. : cette édition est intitulée « L’univers des langages de programmation. Ne voyez pas les frontières / limites, voyez les horizons » (The Universe of Programming Languages. Never see boundaries, but only horizons). Les trois précédentes éditions ont eu lieu à Poznan en Pologne. Les huit éditions précédentes (à l’époque l’événement se nommait « RuPy », a priori plus centré sur Ruby et Python) ont eu lieu à Budapest, Brno, au Brésil et en Pologne.

L’appel à conférences se termine le 19 mars.

saloon : débuter simplement une application web avec erlang et angular

Posté par  (site web personnel) . Édité par Benoît Sibaud, Nÿco, palm123 et Bruno Michel. Modéré par tuiu pol. Licence CC By‑SA.
Étiquettes :
15
4
fév.
2016
Programmation fonctionnelle

Le problème des piles pour applications web

Si vous avez déjà cherché à développer une appli web moderne, vous avez déjà dû vous heurter à la question de choisir les bons composants parmi la foultitude de ceux existants… et surtout les faire fonctionner.

Premièrement, quand je parle d'applis web modernes, il faut savoir qu'elles partagent en général cette architecture :

  • un serveur HTTP,
  • un cadriciel pour exposer des API REST,
  • un cadriciel JavaScript pour la partie frontend: il consomme les API REST et met en forme les données en HTML,
  • un système de construction (build), ou plutôt des, la partie serveur et la partie frontend utilisant en général un système différent.

Bref, il fait fonctionner tout cela ensemble, vérifier les incompatibilités, etc.

Les générateurs d'applications yeoman

Le projet yeoman vise à fournir des générateurs d'applications qui intègrent des piles complètes et prêtes à l'emploi dans le domaine des applis web. Même si le projet est issu de la communauté node.js, on peut aisément écrire des générateurs pour n'importe quelle techno.

saloon, faites entrer le cowboy

Le générateur saloon (licence Apache v2) est un générateur yeoman pour débuter simplement une application web avec erlang et angular.

Rencontre Erlang Paris le mercredi 14 octobre 2015

Posté par  (site web personnel) . Édité par Bruno Michel, Benoît Sibaud, Nils Ratusznik, palm123 et bubar🦥. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
12
9
oct.
2015
Communauté

La communauté des praticiens Erlang d'Île de France et la communauté #FrenchErlang vous convient à une rencontre le mercredi 14 octobre 2015.

erlang

Au programme :

  • Torben Hoffmann (Basho) viendra tout spécialement nous faire une présentation de Riak ;
  • Éric Cestari (cstar industries) nous présentera "Une application web rapidement en production, pour pas un rond (ou presque) — Heroku sous Nitrogen" ;
  • Jérome Renard (ingénieur chez Swelen) nous fera un retour d'expérience sur la ré-écriture complète de Python à Erlang d'un adserver par 2 personnes qui ne connaissaient rien à Erlang, pourquoi ils ont choisi Erlang et le chemin qui les a amené jusqu'à la mise en production finale.

Notons également qu'il y a aura une rencontre Elixir la veille.

Sortie d'ejabberd 15.07

Posté par  (site web personnel) . Édité par palm123, Benoît Sibaud et Nÿco. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
43
29
juil.
2015
XMPP

ejabberd 15.07 vient de sortir et elle apporte un lot de nouveautés significatives.

Avant d'entrer dans le vif du sujet, pour ceux qui ne connaissent pas encore ce projet, il s'agit d'un serveur de messagerie conforme au protocole XMPP. Ce protocole est très vaste (NdM: voir la série d'articles présentant le protocole) et permet d'implémenter de nombreux types de systèmes de messagerie en temps réel, allant de la messagerie instantanée à l'Internet des objets, en passant par le jeu vidéo. C'est dire l'importance de ce protocole, à une époque où la plupart des systèmes de messagerie restent des silos fermés et sans capacité d'interopérer. XMPP supporte nativement la fédération, ce qui signifie que des utilisateurs de différents domaines peuvent communiquer entre eux.

ejabberd est l'un des serveurs XMPP les plus anciens et les plus reconnus. Il est inclus dans de nombreuses distributions Linux et se distingue par le fait qu'il est développé en Erlang. Cette caractéristique lui donne robustesse et fiabilité, mais aussi forte capacité à monter en charge.

Parmi les changements de fonctionnalités, l'accent est mis sur le support du PubSub et de l'archivage des messages. Ce sont aujourd'hui deux éléments fondamentaux du protocole XMPP qui sont en pleine évolution et façonnent le protocole XMPP de demain. Disposer d'un serveur avec des fonctionnalités très à jour sur ces aspects est crucial pour l'avenir du protocole.

Un gros effort a également été fait sur le packaging et la simplicité d'installation, en offrant notamment la possibilité de compiler et d'installer des modules issus de contributeurs externes sans avoir à devenir un expert d'Erlang.

Cette version est l'aboutissement de gros changements survenus durant les six derniers mois sur le projet et cette dépêche est aussi le moment de faire un bilan.

Rencontre « Erlang Paris », le 29 juin 2015

Posté par  (site web personnel) . Édité par Xavier Teyssier, Benoît Sibaud et palm123. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
9
16
juin
2015
Communauté

La machine virtuelle Erlang est à la mode ! Elle reste une valeur sûre pour construire les architectures distribuées, temps réel et à haute disponibilité sur lesquelles nous pouvons articuler les nouvelles applications web et mobile, big data ou machine learning.

Beaucoup de langages se reposent dessus aujourd’hui. La référence historique Erlang bien évidemment, mais aussi la valeur montante Elixir, langage fonctionel dont la syntaxe est inspirée de Ruby, couvert sur LinuxFr.org : Elixir, enfin une syntaxe agréable pour Erlang ?. Notons également le très surprenant LFE (Lisp Flavored Erlang) ou (lisp (flavored (erlang))) décrit sur http://lfe.io/.

Nous pourrions également ajouter des langages plus exotiques tels que Reia, Joxa et Bran (voir la seconde partie de la dépêche) :

Nous vous proposons un meetup sur l’ensemble de l’éco-système Erlang. Attention :  initialement prévu le 23 juin, elle est décalée au lundi 29 juin, faute d'avoir trouvé une salle à temps.

Horaire : le 29 juin de 18:30 à 22:30
Lieu : 156 Boulevard Haussmann, immeuble A, 75008 Paris, 7ème étage à gauche, métro Miromesnil

Le programme sera annoncé la semaine prochaine. Réservez vos places gratuites dès maintenant.

Webinaire erocci le 15 mai 2014: découvrez le framework REST 2.0

Posté par  (site web personnel) . Édité par Benoît Sibaud, palm123, ZeroHeure, Nÿco et Nils Ratusznik. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
5
9
mai
2014
Technologie

erocci est un framework générique OCCI (Open Cloud Computing) Interface) écrit en Erlang/OTP (Open Telecom Platform, la bibliothèque standard du langage de programmation Erlang).

Le standard OCCI est un standard ouvert, défini par l'OpenGridForum, pour définir des API REST autour du cloud computing, de manière plus contrainte, et donc facilement interopérables.

Plus de détails dans la suite de la dépêche. Et si vous n'avez pas tout compris, mais que cela titille votre curiosité, nous présenterons erocci lors d'un webinaire organisé par OW2 le 15 mai. Vous pourrez y voir erocci tourner en vrai et poser des questions à l'auteur. Les inscription se passent sur le site d'OW2.

Le premier framework générique OCCI : erocci 0.1

Posté par  (site web personnel) . Édité par Nÿco, Benoît Sibaud, palm123 et Xavier Teyssier. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
13
7
fév.
2014
Technologie

erocci 0.1 vient de sortir. C'est un framework, écrit en erlang/OTP, pour construire des API OCCI (Open Cloud Computing Interface).

Qu'est-ce que OCCI ?

La principale caractéristique technique du cloud computing est de définir des services sous forme d'API REST. Le standard OCCI est un standard ouvert, défini par l'OpenGridForum, pour définir des API REST de manière plus contrainte, et donc facilement interopérables.

Jusqu'ici, OCCI a été principalement utilisé comme surcouche à des API de services d'infrastructure (IaaS) tels qu'OpenStack ou OpenNebula. OCCI est en particulier utilisé par CompatibleOne pour gérer l'interopérabilité entre services cloud.

Pourquoi erocci ?

Toutes les mises en oeuvre de OCCI sont dédiées à un type d'API particulier (en général l'API Infrastructure) avec un grand nombre de connecteurs vers des API propriétaires.

erocci est un framework complètement générique basé sur OCCI : les API sont décrites en XML et le framework gère la persistence (Mnesia pour l'instant), les différents "renderings" (JSON, XML, etc) ou même transport (HTTP aujourd'hui, mais XMPP est dans la feuille de route).

L'utilisation d'erlang/OTP ainsi que des bibliothèques cowboy (serveur web), exmpp (XMPP), jiffy (JSON) permettent d'envisager un très bon passage a l'échelle ainsi qu'une grande fiabilité.

Les prochaines étapes de la roadmap prévoient donc :

  1. XMPP comme transport ;
  2. renderings XML et OCCI (similaire aux en-têtes HTTP) ;
  3. persistence SQL et Riak ;
  4. amélioration du système de connecteurs vers des API existantes.

Tous les retours et contributions sont les bienvenus.

CEAN 2.0

Posté par  (site web personnel) . Édité par Christophe ROMAIN, claudex, Florent Zara, tuiu pol et NeoX. Modéré par Malicia. Licence CC By‑SA.
Étiquettes :
20
9
jan.
2012
Communauté

CEAN est l'acronyme de Comprehensive Erlang Archive Network, en d'autres termes l'alter ego pour le langage Erlang de CPAN (Comprehensive Perl Archive Network) pour le langage Perl. Le dépôt centralisé propose également des installateurs d'une version minimaliste du langage. Après trois ans d'un apparent long silence, c'est la version 2.0 que Christophe Romain publie.

Plus que l'installation de binaires avec les dépendances, CEAN 2.0 fournit un framework de développement, construction (build), et paquetage (packaging). Il repose sur zsh, ce qui le rend compatible sur tous les systèmes POSIX.

CEAN 2.0 est disponible :

  • Sous forme d'archive et d'installateur,
  • Pour Erlang R12B-5, R13B04, R14B04, et R15B,
  • Pour de multiples OS et architectures : Linux (ARMv5 et v7, Hitachi SH4, Intel 32 et 64 bits, MIPS, MIPSEL, PowerPC, SPARC 32 et 64 bits), Mac OS X (Intel 32 et 64 bits), NetBSD (Intel 32 bits), et Windows.

Quelques détails et une petite interview de Christophe Romain en seconde partie de cet article.

Elixir, enfin une syntaxe agréable pour Erlang ?

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
27
26
mar.
2011
Programmation fonctionnelle

Elixir est un langage de programmation qui s’appuie sur Erlang et sous licence MIT. Il propose une syntaxe agréable, inspirée de celle de Ruby, et un modèle objet à base de prototypes.

Erlang est un langage fonctionnel avec un typage dynamique, une évaluation stricte et une assignation unique. Il convient bien pour des applications distribuées, résistantes aux erreurs et sans arrêt grâce au mécanisme de rechargement à chaud. Mais c’est également un langage qui peut sembler difficile à apprendre et dont la syntaxe peut rebuter. Elixir propose une manière élégante de profiter des avantages d’Erlang. Il est notamment possible d’appeler des modules Erlang sans conversion des types de données, et donc sans impact sur les performances.

Elixir est encore très jeune et recherche des contributeurs pour aider au développement de sa bibliothèque standard. Pour installer Elixir, vous aurez besoin d’Erlang R14B01, et je vous invite à parcourir le README pour découvrir ce langage. Mais voici un avant-goût sous la forme d’un très classique « Hello World » :

module World
  def say_hello
    IO.puts "Hello World!"
  end
end

World.say_hello

Reia, un langage fortement inspiré de Ruby

Posté par  (site web personnel) . Modéré par j.
Étiquettes :
19
18
déc.
2010
Ruby
Ruby est un langage de programmation génial (je vous assure, je suis totalement objectif quand je dis ça ;-) ), mais qui a quand même quelques petits défauts. On peut par exemple citer la mauvaise prise en charge de la concurrence ou l'absence de rechargement de code à chaud. À l'opposé, Erlang a une syntaxe parfois cryptique mais sa machine virtuelle est très avancée pour tout ce qui concerne les aspects distribués, la concurrence et la tolérance aux erreurs.

Reia est un langage de programmation qui cherche à prendre le meilleur des 2 mondes (licence MIT). Le code en reia ressemble à s'y méprendre à du code Ruby, mais il s'exécute sur la machine virtuelle d'Erlang. Voici à titre d'exemple le très classique Hello World :

"Hello world!".puts()

Pour le moment, il n'y a pas encore de version officielle de reia. Si vous souhaitez l'essayer, il vous suffit de cloner le dépôt git, d'avoir Erlang et Rake installés puis de lancer rake.

Journal Erlang Planet

Posté par  (site web personnel) .
Étiquettes :
10
5
oct.
2008
Je n'étais pas trop satisfait des sites d'agrégation de blog à propos d'Erlang donc dans l'esprit Open Source, j'ai démarré le mien: http://www.erlangplanet.org/. Si vous connaissez des blogs à propos d'Erlang/OTP ou des projets utilisant Erlang comme CouchDB, Ejabberd ou Disco, faites-le moi savoir.