Architecture logicielle de la nouvelle version de LinuxFr.org

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par tuiu pol.
90
23
fév.
2011
LinuxFr.org

La nouvelle version de LinuxFr.org est en ligne depuis quelques jours. Vous nous remontez régulièrement des bugs et des propositions d'améliorations dans le suivi. Je vous encourage à continuer et à commenter / voter sur les entrées qui vous intéressent.

Voici quelques entrées sur lesquelles j'aimerais particulièrement avoir vos retours :

Je pense que vous êtes également intéressés par l'architecture logicielle de cette nouvelle version. Vous pourrez donc trouver quelques explications à son sujet en seconde partie et n'hésitez pas à poser des questions dans les commentaires.

Journal Il était une fois… la procrastination

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
84
31
mai
2020

(TLDR: c’est l’histoire d’un geek qui veut écrire un commentaire et, une chose en amenant une autre, il doit écrire du code, de la doc, déboguer, modifier les données en production, écrire un journal et discuter procrastination.)

Étape 1, où une mémoire ressurgit : il était une fois un journal sur Window Maker 0.95.9. Cela faisait longtemps que le sujet Window Maker n’avait pas été abordé sur LinuxFr.org, et ceci me rappelle des souvenirs lointains de modération multiple des (…)

Sortie de Mageia 1

Posté par  . Modéré par Mouns. Licence CC By‑SA.
69
3
juin
2011
Mageia

La première version de la distribution communautaire Mageia est sortie le 1er juin. Cette toute nouvelle distribution est issue d'une partie de la communauté Mandriva Linux.

8 mois après l'annonce du projet, la première mouture de Mageia est disponible depuis le premier Juin sur les miroirs comme prévu sur le planning. Fruit du travail d'une communauté issue des quatre coins de la planète, la distribution se décline pour le moment en :

  • 2 DVD d'installation 32/64 bits,
  • ainsi qu'un cd d'installation pour les 2 architectures,
  • complété par 8 Live CD (KDE et GNOME et des variations sur les langues).

On y retrouve également un installeur réseau (fichier boot.iso) ainsi que la possibilité de placer les images ISO sur une clé USB pour une installation simplifiée sur les netbooks.

Petit état des lieux du NoSQL

65
7
mai
2012
Base de données

Pendant longtemps, les bases de données relationnelles ont été l'unique solution pour enregistrer des données, ou en tout cas, la solution adoptée par défaut par beaucoup de monde sans plus de réflexion sur le sujet. Pourtant, certaines personnes considèrent que le problème de stockage de données est en fait multiple et qu'il convient de se poser de nombreuses questions :

  • Est-ce que les données sont fortement structurées ou non ?
  • Quel est le ratio entre les lectures et les écritures ?
  • Est-il acceptable de perdre un enregistrement sur un million ? Sur un milliard ?
  • Est-ce que les données sont réparties sur plusieurs data-centres ?
  • Est-ce que la taille des données peut être multipliée par 10 en l'espace d'un mois ?
  • Quelle indisponibilité du service peut-on se permettre ?
  • Etc.

Les bases de données relationnelles proposent leurs réponses à ces questions ; elles peuvent paraître raisonnables dans bien des cas, mais pas toujours. Par exemple, les bases de données relationnelles sont très mal adaptées quand on veut privilégier les performances plutôt que la garantie d'écriture des données.
Aussi, pour répondre à ces problématiques différentes, un mouvement, NoSQL, a proposé d'adopter des outils différents, spécialisés pour certains cas d'usage. Certaines bases de données NoSQL sont destinées à traiter d'énormes volumes de données, d'autres sont conçues pour maximiser le nombre de requêtes par seconde qu'un serveur pourra traiter, etc. Notons en particulier que la plupart des plus gros sites web ont quitté le monde relationnel (Google, Facebook, Twitter, Amazon), ce qui tend à valider le besoin d'avoir d'autres outils que les bases de données relationnelles.

Logo nosql

NdA : Merci à Christophe Turbout, Thomas Douillard, Buf, olivierweb, Spack, baud123, Bruno Michel, mike.simonson et rakoo pour leur aide lors de la rédaction de cette dépêche

Journal Contribuer à LinuxFr : étape 1 - installation du site

Posté par  . Licence CC By‑SA.
Étiquettes :
62
7
nov.
2012

Bonjour,

