Journal Optimisez votre code !

Posté par  . Licence CC By‑SA.
Étiquettes :
75
7
déc.
2017

Cher journal,
Je voudrais te raconter une histoire, qui n'est peut-être pas encore finie d'ailleurs, qu'on pourrait résumer en 1 mot : OPTIMISATION !

Tout commence en tout début d'année : je suis embauché chez Chacun cherche son Film, une toute petite (5, moi inclus) boite qui développe un site Web faisant la promotion du cinéma indépendant. Cette boite a fait le (très mauvais, comme on va le voir) choix de faire développer son site par une boite de prestation (…)

Journal Leap second

Posté par  (site Web personnel) . Licence CC By‑SA.
66
1
juil.
2012

Vous le savez peut-être mais la rotation de la terre ne fait pas tout à fait 24h. Je vous rassure, ça tombe vraiment pas loin. Mais il arrive de temps en temps qu'il faille corriger cet écart. C'était le cas ce week-end avec l'introduction d'une « leap second » : samedi à minuit, une minute a duré 61 secondes au lieu des 60 secondes habituelles.

Petit changement, mais conséquences non-négligeables : beaucoup de code écrit sur cette planète n'est pas (…)

OpenDBViewer 1.1.0

Posté par  (site Web personnel) . Édité par tankey, Xavier Teyssier, Davy Defaud et patrick_g. Modéré par patrick_g. Licence CC By‑SA.
53
29
août
2018
Base de données

Il y a presque un an, une dépêche annonçait le logiciel OpenDBViewer, sponsorisé par l’entreprise Jet1oeil et supervisé par moi‐même.

Il s’agit, comme son nom le suggère, d’un petit logiciel très léger écrit en C++/Qt pour lire et modifier les bases de données SQLite, MySQL et PostgreSQL. Le logiciel est sous licence GPL v3.

Avec la venue de stagiaires dans l’entreprise, nous avons pu développer de nouvelles fonctionnalités durant l’année afin d’encore améliorer son ergonomie.

Journal De tout, de rien, des liens, du vrac (mais moins bookmarks cette fois)

Posté par  (site Web personnel) .
40
11
juin
2012

Et voici un nouveau numéro !

Bon, faudrait que j'arrive à me caler sur trolldi pour publier, ça pourrait être un peu plus marrant…

Quoi qu'il en soit, j'ai essayé de faire ça un peu mieux en catégorisant un peu plus, même si c'est pas encore parfait. Les liens sont plutôt inclus dans le texte, à vous de dire si c'est mieux ou si vous préférez de bêtes listes.

Pour cette fois, principalement trois thèmes :

  • Des histoires de boulot
  • Quelques (…)

MariaDB dénonce un jeu de licence par Oracle

Posté par  (site Web personnel) . Édité par Nils Ratusznik, Benoît Sibaud, Florent Zara et Xavier Claude. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
36
19
juin
2013
Base de données

Le rachat de Sun par Oracle avait entraîné l’absorption de MySQL AB par l'ogre de l'édition logiciel. Depuis, au moins deux forks de MySQL ont vu le jour : MariaDB et SkySQL, pour se réunir à nouveau au sein d'un unique projet newSQL. Un peu plus tard, Red Hat, a décidé de remplacer MySQL par MariaDb pour la prochaine version majeure de sa distribution phare : RHEL 7.

MariaDB vs. MySQL

C'est dans ce contexte que MariaDB a dénoncé les équipes de MySQL AB pour avoir silencieusement modifié la licence des pages de manuel de MySQL. La nouvelle licence est bien plus restrictive, puisqu'elle n'autorise plus la duplication de la documentation sous forme imprimée à des fins de redistribution, à moins d'obtenir l'accord d'Oracle.

On attend avec impatience la réponse de MySQL AB ou d'Oracle.

NdM : Il semblerait que ce soit un bug dans le processus de publication de la documentation et non pas un changement intentionnel de licence.

Première beta de POCHE 1.0 disponible

33
8
août
2013
PHP

POCHE est une application web pour gérer une liste de lectures à lire plus tard. Grâce à un bookmarklet, vous sauvegardez facilement un lien dans votre POCHE. POCHE sauvegarde le contenu entier d’un lien : les textes et les photos sont enregistrés sur votre serveur (mais pas la pub!). Ensuite vous pouvez lire une page dans une vue confortable.

Logo Poche

