Développement Web frontend en Haskell, Elm et Purescript

Posté par  (site web personnel) . Édité par Benoît Sibaud, Davy Defaud et palm123. Modéré par Benoît Sibaud. Licence CC By‑SA.
46
19
août
2018
Programmation fonctionnelle

Actuellement, le développement Web côté client (frontend) est très souvent réalisé en JavaScript ou dans des langages dérivés comme TypeScript. Il existe cependant d’autres outils intéressants, basés sur des langages de programmation fonctionnelle, qui permettent notamment d’éviter de nombreuses erreurs lors de l’exécution sur le navigateur.

L’objectif de cette dépêche est de rappeler quelques généralités sur le développement Web frontend, et de présenter les outils Elm, Purescript, Miso et Reflex, à partir d’un exemple d’application (galerie d’images fournie via une API Web).

Attention : ceci n’est pas une étude rigoureuse et avancée mais juste un petit retour de petite expérience.

Voir également le dépôt de code de l’exemple et une présentation en vidéo.

Journal le style fonctionnel en vidéo (nix, nixos, haskell...), la suite...

14
29
juin
2018

Bon bah, j'ai continué les vidéos du journal précédent (https://linuxfr.org/users/nokomprendo-3/journaux/le-style-fonctionnel-en-videos-nix-nixos-haskell).

Au passage, je suis passé sur framagit et j'ai ajouté un formatage plus propre des articles via hakyll (https://nokomprendo.frama.io/tuto_fonctionnel).

