Quelques nouvelles de Go, le langage de programmation

Posté par  (site web personnel) . Modéré par patrick_g.
37
5
déc.
2010
Golang
Le langage de programmation Go suit son chemin. Voici quelques faits marquants depuis la précédente dépêche sur LinuxFr.org :

Et si JavaScript allait droit dans le mur ?

Posté par  (site web personnel) . Édité par Davy Defaud, Pierre Jarillon et patrick_g. Modéré par patrick_g. Licence CC By‑SA.
37
4
mar.
2016
JavaScript

Cette dépêche pose la question de l’avenir du JavaScript. Celui‐-ci continue de gagner en popularité, mais aussi en complexité. L’auteur du journal a étudié d’autres langages encore peu connus (Elixir, Elm, Pony, Oden et Crystal) et ceux‐ci lui ont fait sauter aux yeux les défauts du JavaScript. Il s’interroge donc sur le futur de ce langage.

Dans les commentaires du journal, de nombreux développeurs ont fait un retour sur leur expérience. Certains apprécient le JavaScript (souvent, un sous‐ensemble de ce langage qui va à l’encontre des dernières nouveautés). D’autres, souhaiteraient fortement s’en débarrasser, mais quasiment tous sont d’accord sur le fait qu’il va rester grâce à son monopole sur les navigateurs).

Certains ont encouragé à essayer leur langage de prédilection : Go, OCaml, ClojureScript, etc.

Enfin, on peut également retrouver un certain espoir avec WebAssembly (le successeur d’asm.js), qui permettrait à de nombreux langages d’être compilés vers la plate‐forme Web.

Node.js passe la sixième vitesse

Posté par  (site web personnel) . Édité par M5oul, Florent Zara, palm123 et Benoît Sibaud. Modéré par Florent Zara. Licence CC By‑SA.
37
12
mai
2016
JavaScript

Node.js est la principale implémentation du langage JavaScript côté serveur. Elle utilise V8, le moteur JavaScript de Google Chrome, et vient d’atteindre la version 6.0.0 le 26 avril 2016.

Logo Node.js

La montée de version de V8 vers la version 5.0 a d'ailleurs permis une meilleure prise en charge d'ES6, avec 93 % des fonctionnalités couvertes. Parmi les autres nouveautés, on trouve des performances accrues (notamment pour le chargement des modules), une meilleure stabilité et utilisabilité des API JavaScript (notamment Buffer et File System).

Peu de temps après la sortie de la version 6.0.0, des failles OpenSSL ont été annoncées, ce qui a conduit à la sortie d'une version 6.1.0.

Les vrais développeurs utilisent ed !

Posté par  (site web personnel) . Édité par Nÿco, Lucas Bonnet, Manuel Menal, Malicia et claudex. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
36
4
jan.
2012
Ligne de commande

Certains logiciels font parti de la tradition UNIX. C'est, par exemple, le cas de l'éditeur de texte ed. Écrit par Ken Thompson (OS UNIX, Plan 9 et les langages B et Go), il a marqué une étape importante pour les expressions rationnelles. Avant cette implémentation, le concept des expressions rationnelles n'était formalisé que dans des publications mathématiques, que Ken Thompson avait lues.

GNU ed, l'implémentation de l'éditeur ed par le projet GNU, sous licence GPL, est sorti en version 1.6 hier.

GNU ed is an 8-bit clean, more or less POSIX-compliant implementation of the standard Unix line editor.

Sortie de la version 0.1 de Rust

Posté par  (site web personnel) . Édité par claudex et Lucas Bonnet. Modéré par baud123. Licence CC By‑SA.
Étiquettes :
36
22
jan.
2012
Rust

Mozilla a annoncé le 20 janvier la sortie de la version 0.1 du compilateur pour Rust, sous une licence de type MIT. Rust est un langage de programmation système fortement typé. L'accent est mis sur la sûreté des accès mémoire et la concurrence. Il fonctionne actuellement sur les plateformes GNU/Linux, OSX et Windows.

Voici un exemple d'Hello World :

use std;
import std::io;

