PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

La vache libre : ZED – Un éditeur de texte/code intéressant et original

mardi 15 avril 2014 à 20:12

zed

Si vous êtes sans cesse à la recherche de nouveautés ou d’applications un peu originales, ZED est un soft qui risque bien de vous plaire. Il s’agit d’une application multiplateforme, conçue dans le but de fournir aux utilisateurs et plus particulièrement aux développeurs, un éditeur de texte open source disposant de quelques options intéressantes. Une des particularités de ZED réside dans le fait que celle-ci peut être utilisée au choix comme une application de bureau classique, ou sous la forme d’une extension intégrée dans le navigateur Chrome/Chromium. Il embarque en prime un certain nombre d’options vous permettant d’héberger votre travail dans le cloud, via Dropbox, particulièrement bien intégré dans l’application. Ainsi, si vous cherchez une solution à même de vous permettre de décentraliser rapidement votre travail, ou à en faire une sauvegarde externe, le combo Dropbox + Chromium peut être particulièrement intéressant.

Pour le reste ZED possède une interface graphique assez minimaliste, compensée toutefois par un grand nombre d’outils intégrés, des raccourcis clavier à la pelle et par la prise en charge d’un grand nombre de formats de fichiers. Vous pourrez par exemple éditer des fichiers HTML , CSS et Javascript, si vous êtes développeur web, mais aussi d’autres langages comme du C , Clojure , CoffeeScript , C # , CSS , Dart , Erlang , Go , Haml , Haskell , HTML , des fichiers INI , Java , JavaScript , JSON , LogiQL , Lua , Markdown , Nix , PHP , plist , Protobufs , Python, Ruby , Shell , XML , et j’en passe.

Si vous aimez bien bidouiller la fenêtre de configuration des paramètres devrait vous plaire :

zed-config

Ainsi que celle du manuel utilisateur :

zed-manuel

Plutôt original non ?!!

Si vous voulez voir le soft en action, vous pouvez jeter un œil à cette petite vidéo de démo :

Alors pour être franc avec vous (comme d’hab), je ne sais pas trop ce que vaut cette application car  je n’ai pas eu le temps de la tester de manière approfondie et que je n’ai de toute façon pas la vision d’un développeur. Cela dit, si éditer du code est votre truc et que vous avez un peu de temps à consacrer à un test, vous ne perdrez rien a essayer ZED. Ce soft m’a paru vraiment très sympathique sur le papier.

Vous pouvez en savoir plus sur ZED depuis le site officiel ou la page Github du projet.

Si vous voulez passer direct à la phase test, ZED est disponible sous GNU/Linux, Windows, Mac et Chrome/Chromium, depuis la page de téléchargement du site officiel.

NB : Si vous tournez sous GNU/Linux il suffit d’extraire le contenu de l’archive et de cliquer sur le binaire, ou d’entrer la commande suivante dans votre terminal pour lancer le programme :

./zed

Amusez-vous bien.

source

Gravatar de La vache libre
Original post of La vache libre.Votez pour ce billet sur Planet Libre.

Yannic Arnoux : Haute Disponibilité avec Redis

mardi 15 avril 2014 à 20:00

Redis est une base de donnée de type clef-valeur. On la range dans la grande famille plutôt hétérogène des bases NoSQL qui, pour rappel, signifie plutôt Not Only SQL que No SQL. Ceci dit, dans le cas de Redis, on est vraiment dans le No SQL at all. La base permet de stocker par clef des chaînes, des listes de chaînes, des hashtable. Elle permet de stocker des valeurs avec une date d'expiration au delà de laquelle la donnée disparaît. Idéal pour gérer des données cache et c'est d'ailleurs l'utilisation principale de Redis. On peut aussi facilement implémenter producteur / consommateur entre plusieurs clients d'une base Redis. L'ensemble des commandes supportées par Redis est parfaitement documenté ici.

La base est orientée performance et évolutivité :

Ce qui fait (aussi) le succès de Redis, c'est que le coeur est en C et qu'il existe des clients pour la plupart des langages. Pour l'instant, j'ai utilisé Jedis pour JAVA et redis-py pour Python. Enfin, un client en ligne de commande permet d'interagir avec la base sans écrire de code.

La dernière version stable est Redis 2.8.8. Quant à la version 3.0 à venir, encore en phase de bêta, elle embarque des fonctionnalités de répartition des données dans des configuration de type cluster, ce qu'on appelle en langue de Shakespeare le sharding. Dans le futur, elle embarquera aussi des fonctionnalités de Haute Disponibilité pour basculer les données lorsqu'un noeud du cluster s'écroule.

En attendant ce futur, la version actuelle apporte une solution de cluster actif/passif basée sur la réplication maître / esclave surveillée par des sentinelles chargées de promouvoir un Redis esclave en maître en cas de défaillance.