C'est une alternative open source à Pocket / Readability / Instapaper. Vos données vous appartiennent et ne dépendent pas d'une société. Pour éviter ce qui nous est arrivé avec Google Reader, prenez les devants avec Pocket & co.

Journal MySQL est une bouse immonde

Posté par  .
Étiquettes :
30
6
mar.
2012

Ayant commencé une petite appli web avec le framework Catalyst (très bon au passage), j'ai naturellement commencé le développement en utilisant la BDD SQlite.

Très bonne petite base de données embarquée, mais mieux vaut avoir un truc un peu plus costaud en prod. Naïvement, je me suis orienté vers mysql, que je considérais comme une mise à jour logique de sqlite : plus adapté à l'utilisation voulue tout en restant simple.

Heureux de cette conclusion, je donne à bouffer le (…)

Exploitez vos SGBD grâce à dbSQWare

Posté par  (site Web personnel) . Édité par Nÿco et Xavier Claude. Modéré par Pierre Jarillon. Licence CC By‑SA.
30
24
mai
2014
Base de données

Une petite précision tout d'abord sur ce qu'est un SGBD ! Voici ce que nous écrit Wikipédia à ce sujet "En informatique un système de gestion de base de données (abr. SGBD) est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations."
Il en existe un grand nombre, plus ou moins libres et plus ou moins répandus. Dans les plus connus du monde libre, il y a notamment MySQL, PostgreSQL…

À l'heure actuelle, une grande majorité des applications voulant stocker de l'information le fait dans un SGDB. Par exemple, nombre de sites web sont développés en environnement LAMP dont le "M" vient de MySQL. Vient ensuite une autre précision à donner sur ce qu'est "l'exploitation" de ces SGBD. Cela regroupe en fait les tâches récurrentes (souvent automatisées) faites par les administrateurs de bases de données.

La première qui vient à l'esprit est celle de backup (sauvegarde). En général, quand on stocke de l'information, c'est que l'on ne veut pas la perdre ! Il est donc de bon ton d'avoir un système de backup efficace qui nous permettra de récupérer nos données perdues ou altérées en cas de problème (matériel, logiciel, erreur humaine…).

Viennent ensuite les tâches dédiées à la performance comme l'update statistics ou la réorganisation (là, on est dans le barbare pour certains, mais on tâchera d'écrire un article dessus si cela intéresse du monde).

Et enfin, il est bien de pouvoir avoir une vision globale de son parc de SGBD en terme de type, version, volumétrie… c'est ce que l'on appelle la gestion de la CMDB et du capacity planning.