Les nouveaux sujets :
- Personnaliser une image Docker de NixOS pour de l'intégration continue
- Déployer un blog avec Hakyll, Gitlab-ci, Nix
- Nix, programmation et loi de Murphy
- Créer et partager des paquets Nix
- Archlinux vs Voidlinux
- Migrer un système NixOS (de (…)

Le gestionnaire de paquets Nix en version 2.0

Posté par  . Édité par nokomprendo, Guillaum, Olivier HUMBERT, Bruno Michel, Davy Defaud, Yves Bourguignon, palm123, ZeroHeure, Nÿco et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
48
3
avr.
2018
Gestion de versions

Nix est un gestionnaire de paquets fonctionnel dont la version 2.0 est sortie récemment. Parmi les nouveautés, on peut noter qu’une commande nix a été introduite pour uniformiser les différentes sous‐commandes (nix-build, nix-env, etc.) et avoir de meilleures options par défaut (pour la recherche de paquets notamment). Une bonne partie du reste du travail concerne des couches moins visibles mais néanmoins importantes : prise en charge de HTTP/2, amélioration de sécurité, etc.

Logo Nix

Nix peut être utilisé sur n’importe quelle distribution GNU/Linux en complément du gestionnaire de paquets habituel. Il existe également une distribution GNU/Linux articulée autour de Nix : NixOS. La version 18.03 de NixOS, prévue pour sortir très prochainement, inclura Nix 2.0.

Mise à jour : Nix 18.03 est sorti.

Journal le "style fonctionnel" en vidéos (Nix, NixOS, Haskell)

Posté par  (site web personnel) . Licence CC By‑SA.
43
8
jan.
2018

Salut

Si ça intéresse quelqu'un, j'ai fait quelques vidéos sans prétention sur l'utilisation de Nix/NixOS et la programmation en Haskell. Pour l'instant, il n'y en a qu'une dizaine; je pense en faire d'autres plus tard mais… plus tard.

Les vidéos : https://www.youtube.com/watch?v=i6s-G_Hh3s4&list=PLe8vnuC2T7iGE3w_d-MCHw5mLzRAMiCM9

Les résumés + codes : https://github.com/nokomprendo/tuto_fonctionnel

Les sujets des vidéos :
01 : Installation de NixOS
02 : Gestion de paquets avec Nix
03 : Installation de Nix sur Debian
04 : Utilisation des canaux avec Nix/NixOS
05 (…)

Nix pour les développeurs

Posté par  (site web personnel) . Édité par claudex, Benoît Sibaud, bubar🦥, Davy Defaud, ZeroHeure et palm123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
53
6
juil.
2017
Technologie

Nix est un gestionnaire de paquets « fonctionnel » (basé sur des fonctions, sans effet de bord). Cette caractéristique apporte des avantages indéniables, notamment de pouvoir mettre en place des environnements logiciels isolés, reproductibles et composables. Ceci peut être très utile à un administrateur système mais également à un développeur.

On trouve pas mal d’informations sur l’écosystème Nix et son utilisation, ainsi que des retours d’expérience des utilisateurs. En revanche, les documents à destination des développeurs sont moins nombreux et se limitent souvent à l’utilisation ou à la mise en place d’environnements de développement simples.

Cet article a pour objectif d’illustrer l’intérêt de Nix pour un développeur dans des cas simples et « un peu moins simples ». Pour cela, il se base sur un projet d’exemple en C++ et en Python, mais Nix peut également être utilisé pour d’autres langages. Je ne suis pas un expert en Nix, donc n’hésitez pas à proposer vos remarques ou améliorations dans les commentaires ou sur le dépôt GitHub du projet d’exemple.

Journal Créer une archive d'application conteneurisée avec guix pack

Posté par  . Licence CC By‑SA.
23
30
mai
2017

ou encore, en anglais, "creating standalone binary bundles with guix pack". Il s'agit d'une nouvelle fonctionnalité parue avec GNU GuixSD (la distro) 0.13.0, le 22 mai 2017. Le but est ici de taper une commande simple:

guix pack foo

pour obtenir une archive tarball qui contient les binaires du logiciel foo avec toutes ses dépendances. Il y aussi un raccourci pour donner le résultat à docker mais on va voir les différences d'approches et les bénéfices de guix.

Ce (…)

L’heure du test — épisode 1 — NixOS

Posté par  . Édité par Davy Defaud, palm123, galbolle, ZeroHeure, patrick_g, Nils Ratusznik, BAud, Benoît Sibaud, Parleur, Syvolc et rpnpif. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
50
28
avr.
2017
Distribution

Logo
L’heure du test est un rendez‐vous qui vous propose de nombreux tests et guides d’installation de distributions, étape par étape et en exposant leurs avantages et leurs inconvénients.

Aujourd’hui, on s’attaque à une distribution qui est un peu particulière, j’ai nommé NixOS !
Logo NixOS

NixOS, collection printemps‐été 17

Posté par  . Édité par Davy Defaud, ZeroHeure, Nÿco, palm123 et Nils Ratusznik. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
31
6
avr.
2017
Distribution

La distribution NixOS sort en version printemps‐été 17. Cette distribution GNU/Linux, fondée sur le gestionnaire de paquets Nix propose une gestion « purement fonctionnelle » des paquets et services GNU/Linux. Une dépêche un peu ancienne, mais toujours d’actualité, en décrit les principes de fonctionnement ; certains points ont été développés par la suite.

NisOS

Cette version comprend son lot de nouveautés :

  • il est désormais possible d’utiliser un système de surcouches (ou overlays) pour ajouter ses propres paquets (ou versions de paquets) à la distribution ;
  • de nouvelles versions pour de nombreux paquets, comme par un noyau Linux 4.9, Firefox 52 ou encore KDE / Plasma 5.8.6 ;
  • plein de nouveaux services et d’améliorations, notamment en termes de sécurité.

Journal Enregistrements de NixCon 2015

Posté par  . Licence CC By‑SA.
Étiquettes :
8
18
nov.
2015

Bonjour'Nal

Les enregistrements vidéos le la NixCon 2015 qui s’est déroulée ce week-end à Berlin sont disponibles : https://www.youtube.com/playlist?list=PL_IxoDz1Nq2Y7mIxMZ28mVtjRbbnlVdmy.

Il s’agit de la première édition de cette conférence relative à Nix. Pour rappel, Nix est un gestionnaire de paquets pour GNU/Linux et autres systèmes UNIX. Nix permet entre autre choses de faire des installations / mises à jours de manière atomique, des rollbaks, des installations simultanées d’un même logiciel / librairie à différentes versions et bien plus (…)

Conf/démo: GNU Guix et déploiement logiciel, le lundi 9 novembre 2015 à 19h à Rennes

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
15
2
nov.
2015
Distribution

Ludovic Courtès, mainteneur du projet GNU Guix, passe à Rennes le lundi 9 novembre, et en profite pour présenter à la communauté libriste rennaise les projets Guix et GuixSD, un gestionnaire de paquets et une distribution innovants avec notamment support transactionnel.

GNU Guix, ou comment garder le déploiement logiciel sous contrôle.

« Pourtant ça marchait nickel juste avant la mise à jour… » Vous avez déjà vécu ça ? Vous aimeriez contrôler davantage le déploiement de logiciels ? Pouvoir revenir en arrière, comme avec Git ? Vous doutez que créer une image de machine virtuelle ou Docker par logiciel soit la solution ?

Hé bien venez discuter de GNU Guix, un gestionnaire de paquet « purement fonctionnel » dans la lignée de Nix qui cherche à traiter ces problèmes. Guix permet des mises à jour et retours en arrières « transactionnels », ainsi que la coexistence de plusieurs environnements logiciels, comme on le verra avec des démos. Nous verrons comment le concept s’étend au déploiement de systèmes d’exploitation complets avec GuixSD, la distribution fondée sur Guix et bidouillable à souhait.

Ludovic Courtès est également ingénieur de recherche au centre INRIA de Bordeaux et contributeur logiciel libre de longue date (Guile, GnuTLS…).

Ce sera à la MCE à Rennes, salle Gurvand, le lundi 9 novembre de 19h à 21h (environ). Entrée par la rue Gurvand.

NixOS 14.12, la distribution Linux sans effet de bord

Posté par  . Édité par Benoît Sibaud, Nÿco, BAud, palm123, Stéphane Aulery, Nils Ratusznik, esdeem, Nicolas Boulay et olivierweb. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
52
28
juil.
2015
Distribution

Le projet NixOS a sorti le 30 décembre 2014 une version de sa distribution Linux, la 14.12 ou « Caterpillar » de son petit nom. Cette distribution, « The Purely Functional Linux Distribution », est fondée sur le système de paquets Nix et la collection de paquets Nixpkgs. Nix et Nixpkgs sont utilisables avec d'autres systèmes : Linux, OS X, voire FreeBSD.

Logo nixos

Nix permet de gérer son système « sans effets de bord », ce qui permet notamment : des mises à jours réversibles, l'installation de paquets sans droits root, le déploiement distribué, les mélanges de paquets sources et binaires.

LinuxFr.org : rétrospective des dépêches et journaux 2014

40
29
déc.
2014
LinuxFr.org

Basé sur les dépêches et journaux les mieux notés par nos visiteurs, voici un petit retour sur l'année 2014 sur LinuxFr.org.

Mentions particulières

La dépêche collaborative sur le noyau Linux a remporté un grand succès tout au long de l'année, avec les diverses versions parues : 3.13, 3.14, 3.15, 3.16, 3.17 et 3.18.

La saga Je créé mon jeu vidéo de rewind a placé ses 6 épisodes de l'année dans la sélection (fiche de lecture de « L'Art du game design » par Jesse Schell, techniques de C++11 appliquées au système à entités, génération procédurale de carte (partie 1), génération procédurale de carte (partie 2), interfaces physiques et graphiques et un an, premier bilan ), et a fêté son premier anniversaire.