J'ai tendance à utiliser régulièrement la recherche du site. Je trouve qu'il regorge d'informations intéressantes, aussi bien sur les nouveautés, les astuces sur l'utilisation de programmes, la programmation et le choix de logiciel (il y a toujours dans les commentaires les programmes équivalent à celui présenté).
Par contre il faut avouer que la recherche est très peu pratique: les résultats sont là mais il n'est pas possible de filtrer facilement, de voir la chaîne recherchée, connaître le nombre de (…)

Journal GitHub remplace la branche master par main

62
24
août
2020

Bonjour cher journal. Aujourd'hui je prends ma plume pour te parler de ce que j'ai vu sur GitHub et qui m'a beaucoup choqué : https://github.com/github/renaming#from-master-to-main

One month after the new settings are available in GitHub.com, we will set the default to main for any user or organization that hasn't chosen a default branch for new repositories. We'll do the same in GitHub Enterprise Server 2.23. You can opt out of this at any time by configuring the default branch name (…)

Virevoltantes valses de licences libres et non libres dans les bases de données

Posté par  (site web personnel) . Édité par bubar🦥, patrick_g et Ysabeau 🧶 🧦. Modéré par claudex. Licence CC By‑SA.
54
3
fév.
2021
Justice

Sur les cinq dernières années, nous avons assisté un ballet impressionnant de changements de licences dans les « bases de données » (au sens large ici) libres (SQL ou NoSQL) : on parle ici de MariaDB (base relationnelle), Elasticsearch (moteur de recherche)/Kibana (visualisation de données), MongoDB (base orientée documents), Redis (base clé valeur), Confluent (gestion d’événements), CockroachDB (SQL distribué), Graylog (gestion de journaux système), et j’en oublie peut-être.

La trame

Les entreprises qui éditent ces bases se voient attaquées dans leur modèle (double licence libre et payante, open core, service, etc.). Selon ces entreprises, d’autres acteurs leur taillent des croupières, leur piquent leur chiffre d’affaires, se placent en intermédiaires captant la valeur, souvent avec une approche « base de données à la demande » de type opérateur d’infrastructure de cloud (mais ça pourrait aussi être un simple intégrateur de solution), et le tout sans contribuer.

Et souvent la solution retenue pour stopper ce qui est perçu comme une dérive est un changement de licence, vers une licence non-libre, respectant généralement les critères suivant :

  • le code est visible / disponible (on part quand même d’une solution libre/open source, si le code n’était pas visible le changement serait brutal)
  • « ça change rien pour toi utilisateur final » (soit tu ne payais pas et c’est encore le cas, soit tu payais déjà (pour le service, le support, etc.) et ça va continuer identiquement)
  • il est interdit de faire du « à la demande » sans publier le code qui te permet de le faire.

Ces start-ups qui contribuent au Libre

Posté par  . Édité par Pilou, gelnior, rootix, baud123, Benoît Sibaud et tuiu pol. Modéré par tuiu pol. Licence CC By‑SA.
38
3
déc.
2012
Communauté

Il est souvent évoqué les entreprises comme Facebook, Google, HP, Novell ou Red Hat qui contribuent au libre, avec plus ou moins de controverse ou de respect des pratiques communautaires. Mais on parle moins souvent des petites sociétés.

Dans cet article nous présenterons le retour d'expérience de trois jeunes start-ups françaises de moins de deux ans, comment elles utilisent des logiciels libres et quelles interactions elles ont avec la communauté.

Note : l'article est écrit collaborativement par trois membres des trois sociétés présentées.

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.

Journal Quelques projets intéressants en OCaml

Posté par  (site web personnel) . Licence CC By‑SA.
32
28
fév.
2013

Ocaml est souvent enseigné aux étudiant par un prof chiant qui nous impose une soupe théorique qu'on est pas forcément prêt à avaler (plus tard, on comprend son intérêt, mais plus tard).
C'est pourtant un langage puissant et généraliste, tout à fait adapté à faire des logiciels de la vraie vie. Et non, il n'y a pas que ML Donkey.

Je recense donc dans ce journal bookmark quelques projets sympa en OCaml, très divers, mais utiles.
Je précise que je (…)

Journal S’il vous plaît... architecture-moi un Kanboard !

Posté par  (site web personnel) . Licence CC By‑SA.
31
26
fév.
2014

0xfg nous a fait le plaisir de partager son "gestionnaire de tâches visuel qui permet de gérer facilement des petits projets de manière collaborative" : Kanboard

