Hébergez vos projets avec Gitlab

Posté par (page perso) . Édité par Malicia. Modéré par Xavier Claude. Licence CC by-sa
Tags :
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.

Appel à contribution pour les logos des sections de LinuxFr.org

Posté par (page perso) . Édité par baud123 et NeoX. Modéré par patrick_g. Licence CC by-sa
19
20
déc.
2011
LinuxFr.org

Les dépêches de LinuxFr.org sont rangés dans différentes sections, et chaque section a son icône. L'équipe de LinuxFr.org ne possède pas particulièrement de grande capacité graphique et les logos sont donc souvent des images sous licence libre reprises là où on pouvait.

Du coup, les logos sont très disparates et pas toujours très jolis. Nous avons régulièrement des demandes dans le suivi pour nous demander d'ajouter une section ou de changer le logo d'une section existante.

Si un lecteur de LinuxFr.org est plus doué que nous pour le graphisme et a un peu de temps libre, nous serions ravis qu'il nous propose de nouveaux logos, à commencer par celui de la section Distribution :

Oh le joli baril de lessive

Pour les autres, vous pouvez aussi proposer des images sous licence libre que vous auriez vues par ailleurs et qui conviendraient bien. De manière plus générale, nous sommes preneurs de toutes les illustrations, logos, images, dessins que vous pourriez nous fournir pour agrémenter le site.

API OAuth d'authentification

Posté par (page perso) . Édité par Benoît Sibaud et Xavier Claude. Modéré par Benoît Sibaud. Licence CC by-sa
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.

Socat, un outil en ligne de commande pour maîtriser vos sockets

Posté par (page perso) . Édité par Pierre Jarillon et Xavier Claude. Modéré par Nÿco. Licence CC by-sa
Tags :
38
7
déc.
2011
Ligne de commande

Socat est un outil en ligne de commande pour manipuler des sockets réseau, sous licence GPL. La version 1.7.2.0 vient de sortir avec les nouveautés suivantes :

  • prise en charge des interfaces tun/tap sans adresse IP ;
  • ajout des options openssl-compress et max-children ;
  • amélioration pour certaines plateformes, et notamment Mac OS X Lion, DragonFly et Android.

Rappelons que socat sert principalement à relayer deux flux de données de manière bidirectionnelle. Comme ces flux peuvent être de types très variés et acceptent de nombreuses options, il est possible d'utiliser socat pour des usages très divers. Voici quelques exemples :

socat -d -d READLINE,history=$HOME/.http_history TCP4:www.domain.org:www,crnl
# Vous pouvez saisir du texte avec la bibliothèque readline et il sera envoyé en TCP à www.domain.org sur le port 80 (www). Pratique pour simuler des requêtes HTTP à la main.

socat TCP4-LISTEN:www TCP4:www.domain.org:www
# C'est un simple transfert de données entre 2 flux TCP. Tout ce qui arrive sur le port 80 (www) de la machine locale est envoyé vers www.domain.org et inversement.

socat -u TCP4-LISTEN:3334,reuseaddr,fork OPEN:/tmp/in.log,creat,append
# Dans cet exemple, socat va écrire tout ce qu'il reçoit sur le port 3334 dans un fichier.

htop atteint la version 1.0  !

Posté par (page perso) . Édité par Davy Defaud, patrick_g et Nÿco. Modéré par Xavier Teyssier. Licence CC by-sa
Tags :
56
22
nov.
2011
Ligne de commande

htop est un outil en mode texte qui permet d’afficher les processus qui tournent et les informations associées à ces processus, comme leur utilisation du temps processeur ou leur consommation mémoire. htop est publié sous licence GPL et vient d’atteindre la symbolique version 1.0.

htop est un clone de top, mais en mieux. Il permet par exemple :

  • d’avoir un défilement (scroll) horizontal et vertical ;
  • de tuer un processus sans avoir à entrer à la main son identifiant PID ;
  • de démarrer plus rapidement ;
  • d’afficher des barres colorées pour indiquer l’utilisation processeur globale et la consommation mémoire.

Bref, je vous encourage à essayer htop, c’est un très bon remplaçant à top.

Évolutions du site

Posté par (page perso) . Édité par Davy Defaud, baud123, Xavier Claude, Florent Zara et patrick_g. Modéré par baud123. Licence CC by-sa
51
19
nov.
2011
LinuxFr.org

Le site Web LinuxFr.org tourne depuis le début de l’année avec un moteur en Ruby on Rails. Il bénéficie régulièrement de nouvelles fonctionnalités et de corrections de bogues. La plupart de ces modifications sont faites au fil de l’eau et déployées dans la foulée sur le serveur de production.