Je me suis intéressé à monter une configuration avec seulement 2 machines sous Debian qui peut fonctionner si l'une des machines tombe et automatiquement réintégrer le cluster quand elle redevient opérationnelle, sans impact pour les clients Redis. Ce n'est pas si trivial et je me suis heurté à quelques difficultés avant d'arriver à une configuration opérationnelle.

Comme dans la plupart des architectures clusterisées, un quorum (nombre minimal de votants) est nécessaire pour élire un nouveau maître. La valeur minimum possible est 1, signifiant qu'une sentinelle a besoin qu'au moins 1 autre sentinelle soit d'accord avec elle pour déclarer qu'un Redis maître est défaillant. Il faut au minimum 2 sentinelles opérationnelles quel que soit l'état du cluster donc sur chaque machine on va installer un Redis et 2 sentinelles.

Au début de mes expérimentations, j'attribuais un port différent aux sentinelles pour les exécuter sans conflit sur la même machine mais j'avais des problème d'indécision des sentinelles pour élire un nouveau noeud. Je crois que toutes les sentinelles ne communiquaient pas. La situation s'est arrangée quand j'ai configuré toutes mes sentinelles pour écouter sur le port standard 26379. Pour que ce soit possible, j'ai attaché mes sentinelles à des adresses IP différentes en déclarant une sous-interface sur chaque machine.

+–––––––––––––––+––––––––––––––+     +–––––––––––––––+––––––––––––––+
|  Sentinelle 1 |              |     |  Sentinelle 1 |              |
+–––––––––––––––+              |     +–––––––––––––––+              |
|    REDIS      | Sentinelle 2 |     |    REDIS      | Sentinelle 2 |
+––––––––––––––––––––––––––––––+     +––––––––––––––––––––––––––––––+
|     Eth0      |    Eth0:1    |     |     Eth0      |    Eth0:1    |
| 192.168.0.51  |  10.25.14.1  |     | 192.168.0.52  |  10.25.14.2  |
+–––––––––––––––+––––––––––––––+     +–––––––––––––––+––––––––––––––+
           Machine A                            Machine B

Voici la configuration réseau de la machine A (/etc/network/interfaces) :

iface eth0 inet static
    address 192.168.0.51
    netmask 255.255.255.0

iface eth0:1 inet static
    address 10.25.14.1
    netmask 255.255.255.0

La configuration des serveurs Redis est identique sur chaque machine :

port 6379

loglevel warning
logfile "/var/log/redis.log"

maxmemory-policy noeviction

appendonly yes
appendfsync always

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-rewrite-incremental-fsync yes

min-slaves-to-write 1
min-slaves-max-lag 10

Ce n'est pas le sujet de l'article mais je vous conseille de jeter un oeil à la documentation pour les paramètres liés à l'AOF et au APPEND qui vont réduire les risques de perte de données en configurant des écritures sur disque. C'est peut-être inintéressant dans le cas d'une utilisation de Redis comme cache mais ça le devient dans le cas d'une utilisation plus classique comme base de données.

Quand les deux serveurs Redis sont démarrés, on peut initier le rôle initial d'esclave de la machine B depuis le client Redis avec la commande :

slaveof 192.168.0.51 6379

Par la suite, les sentinelles se chargent de décider quel rôle est joué en fonction de la disponibilité des machines.

Voici la configuration de la sentinelle 1 sur la machine A :

port 26379    
bind 192.168.0.51

# master configuration
sentinel monitor master 192.168.0.51 6379 1
sentinel down-after-milliseconds master 3000
sentinel failover-timeout master 10000
sentinel parallel-syncs master 4

Et celle de la sentinelle 2, également sur la machine A :

port 26379
bind 10.25.14.1

# master configuration
sentinel monitor master 192.168.0.51 6379 1
sentinel down-after-milliseconds master 3000
sentinel failover-timeout master 10000
sentinel parallel-syncs master 4

La configuration des sentinelles de la machine B est identique à part les directives bind pour attacher les services aux adresses 192.168.0.52 et 10.25.14.2.

Avec cette configuration, on a suffisamment de sentinelles pour basculer le rôle d'une machine à l'autre dans cas extrème où la machine A est injoignable par le réseau ou bien mise hors tension.

Je n'ai pas détaillé le code client mais il y a une étape avant de récupérer une connexion valide à la base Redis : s'adresser au pool de sentinelles pour obtenir l'adresse du maître et ensuite ouvrir une connexion vers celui- ci. Dans le cas d'une bascule du cluster, la connexion est cassée et il faut à nouveau s'adresser aux sentinelles pour récupérer l'adresse du Redis maître.

Voici un exemple typique de code en Python :

1
2
3
4
5
6
#!/bin/env python