Comme il l’explique dans sa dépêche, la pile logicielle utilisée est :

D'un point de vue technique, Kanboard est une application web développée en PHP et utilise Sqlite pour enregistrer ses données.

Avec du vanilla javascript (pas de framework) pour gérer les interactions côté client.

S’ensuit alors une discussion sur la merditude de (…)

Gestion des logs avec Logstash, ElasticSearch & Kibana

Posté par  . Édité par yannig, rogo, palm123, Benoît Sibaud, NeoX, Benoît et eMerzh. Modéré par claudex. Licence CC By‑SA.
31
29
sept.
2013
Supervision

Tout bon administrateur a un jour dû chercher une info à coup de grep, tail, awk dans les fichiers de logs des équipements qu'il gère.
Or la recherche est toujours un peu fastidieuse, avec les questions qui reviennent : "Où est-ce qu'ils sont ces logs ?", "Et c'est quoi le format déjà ?", "Tu connais le mot de passe pour se connecter sur le routeur ?".

Si on peut mettre en place une récupération des logs de façon centralisée avec des outils connus comme syslog, le trio Logstash, ElasticSearch et Kibana est un très bon candidat pour gérer et trouver efficacement des informations dans les milliers de lignes de traces que peuvent générer les divers services.

Robert, un logiciel de stockage en mémoire vive

Posté par  . Édité par Ysabeau 🧶 🧦, claudex, bubar🦥, palm123, Benoît Sibaud et Davy Defaud. Modéré par claudex. Licence CC By‑SA.
31
20
avr.
2020
Rust

Bonjour tout le monde,

J’ai le plaisir, pour ce premier message sur LinuxFr.org, de vous annoncer un nouveau projet de stockage clé‑valeur en mémoire vive.

« Encore un » vous direz‑vous ? Certes. Voyons si j’arrive à vous convaincre.

N. D. M. : à ne pas confondre avec le protocole ROBERT (ROBust and privacy‐presERving proximity Tracing) qui vient d’être publié par l’INRIA et la Fraunhofer AISEC pour le suivi de contacts dans le cadre de la pandémie de Covid‑19.

Cloud Foundry, la solution PaaS libre

Posté par  (site web personnel) . Modéré par Lucas Bonnet. Licence CC By‑SA.
29
22
avr.
2011
Ruby

VMWare a annoncé la sortie de Cloud Foundry, une solution libre de Platform-as-a-Service (PaaS). La PaaS permet de déployer des applications Web et gérer leur montée en charge, en abstrayant la gestion des serveurs, bases de données, runtimes des langages de programmation, serveurs applicatifs, etc.. VMWare va lancer une offre commerciale s’appuyant sur Cloud Foundry, mais vous pouvez aussi l’utiliser sur vos serveurs.

Cloud Foundry, sous licence Apache 2, est un ensemble de briques développées en Ruby : NATS, Cloud Controller, DEA, Router, Health Manager, etc., dont le fonctionnement est expliqué en seconde partie de cette dépêche.

En pratique, chaque serveur sera installé avec vcap, puis les applications sont déployées avec l’outil en ligne de commande « vmc » et peuvent utiliser les services mis à leur disposition. Actuellement, Cloud Foundry supporte Ruby on Rails, Sinatra, Node.js, Spring et Grails pour les applications, et MySQL, MongoDB, Redis et RabbitMQ pour les services.

Par exemple, déployer une application Rails se fait très simplement avec les commandes suivantes :

$ vmc target api.example.net   # Choisir que quel cloud on va déployer
$ vmc login                    # S'identifier auprès du Cloud Controller
$ vmc push                     # On demande à déployer l'application

Il faut ensuite répondre à quelques questions : quel est le nom de l’application ? Quelle est son URL ? Sur combien d’instances va-t-elle être déployée ? Quels services utilise-t-elle ? Puis, Clound Foundry va réserver les ressources, installer les gems nécessaires avec Bundler, lancer les services applicatifs puis mettre à jour sa table de routage. « vmc instances » permet également de modifier le nombre d’instances d’une application pour s’adapter à la charge qu’elle va avoir à traiter.

Au final, Cloud Foundry est une solution jeune (peu de frameworks et services disponibles pour le moment), mais VMWare semble prêt à respecter les règles du Logiciel Libre et prendre en compte les propositions d’améliorations des premiers utilisateurs.