Mais ce coup‐ci, les modifications sont suffisamment importantes pour avoir fait l’objet de tests sur l’environnement alpha et bénéficier d’une dépêche. En effet, l’espace de rédaction a été refait pour apporter plus de confort aux personnes écrivant des dépêches et aux relecteurs :

  • meilleure gestion des verrous sur les paragraphes ;
  • possibilité d’annuler une modification en cours ;
  • affichage d’un diff pour chaque révision ;
  • affichage de la liste des participants ;
  • diverses corrections de bogues.

Si vous rencontrez un bogue ou si vous souhaitez proposer une modification, vous pouvez le faire sur le suivi (notre bugtracker interne).

De nouvelles sections pour les dépêches ont aussi fait leur apparition. Les trois dernières sections sont Android, Open Data et Do It Yourself. Comme vous pouvez le voir, elles n’attendent que vos propositions de dépêches. Nous comptons sur vous !

Node.js passe en version 0.6.0 et arrive sous Windows

Posté par (page perso) . Modéré par Nÿco. Licence CC by-sa
27
5
nov.
2011
JavaScript

Node.js est un environnement JavaScript côté serveur, sous licence MIT. Sa particularité est son approche asynchrone pour faciliter la montée en puissance dans des contextes avec beaucoup d’entrées‐sorties, notamment réseau. En pratique, il se compose :

  • d’un interpréteur JavaScript, à savoir V8 ;
  • de require(), un chargeur de modules compatible CommonJS ;
  • d’une bibliothèque standard, volontairement restreinte (une sorte de libc JavaScript où tous les appels sont asynchrones) ;
  • d’un ensemble de conventions : par exemple, les fonctions de retour indiquent toujours en premier paramètre si l’appel s’est bien passé, et dans le cas contraire, quelle a été l’erreur ;
  • et d’un exécutable, « node », pour lancer tout ça.

La version 0.6.0 est sortie aujourd’hui et apporte quelques nouveautés de taille (plus de détails en seconde partie) :

  • la prise en charge de Windows en utilisant les I/O Completion Ports (IOCP) ;
  • un répartiteur de charge entre plusieurs processus Node.js intégré ;
  • des moyens de communications entre des processus Node.js plus efficaces ;
  • des améliorations du débogueur en ligne de commande ;
  • des bindings pour la zlib ;
  • la mise à jour de V8, passant de la version 3.1 à la 3.6.

La prise en charge de Windows, sans dégrader les performances pour les UNIX, a pris plus longtemps que prévu. Cela a fortement retardé la sortie de cette version, mais Ryan Dahl, son créateur, souhaite sortir la prochaine version stable de Node.js (la v0.8.0) pour janvier 2012.

Vim fête son 20e anniversaire

Posté par (page perso) . Modéré par Christophe Guilloux. Licence CC by-sa
42
3
nov.
2011
Ligne de commande

Vim, le célèbre éditeur de texte vient de fêter son 20e anniversaire. C’est, en effet, le 2 novembre 1991 que Bram Moolenaar a publié la première version de Vim. C’était alors un clone de vi pour Amiga. Toutefois, contrairement à vi, c’est un logiciel libre. Il a pu ainsi être porté rapidement sur d’autres environnements et devenir l’éditeur de référence de nombreux développeurs.

Au fil des ans, de nombreuses versions se sont succédées (la version actuelle est la 7.3), mais son auteur a gardé le principe que Vim doit rester un éditeur de texte et être le plus possible au service de l’utilisateur.

Profitons‐en pour rappeler que si Vim est un logiciel libre publié sous une licence compatible avec la GPL, ses utilisateurs sont encouragés à faire un don à ICCF Holland, une association créée par Bram Moolenaar pour aider les enfants en Ouganda.

Et pour célébrer les 20 ans de Vim, vous êtes encouragés à poster en commentaire toutes les astuces et anecdotes que vous avez sur Vim.

Petites brèves Ruby : MagLev, entretien avec Camille Roux et SciRuby

Posté par (page perso) . Modéré par baud123. Licence CC by-sa
Tags :
11
2
nov.
2011
Ruby

MagLev est une implémentation alternative de Ruby sous licence MIT. Elle se différencie des autres implémentations par son utilisation de GemStone/S qui permet de partager un espace mémoire entre plusieurs processus Ruby.

Camille Roux, un développeur Rails français, a été interviewé par Remix Jobs. Le podcast qui en résulte permet de découvrir Ruby et Rails.

Dans la torpeur de l'été est né le projet SciRuby qui a pour but d'avoir un équivalent des bibliothèques Numpy, Scipy et Matplotlib (toutes codées en Python) en Ruby. Le projet est à ses balbutiements et tout aide sera la bienvenue. Pour le moment, le site du projet est en place et différents dépôts permettent de voir l'évolution des bibliothèques. Pour se faire une meilleure idée des objectifs des promoteurs je vous laisse lire leur entretien (en anglais).