Un outil a été développé dans ce sens pour regrouper toutes ces tâches (et bien d'autres), il s'agit de dbSQWare.

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.

OpenDBViewer 1.0.1, lecteur de base de données léger SQLite & MySQL

Posté par  (site Web personnel) . Édité par Davy Defaud, ZeroHeure, tankey, Pierre Jarillon et palm123. Modéré par Xavier Claude. Licence CC By‑SA.
Étiquettes :
27
12
sept.
2017
Base de données

OpenDBViewer est un petit logiciel qui permet dans une interface très simple de se connecter à une base de données SQLite ou MySQL.

Je l’avais d’abord conçu en Python pour mes besoins personnels et professionnels. Ce logiciel a été ensuite converti en C++ avec Qt. Bien qu’il soit opérationnel, beaucoup de choses pourraient l’améliorer. Pour cela, les contributions des utilisateurs et des développeurs sont chaleureusement espérées.

Journal Présentation de freeostorrent.fr

26
16
juil.
2016

Freeostorrent.fr rassemble des OS libres (Systèmes d'exploitation) et les propose au téléchargement par l'intermédiaire du protocole Bittorrent.
Il est complémentaire des projets officiels qui possèdent déjà leurs services Bittorrent (distributions Gnu/Linux ou xBSD, projets divers, …) et s'adresse premièrement aux projets plus modestes qui recherchent un moyen simple de partager librement leurs travaux.

Conçu au départ comme une "étude de cas" pour un "béotien" désirant enfin apprendre - un peu - le PHP, le site est à l'origine un tracker (…)

Arkiv : Sauvegarde de fichiers et bases MySQL + archivage sur Amazon S3 et Amazon Glacier

Posté par  (site Web personnel) . Édité par ZeroHeure, Davy Defaud et Xavier Claude. Modéré par tankey. Licence CC By‑SA.
Étiquettes :
26
13
août
2017
Administration système

Pour mes besoins personnels et professionnels, j’ai développé un script pour sauvegarder mes données (fichiers présents sur le disque local et bases de données MySQL) et les archiver sur Amazon S3 et Amazon Glacier.

Il est possible de choisir la fréquence de sauvegarde (jusque toutes les heures si nécessaire) et de définir une politique précise pour la purge des données. Il est ainsi possible d’avoir un comportement du type :

  • sauvegarde toutes les heures : les données sont enregistrées en local et envoyées sur Amazon S3 et Amazon Glacier ;
  • toutes les sauvegardes sont gardées en local pendant deux jours, puis on garde quatre sauvegardes par jour (une toutes les six heures) pendant cinq jours, puis une par jour pendant deux semaines, puis elles sont effacées ;
  • toutes les sauvegardes sont gardées sur Amazon S3 pendant deux semaines, puis on garde six sauvegardes par jour (une toutes les quatre heures) pendant deux semaines, puis deux par jour pendant un mois, puis elles sont effacées ;
  • toutes les données sont gardées sans limite de temps sur Amazon Glacier.

Le choix des services cloud d’Amazon se veut pragmatique. Amazon S3 est très utilisé pour stocker des données auxquelles on veut pouvoir accéder rapidement. Amazon Glacier est très pratique pour enregistrer des données sur le long terme pour un coût très bas.

Ce script propose une interface de configuration en ligne de commande qui se veut facile à utiliser. Les fichiers journaux se veulent aussi les plus lisibles possibles.

Piwigo 2.2

Posté par  (site Web personnel) . Modéré par j.
Étiquettes :
25
5
avr.
2011
Internet

Piwigo est un logiciel libre de galerie photo pour le Web, créé en 2002. Piwigo propose des fonctionnalités simples et puissantes pour publier et gérer vos photos sur votre propre site Web.

Quelles nouveautés pour cette version 2.2 ? L’ajout de photos par les utilisateurs a été entièrement réécrit et devient beaucoup plus simple à configurer. L’outil de gestion par lot a également été réécrit. Vous pouvez désormais détecter et mettre à jour automatiquement vos thèmes et langues disponibles en quelques clics. Piwigo est désormais disponible en 37 langues.

Côté technique, un effort important a été engagé pour réduire les échanges entre le navigateur Web et le serveur Web, avec pour résultat une plus grande vitesse d’affichage des pages : fusion automatique des fichiers CSS et des fichiers JavaScript, utilisation de « sprites CSS » pour les icônes (un fichier image contient toutes les icônes).

Journal Mysql, je t'aime un peu, à la folie, mais pas trop libre

Posté par  . Licence CC By‑SA.
24
26
sept.
2011

Les récentes indignations de "monty" Michael Widenius, créateur du gestionnaire de base de donnée mysql explique sur son blog en quoi le nouveau choix d'Oracle de basculer d'un logiciel open source (double licence oui mais pas trop désavantageux pour la communauté) vers un système open core (un socle minimal libre puis le reste propriétaire) est une mauvaise chose pour mysql.
Je trouve aussi que Oracle n'a soit vraiment pas retenu les leçons d'un proche passé ou alors s'en fout complétement (…)

Retour en force de MySQL?

Posté par  (site Web personnel) . Édité par Nÿco, Pierre Jarillon et NeoX. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
22
21
fév.
2012
Base de données

Oracle, nouvel éditeur de MySQL suite au rachat de Sun, vient d'annoncer une nouvelle version 7.2 de MySQL Cluster sous licence GPL (les numéros de version de la version « cluster » sont déconnectés de la version classique). MySQL Cluster est une version dite « distribuée » de MySQL utilisant le moteur NDB (Network DataBase), en lieu et place des classiques MyISAM et InnoDB, permettant une répartition des données et un fonctionnement sur plusieurs serveurs. Le développeur ne voit qu'un seul serveur : le répartiteur de charge.

Cette nouvelle version augmenterait les performances d'un facteur 70 sur les requêtes SQL complexes incluant des jointures sur plusieurs partitions. Un benchmark interne affiche que cette version est désormais capable de dépasser le milliard de requêtes par minute. Il faut évidemment avoir le matériel adéquat. Il a été réalisé sur un « cluster » de 8 nœuds, chaque nœud ayant été équipé de serveur avec 2 Intel Xeon X5670 et 48 Go de RAM, le tout relié par un bus InfiniBand.

Enfin, quant à la version GPL, on se souviendra de la tendance d'Oracle à ajouter tout un tas d'extensions fermées au cœur de MySQL afin de mieux retenir ses utilisateurs.