fn main() {
    for i in [1, 2, 3] {
        io::println(#fmt("hello %d\n", i));
    }
}

Rust est un langage proche de Go, il partage d'ailleurs une inspiration commune venant de Newsqueak, Alef et Limbo. Toutefois, les développeurs de Rust ont commencé leur travail avant l'annonce de Go et ne sont pas satisfaits par la sémantique adoptée par Go (état partagé mutable, Ramasse-miettes global, pointeurs NULL, absence de destructeurs).

Plus d'informations en seconde partie.

Campagne de financement d’eelo pour un smartphone respectueux de la vie privée

Posté par  (site web personnel) . Édité par Benoît Sibaud, Davy Defaud et ZeroHeure. Modéré par Pierre Jarillon. Licence CC By‑SA.
36
20
déc.
2017
Téléphonie

Gaël Duval, le créateur de la distribution Mandrake Linux, a décidé de se lancer dans un nouveau combat : créer un système d’exploitation pour smartphone / ordinateur de poche qui soit respectueux de la vie privée, libre et utilisable par le commun des mortels. Ce projet nommé eelo est à but non lucratif, dans l’intérêt du public.

Logo d’eelo

Autre logo

Mais pour avancer et atteindre une taille critique suffisante pour maintenir un système d’exploitation, il y a besoin de pouvoir payer des développeurs et donc de financer tout ça. Gaël Duval a décidé de faire appel à un financement participatif pour atteindre un premier produit utilisable en partant de LineageOS. Il espère pouvoir ensuite attirer des contributeurs et itérer sur de nouvelles versions.

Des nouvelles de Cozy

Posté par  (site web personnel) . Édité par Davy Defaud, ZeroHeure, Benoît Sibaud et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
35
15
mar.
2020
Cloud

La page d’accueil de Cozy a changé

Qu’est‑ce que Cozy ? Eh bien, c’est tout d’abord un domicile numérique, un espace où vous êtes chez vous avec vos données (fichiers, photos, bancaires, vacances). Cozy vous permet également de récupérer vos données depuis des services tiers pour mieux les utiliser. Comment ? Avec les connecteurs qui vous les rangent automatiquement pour ne plus perdre de temps à les chercher. Enfin, on peut faire confiance à son Cozy : le code est libre, il est possible de s’auto‑héberger, Cozy Cloud (la société) ne fait pas dans la publicité ciblée, l’exploitation ou la revente de vos données. Grâce à tout ça, Cozy peut vous simplifier votre vie numérique.

Quelques nouvelles rapides du langage Go

Posté par  (site web personnel) . Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes :
35
23
mar.
2011
Golang

Go devient plus stable : de nouvelles versions de Go sortent régulièrement, en moyenne une fois par semaine. C’est un rythme soutenu qui ne convient pas à tout le monde. Les développeurs de Go ont donc décidé de continuer ces versions sous le nom de weekly, mais de publier également des versions stables tous les un à deux mois. Ces versions seront soigneusement choisies et annoncées sur la nouvelle liste, golang‑announce.

Gorun est un outil qui permet de lancer en ligne de commande des « scripts » écrits en Go. Il suffit de mettre « #!/usr/bin/gorun » en 1re ligne ([[Shebang]]) pour que le script écrit en Go puisse être lancé directement.

Cgo est un outil qui permet de compiler du code Go qui utilise des bibliothèques en C. Il fonctionne, pour le moment, avec le compilateur Go de Google, mais il est aussi prévu de prendre en charge le back‑end Golang de GCC.

Découvrez Backbone.js 0.5.0 pour organiser votre code JavaScript

Posté par  (site web personnel) . Modéré par tuiu pol. Licence CC By‑SA.
34
3
juil.
2011
JavaScript

Backbone.js est un framework JavaScript sous licence MIT que Jeremy Ashkenas a écrit dans le cadre de son travail chez DocumentCloud. Il permet d’apporter de la structure à des applications JavaScript grâce à une bibliothèque qui ne fait pourtant qu’un millier de lignes de code en tout.

Pour cela, il apporte la séparation du code en classes :

  • les modèles et collections sont responsables de la logique métier et peuvent également servir pour la persistance, aussi bien locale avec localStorage que distante via des API RESTful en JSON. Les modèles proposent des enregistrements clé‐valeur et des événements associés. Les collections offrent un catalogue bien pratique de méthodes d’énumération : ce sont les méthodes map, reduce, filter importées depuis underscore.js, une des rares dépendances de Backbone.js ;
  • les vues font la liaison entre les modèles et le DOM. Elles mettent à jour le code HTML en fonction des modifications des modèles et, dans l’autre sens, peuvent gérer les événements du DOM ;
  • le routeur permet de modifier l’URL de la page (le #fragment ou, depuis la version 0.5.0, le chemin complet grâce à pushState) et de retourner à l’état associé quand la page est rechargée. Cela permet d’avoir des URL qui peuvent être mises en favoris ou partagées.

Backbone.js a atteint la version 0.5.0 il y a quelques jours et est déjà utilisé sur des projets notables comme Basecamp Mobile.

Reposez vos yeux la nuit devant votre écran avec Redshift

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
34
3
sept.
2010
Technologie
Les écrans LCD actuels sont très lumineux et bien adaptés pour travailler en journée. Mais des études montrent que cette luminosité a des effets indésirables sur notre physiologie quand nous travaillons sur ces mêmes écrans la nuit. En particulier, cela fatigue rapidement nos yeux et peut perturber notre sommeil.

Heureusement, il existe une solution : éteindre nos écrans. Non, je rigole, revenez. Vous pouvez aussi utiliser Redshift. Ce logiciel ajuste la température de la couleur de votre écran en fonction de la position du soleil dans le ciel, et adapte de même l'écran durant la nuit, en considérant l'utilisation de lumières artificielles.

Son auteur s'est inspiré de F.lux, un logiciel propriétaire mais déçu par celui-ci, a écrit Redshift et l'a publié sous licence GPLv3. Il existe des packages pour Debian, Ubuntu, Mandriva Linux, Fedora, Gentoo, Arch Linux et Frugalware.

Sortie de Redis en version 2.2

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
34
27
fév.
2011
Base de données

Redis est une base de données de type clé-valeur, sous licence BSD. On peut voir Redis comme une sorte de Memcached boosté aux stéroïdes.

La version 2.2.0 est sortie la semaine dernière, très rapidement suivie de la version 2.2.1. Cette version apporte principalement des optimisations par rapport à Redis 2.0 :

  • importante diminution de la consommation mémoire (à ce sujet, je vous conseille la lecture des astuces pour optimiser la mémoire) ;
  • réplication non-bloquante ;
  • la commande Watch pour faire du check and set ;
  • l'Algorithme LRU pour l'éviction des données quand la mémoire consommée par Redis est limitée ;
  • nouvelles commandes : SETBIT, GETBIT, SETRANGE et GETRANGE permettant d'accéder à des valeurs de type « chaînes de caractères », comme s'il s'agissait de tableaux.

Pour la suite, antirez (le principal développeur) souhaite se concentrer sur la prise en charge des grappes de serveurs (clusters) et sur diskstore (un stockage sur disque des données pour les instances où tout faire tenir en mémoire n'est pas une option).

Les technos web cools du moment

Posté par  (site web personnel) . Modéré par baud123.
33
24
fév.
2010
Internet
Dans le cadre de mon activité professionnelle, je fais de la veille autour des technologies web. Suite à un récent journal sur CouchDb, je me suis dit que les lecteurs de LinuxFr.org pourrait être intéressé par le sujet. J'ai donc regroupé un paquet de liens récents dans la seconde partie de cette dépêche. La plupart viennent du compte delicious qui me sert pour la veille. Les autres liens sont de l'auto-promotion vers des billets que j'ai écrit.

Hébergez vos projets avec Gitlab

Posté par  (site web personnel) . Édité par Malicia. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
33
23
déc.
2011
Gestion de versions

Gitlab est une application de gestion de dépôts git sous licence MIT. Elle permet d'héberger sur votre propre serveur des dépôts git avec l'interface web offrant tout le nécessaire pour vos projets : navigation dans le code source, suivi des demandes de bugs et d'évolutions (« issues »), wiki, gestion des droits d'accès par équipe, commentaires, notifications, etc.

D'un point de vue technique, c'est une application Ruby on Rails avec les dépendances suivantes : Ruby 1.9, sqlite3, git, gitolite (pour la gestion des droits d'accès aux dépôts git) et pygments (pour la coloration syntaxique du code).

L'équipe développant Gitlab travaille sur le rythme d'une version par mois et la version 2.0 vient juste de sortir. Celle-ci apporte des changements importants : les très attendues « merge requests », un tableau de bord revu, une gestion des permissions plus fines, notamment grâce à la prise en charge de gitolite, des améliorations graphiques, des fils Atom pour les commits et issues, etc.

API OAuth d'authentification

Posté par  (site web personnel) . Édité par Benoît Sibaud et claudex. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
33
11
déc.
2011
LinuxFr.org

LinuxFr.org dispose maintenant d'une API Rest au format JSON qui s'appuie sur OAuth2 pour l'authentification. Cette API est encore très limitée (elle ne possède qu'une seule méthode), mais elle s'enrichira en fonction de vos demandes. N'hésitez pas à créer des entrées dans le suivi pour indiquer quelles seraient les méthodes dont vous auriez besoin.

Pour le moment, elle permet à des sites externes d'authentifier un utilisateur à partir de son compte sur LinuxFr.org comme le proposent des réseaux sociaux bien connus. Cela pourrait par exemple servir à des tribunes hébergées sur d'autres sites pour permettre à leurs utilisateurs de se connecter en un clic.

Cela fonctionne avec le standard OAuth2 mais, si vous êtes un développeur Ruby, je vous recommande d'utiliser la gem Omniauth qui permet de mettre en place l'authentification via LinuxFr.org de manière très simple.

Activité du site LinuxFr.org

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par baud123.
33
2
juin
2010
LinuxFr.org
Le site LinuxFr.org vit grâce aux contributions de ses lecteurs. Merci à vous tous, on ne le répétera jamais assez. La communauté LinuxFr.org est active et instructive.

L'équipe de modération essaye de faire en sorte que LinuxFr.org reste cet espace vivant avec des dépêches sur Linux et les Logiciels Libres, un espace d'entre-aide, des discussions sur des sujets divers et variés, et tout cela sans avoir les chevilles qui enflent. Voici une petite sélection de nos faits d'armes :

Activité de l'équipe de modération
  • Il y a quelques semaines, l'équipe de modération s'est un peu renouvelée. Thomas Petazzoni, Scara et xals, pas mal occupés par ailleurs, nous ont quitté. Merci à eux pour le temps qu'ils ont consacré à LinuxFr. Nous pouvons saluer l'arrivée de Malicia, claudex et boa13, déjà très actifs !
  • À l'occasion du salon Solutions Linux 2010, Nils Ratusznik a donné un entretien à Intelli'N TV. C'est l'occasion de faire une séance de rattrapage pour ceux qui ne connaissent pas le site sur le bout des doigts.
  • NeoX va atteindre les 5000 réponses sur le forum. Chapeau !
  • Nÿco a atteint les 250 dépêches, Floxy et poltuiu font la course à leur 200ème dépêche, et moi, je me concentre sur ma série de 6 dépêches en 6 jours.
Côté technique
Dans un autre registre, le site tourne actuellement avec Templeet (NdM: lien réédité en 2021 pour pointer vers la version archive.org de l'époque) et très rares sont les personnes à y toucher. J'ai commencé au début de l'année 2009 une réécriture du site en Ruby on Rails. Les chances que ce projet aboutisse m'apparaissaient comme assez faibles quand j'ai commencé, mais bon gré, mal gré, cela avance.

Aujourd'hui, une nouvelle étape a été franchie : j'ai taggé la version alpha1 sur le dépôt git. Je considère que le code contient les fonctionnalités essentielles pour pouvoir remplacer la version actuelle basée sur Templeet. Je vais maintenant m'attacher à corriger les bugs et optimiser le code. J'espère que cette version pourra être mise en ligne bientôt.

Dernière chose, nous utilisons webalizer pour nos statistiques web, et plus précisément le package debian. Celui-ci n'est plus très jour, et si un développeur Debian a un peu trop de temps libre, nous lui serions reconnaissants s'il pouvait regarder ça.