GCompris sort en version 0.95
Nous avons le plaisir de vous annoncer la publication de la nouvelle version de GCompris, le logiciel éducatif pour les enfants de deux à dix ans.
Cette nouvelle version contient entre autres sept nouvelles activités, listées dans la suite de la dépêche. GCompris propose plus de 150 activités, dont des jeux, toujours avec un objectif pédagogique. Lecture, mathématiques, sciences, géographie et découverte de l’ordinateur sont les thèmes abordés par ces activités. Cette nouvelle version rajoute, entre autres, le portage et l’amélioration des activités musicales de l’ancienne version (faites par un étudiant lors du GSoC).
Quelques cadriciels Web C++ (2/2)
Actuellement, il existe de nombreux langages et cadriciels intéressants pour le développement Web back‐end. Dans ce domaine, le C++ n’est pas le langage le plus à la mode, mais il possède cependant des atouts intéressants. En effet, le C++ possède de nombreuses bibliothèques (dont des cadriciels Web), il est réputé pour ses performances et, enfin, ses dernières normes le rendent plus agréable à utiliser.
L’objectif de cet article est de donner un aperçu des outils C++ disponibles pour le développement Web back‐end, à partir d’un exemple d’application. Les codes sources présentés ici sont disponibles sur ce dépôt Git. Les différents cadriciels utilisés sont résumés en annexe (partie 2). Enfin, une liste de bibliothèques C++ est disponible sur Awesome C++.
Partie 2 : les cadriciels Web.
Déployer une application Web C++ sur Heroku avec Docker et Nix
Les services de plate‐forme (PaaS) comme Heroku permettent de déployer des applications Web écrites dans des langages comme PHP, Ruby, Java… Cependant, déployer des applications C++ est plus compliqué (portabilité de l’interface binaire ABI, gestion des dépendances, etc.). Cette article présente plusieurs solutions pour déployer des applications Web C++ sur Heroku, en utilisant des images Docker et le gestionnaire de paquet Nix.
Journal Déployer une application web C++ sur Heroku avec Docker et Nix
Les services de plateforme (PaaS) comme Heroku permettent de déployer des applications web écrites dans des langages comme PHP, Ruby, Java… Cependant, déployer des applications C++ est plus compliqué (portabilité de l'interface binaire ABI, gestion des dépendances…). Ce post présente plusieurs solutions pour déployer des applications web C++ sur Heroku, en utilisant des images Docker et le gestionnaire de paquet Nix.
Voir aussi : code source - vidéo youtube - vidéo peertube
Exemple d'application web C++ avec
(…)Développement Web frontend en Haskell, Elm et Purescript
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...
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 (…)
Journal Créer et partager des paquets Nix
Suite aux différents journaux sur la création de paquets, voici quelques astuces pour Nix/Nixos.
Introduction
Comment créer un paquet nix pour gérer une dépendance dans un projet.
Comment gérer des paquets nix via un dépôt git.
Créer un paquet localement
On développe un projet et on a besoin d'une bibliothèque (par exemple, myhellolib).
- écrire un fichier empaquetant la dépendance
test_myhellolib1/myhellolib.nix
:
{ stdenv, fetchurl, cmake }:
stdenv.mkDerivation
(…)
Le gestionnaire de paquets Nix en version 2.0
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.
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)
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
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
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
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 !
NixOS, collection printemps‐été 17
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.
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
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 (…)