NdM : merci à Nonolapero pour son journal sur SciRuby.

Sortie de Ruby 1.9.3

Posté par (page perso) . Modéré par Xavier Teyssier. Licence CC by-sa
Tags :
28
31
oct.
2011
Ruby

La version 1.9.3 de Ruby vient de sortir. Cette nouvelle version apporte peu de modifications visibles, le gros des modifications se faisant sous le capot.

Parmi les changements notables, nous retrouvons :

  • la licence accompagnant Ruby est maintenant la licence BSD (c’était la GPL v2 jusqu’à présent) ;
  • le chargement plus rapide des bibliothèques, qui devrait être très appréciable pour les projets Rails ;
  • une meilleure gestion du multi‐threading ;
  • la prise en charge d’Unicode 6.0 ;
  • le moteur par défaut pour le YAML devient Psych ;
  • la mise à jour de Rubygems (1.8.10), JSON (1.5.4), Minitest (2.2.2), Rake (0.9.2.2) et Rdoc (3.9.4).

Bien entendu, vous êtes encouragés à passer rapidement à Ruby 1.9.3, en sachant que certaines versions ne seront bientôt plus maintenues :

  • les mainteneurs de Ruby vont encore proposer les correctifs de sécurité pour Ruby 1.9.1, jusqu’à janvier 2012. Après quoi, cette version sera officiellement morte ;
  • pour les utilisateurs de Ruby 1.8.7, les choses vont se faire plus en douceur : maintenance normale jusqu’à juin 2012, puis maintenance de sécurité uniquement jusqu’à juin 2013.

Pour le futur, une version 1.9.4 est prévue pour l’année prochaine et surtout, la sortie de Ruby 2.0 pourrait arriver en février 2013 pour les 20 ans de Ruby.

Petites brèves : Ruby 2.0, DataMapper et RubyLive

Posté par (page perso) . Modéré par Nÿco. Licence CC by-sa
Tags :
27
27
oct.
2011
Ruby

Matz, le créateur de Ruby, a récemment créé une nouvelle branche de développement qui va accueillir les développements pour la version 2.0 de Ruby. Bien que le numéro de version laisse penser qu’il y aura de gros changements, cela devrait pourtant être une version avec moins de changements que pour Ruby 1.9, avec une date de sortie prévue pour début 2013.

La liste des fonctionnalités est encore en cours de discussion, mais on devrait notamment y retrouver les arguments sous forme de mots‐clés, l’importation‐exportation du bytecode de la machine virtuelle, la transformation de la bibliothèque standard en gems (les bibliothèques dans le monde Ruby), un meilleur ramasse‐miette (garbage collector).

DataMapper est le principal concurrent d’ActiveRecord dans le domaine des ORM dans le monde Ruby, il est sorti en version 1.2.0. Côté nouveautés, nous retrouvons des performances améliorées, des corrections de bogues et surtout la prise en charge de Rails 3.1.

Enfin, si vous souhaitez suivre l’actualité Ruby, un nouveau site Web vient de sortir : RubyLive. C’est un site collaboratif, où chacun peut proposer des liens vers des ressources Ruby et/ou Rails, avec une description en français.

Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?

51
11
oct.
2011
JavaScript

Google a publié une première version, dite « preview release », de son nouveau langage de programmation : Dart. Google espère que ce langage va remplacer JavaScript comme langage de référence dans les navigateurs.

Un mémo interne qui a fuité nous informe des intentions de Google. Les ingénieurs de Google, et tout particulièrement l’équipe travaillant sur V8, considèrent que le JavaScript est une impasse : il serait trop lent, très mal adapté pour des développements de grande taille et souffrirait d’erreurs de jeunesse irréparables. Google a donc décidé de proposer son propre langage, Dart, dont la première version vient tout juste de sortir.

Pour le moment, les programmes écrits en Dart peuvent être compilés en JavaScript pour tourner dans les navigateurs. D’ici peu, Chrome devrait être en mesure d’exécuter directement du code en Dart, étape nécessaire pour des performances accrues. Les plans de Google sont ensuite de proposer son moteur aux développeurs des autres navigateurs, mais il semble peu probable dans l’immédiat que ceux‐ci acceptent.

Dart se distingue de JavaScript par :

  • le typage statique optionnel ;
  • les classes et interfaces (par opposition aux prototypes du JS) ;
  • l’obligation d’utiliser les « ; » pour séparer les instructions ;
  • une bibliothèque standard plus riche ;
  • la possibilité d’être outillé plus facilement (meilleure prise en charge pour l’IDE et outils de ré‐usinage par exemple).