On notera aussi d'autres sujets régulièrement traités, comme Firefox (28, 29, 30, 31, 32, 33, 34, Firefox en GTK3, et côté Firefox OS un avis et un test de création de jeu), rust (0.9, 0.10, 0.11, 0.12) ou systemd (là y en a vraiment trop pour les citer tous).

Forum Programmation.autre je suis quelque peu embêté....

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
4
8
déc.
2014

Salut les moules !

Dites, je travaille un peu la portabilité de mon logiciel libre les derniers temps… histoire de…
Je me suis déjà pris un bon carton avec BSD, j'en ai bouffé les graviers !!!
Dur à mâcher…

Comme mon software est destiné aux Unix, j'aurais bien testé sur un système qu'on trouve aussi parfois à droite ou gauche. Un OS dont le "papa" a déjà eu des heures de gloires dans le milieu : star-office, java, mysql…

Vous l'avez deviné (…)

Journal Préserver nos pensées quotidiennes

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
0
15
mai
2014

Il vous plaît mon titre ? C'est alléchant, non ?
Maintenant que vous êtes là, lectrice et lecteur, quittez votre travail quelques instants pour venir réfléchir avec moi :

Il y a ici au milieu des annonces de sortie, des lugueries, des salons et diverses boites à fantasmes, … il y a des articles, véritables chefs d'oeuvre collectifs, qui méritent mieux que l'oubli électronique. Or, le fonctionnement de linuxfr ne permet pas facilement de les préserver, c'est à dire non seulement de (…)

Nix 1.7, Nixpkgs, NixOS 14.04, Guix 0.6

Posté par  . Édité par BAud, ZeroHeure, palm123, Nÿco, Benoît Sibaud, claudex, patrick_g, Xavier Teyssier, olivierweb et sebas. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
55
4
mai
2014
Distribution

Quelques mots d'introduction :

  • Nix est un système de paquets
  • nixpkgs la collection de paquets associée
  • NixOS la distribution construite avec nix et nixpkgs
  • Guix est un dérivé GNU de Nix

Logo nixos Logo guix

Nix permet d'utiliser des paquets sources, comme sous Gentoo ou Arch, mais aussi des paquets binaires plus traditionnels. Comme presque tous les systèmes de gestion de paquets, il permet la gestion des dépendances entre paquets. Ses principes de fonctionnement originaux lui permettent d'implémenter de façon sûre des fonctionnalités souvent peu stables ou absentes des autres gestionnaires de paquets, notamment : installation de paquets dans le répertoire des utilisateurs, déploiement distribué, mélanges paquets sources et binaires et mises à jour réversibles. Il s'agit de la poursuite par la communauté du travail commencé par Eelco Dolstra dans sa thèse à la Technische Universiteit de Delft. La version 14.04 de NixOS est sortie le premier mai.

Cette dépêche présentera l'écosystème Nix, puis les nouveautés de nixpkgs et NixOS 14.04, de Nix 1.7 ainsi que Guix, le dérivé GNU de Nix.