from redis.sentinel import Sentinel
sentinel = Sentinel(
    [('192.168.0.51', 26379), ('192.168.0.52', 6379)], socket_timeout=0.1)
print("Master %s %d" % sentinel.discover_master('master'))

Je suis le projet Redis depuis un bout de temps avec intérêt car il offre beaucoup d'applications possibles dans des architectures distribuées multi-langages.

Gravatar de Yannic Arnoux
Original post of Yannic Arnoux.Votez pour ce billet sur Planet Libre.

Articles similaires

fgallaire : Lucas 2.0

mardi 15 avril 2014 à 18:36

Lucas Nussbaum vient d’être réélu Debian Project Leader.

Comme on peut le constater sur ce graphe, il a obtenu 47 voix de plus que Neil McGovern :

Une analyse plus précise des votes permet d’en calculer une représentation plus “classique” du point de vue des habitudes électorales, et donc plus compréhensible pour la majorité des gens :

Lucas Nussbaum : 56,5%
Neil McGovern : 43,5%

C’est bien une large victoire de Lucas, mais aussi une défaite très honorable pour Neil, qui se positionne donc comme un prétendant sérieux à la victoire l’année prochaine.

Tweet

flattr this!

Gravatar de fgallaire
Original post of fgallaire.Votez pour ce billet sur Planet Libre.

Articles similaires

Framablog : Framasoft présente : Vosges Opération Libre, le 17 et 18 mai à Gérardmer

mardi 15 avril 2014 à 15:50

Vosges Opération Libre - Logo

Le samedi 17 mai et le dimanche 18 mai à Gérardmer se déroulera un événement inédit dans la région Grand Est : Vosges Opération Libre. Il est ouvert à tous et orienté à la fois vers le grand public et les professionnels.

Cette opération libre est à l’initiative de Framasoft et d’autres d’associations d’envergure nationale ayant une grande expérience dans le Libre, l’ouverture des données, les licences libres et le libre accès.


Vosges Opération Libre - Presse


Il s’agit de la seconde Opération Libre se déroulant sur le territoire français. La première ayant eu lieu à Brocas (Aquitaine) en 2013. Les Opérations Libres visent à rassembler, le temps d’un week-end, des acteurs du Libre en vue d’initier la démarche open data dans les petites villes et villages en présentant les outils disponibles, notamment des logiciels libres. Elles invitent les habitants à participer à l’ouverture et à la diffusion des données de leur territoire. Elles proposent aussi d’engager les citoyens dans un rapport différent avec leur territoire en montrant que le partage des connaissances leur permet d’être collectivement valorisées.

Cette initiative portera aussi sur les usages numériques, leur appropriation, leur potentiel de créativité et leur économie. Cette manifestation vise à promouvoir la culture libre et l’ouverture des données en organisant des actions thématiques formulées en stands, ateliers de formation, conférences, projection permanente de films libres, débats, etc.

Il s’agit d’un événement culturel et participatif où le logiciel libre et ses principes sont conçus comme autant de moyens au service des activités pratiques proposées à destination du grand public. Un travail préalable précédant la manifestation a été mené avec les acteurs de la vie culturelle locale, en particulier la médiathèque de Gérardmer (soirées Wikipédia, ateliers et conférence).

Le programme de la manifestation est disponible à l’adresse vosges.operation-libre.org. Il comprendra :


Vosges Opération Libre - Affiche

Vosges Opération Libre - Programme

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.

Cenwen : Blender Fondation : Projet Gooseberry

mardi 15 avril 2014 à 12:46

  NewsJe relais ici une information qui circule sur la toile et qui concerne le projet phare de l’infographie 3D libre :Blender. Cette nouvelle circule aussi bien aux US (Google+ de Jonathan) qu’en France (par l’intermédiaire de Lionel Allorge, Président de l‘April pour ma part). Il s’agit du projet Gooseberry de la fondation Blender. Cette même fondation nous a habitué à réaliser de fantastiques court métrages d’ animations. Mais elle s’attaque à quelque chose de plus grand aujourd’hui : le projet Gooseberry. Pour cela, la fondation Blender a lancé une levée de fonds pour financer la production de ce  long métrage d’animation en 3D sous licence libre.

Lionel Allorge a eu l’occasion de filmer l’interview du réalisateur Mathieu Auvray qui détaille le projet :

http://www.youtube.com/watch?v=fD-ug3pRzuA

Ce projet, qui est une première, à besoin de votre aide pour démarrer. Vous pouvez participer en faisant une promesse de don ici :
https://cloud.blender.org/gooseberry/

 


Classé dans:Infographie, Libre, Logiciels, News, Planet-Libre, Vidéo Tagged: Blender, Infographie, Multimédia, News Généralitès, projet Gooseberry

Gravatar de Cenwen
Original post of Cenwen.Votez pour ce billet sur Planet Libre.

Articles similaires