Pour autant, Dart a reçu un accueil très froid de la part des développeurs. Par exemple, Brendan Eich, le créateur de JavaScript, considère qu’il est plus simple et plus efficace de faire évoluer le JavaScript que de développer un nouveau langage.

Petites brèves : Sinatra 1.3, entretiens concernant la communauté Ruby et programmation UNIX

Posté par (page perso) . Modéré par Lucas Bonnet. Licence CC by-sa
Tags :
23
4
oct.
2011
Ruby

Sinatra 1.3

Sinatra est une bibliothèque Ruby permettant de développer rapidement des applications Web (sous licence MIT). La version 1.3.0 vient de sortir et apporte une API de streaming, la prise en charge du verbe HTTP PATCH, l’ajout d’une méthode utilitaire logger et des corrections de bogues.

À l’occasion de cette sortie, un nouveau projet a vu le jour : Sinatra::Contrib. Il regroupe les extensions à Sinatra les plus courantes et permettra de gérer plus facilement la compatibilité entre les versions publiées. Par exemple, quand la version x.y.z de Sinatra sortira, le mainteneur, Konstantin Haase, publiera également la version x.y.z de Sinatra::Contrib, qui aura été testée pour s’assurer de sa compatibilité.

Enfin, c’est également l’occasion de noter le récent site Web Sinatra Recipes, qui regroupe des astuces et bonnes pratiques sur Sinatra.

Entretiens concernant la communauté Ruby en France

Camille Roux a interrogé plusieurs membres de la communauté Ruby en France :

Programmation UNIX avec Ruby

Pour finir, je vous propose un petit lien qui pourra intéresser quelques‐uns d’entre vous : Eric Wong a publié une série d’articles sur la programmation système UNIX avec Ruby.

ack 1.96 — mieux que grep

Posté par (page perso) . Modéré par Xavier Teyssier. Licence CC by-sa
48
20
sept.
2011
Ligne de commande

Ack est un outil qui permet de rechercher du texte à l’intérieur de fichiers. C’est donc un clone de grep avec quelques améliorations notables. Voici donc dix raisons de passer à ack si vous utilisez grep :

  1. ack est très rapide, car il ne recherche que ce que vous voulez chercher ;
  2. il recherche récursivement par défaut ;
  3. il ignore les trucs inutiles, comme les répertoires utilisés par les VCS (.svn et CVS par exemple), les fichiers de sauvegarde (« foo~ » et « #foo# »), les binaires, etc. ;
  4. vous pouvez spécifier simplement le type de fichiers à rechercher, comme « --perl » ou « --nohtml » ;
  5. la coloration syntaxique des résultats est là par défaut ;
  6. vous pouvez utiliser les expressions régulières de Perl, pas juste le sous‐ensemble de GNU ;
  7. l’apprentissage d’ack est très simple, car il reprend les mêmes options en ligne de commande que grep (« -c », « -l », « -w », etc.) ;
  8. il est possible d’avoir des options par défaut dans un fichier « ~/.ackrc » ;
  9. la commande fait 25 % de caractères en moins à taper ;
  10. en fait, c’est même 50 % de gagné par rapport à « grep -r ».

La version 1.96 d’ack est sortie dimanche et apporte quelques améliorations notables :

  • les fichiers JavaScript « minifiés » sont ignorés par défaut ;
  • le langage Groovy est supporté (extensions : « .groovy », « .gtmpl », « .gpp », « .grunit ») ;
  • les fichiers Perl et Lua sont mieux détectés.

Note : pour installer ack sur Debian et Ubuntu, il faut faire un « apt-get install ack-grep » (et pas juste « ack »). En revanche sous Archlinux, un « pacman -S ack » sera suffisant. Les autres distributions (Fedora, Gentoo) utilisent également le simple nom « ack »).

L’édition 2011 d’OSDC.fr se tiendra pendant l’Open World Forum les 23 et 24 septembre

Posté par (page perso) . Modéré par patrick_g. Licence CC by-sa
7
16
sept.
2011
Communauté

Pour la 3e année consécutive, la conférence OSDC.fr réunira les développeurs utilisant les langages Ruby, Python, Perl, PHP, mais aussi SmallTalk, JavaScript, Haskell ou encore Red. Elle se tiendra pendant l’Open World Forum les 23 et 24 septembre à l’Eurosites George V.

Le programme final est en ligne avec 36 présentations annoncées couvrant un large éventail de sujets.

L’entrée est gratuite, mais nous vous demandons de vous inscrire pour nous donner une idée de l’affluence. L’inscription se fait sur le site de l’Open World Forum.