lundi 10 octobre 2016

Décrypteur de log rsync

Comme beaucoup de monde, j'utilise rsync de manière automatisée pour effectuer mes sauvegardes mais les logs sont difficilement interprétables d'un simple regard. J'ai donc décidé de me faire un petit analyseur qui me permettra d'avoir un rendu bien plus lisible. Et en couleur pour que ce soit encore plus visuel.

Le rendu sera, pour chaque ligne de log rsync:

  • l'action effectuée (upload, download, suppression, modification ou ignore)
  • le type de contenu (fichier, répertoire, lien symbolique)
  • le nom du contenu traité
  • les raisons de la modification

A la fin de l'analyse, un comptage des différentes actions sera affiché.

Lire la suite...

mercredi 11 avril 2012

[MàJ] Utiliser OpenStreetMap plutôt que GoogleMap ?

Edition du 11 avril: Je me rends compte que je n'ai pas mis l'adresse du site dédié, il s'agit de osmLeaflet.jQuery. C'est là que l'on peut facilement suivre les mises à jour et évolutions.

Depuis quelques temps, je m'intéresse au projet OpenStreetMap qui me semble une bonne alternative à GoogleMap pour l'intégration de cartes sur des sites.

Malheureusement pour les plus fainéant d'entre nous (moi y compris), aucun code officiel à utiliser directement n'existe. Sauf depuis l'intervention de Mathieu Robin qui a créé un plugin OSM pour JQuery, qu'il a appelé osmLeaflet.jQuery.

Voici l'exemple d'utilisation qu'il donne sur son billet d'explication qui vous montre la simplicité déconcertante de son utilisation, mais je vous invite fortement à aller voir le blog.

$(document).ready(function () {
    // Initialisation de la map
    var osmMap = $(document).osmLeaflet({
           target : 'map',
           zoom : 12,
           lattitude : 51.50,
           longitude : -0.09
    });
 
    // Ajout d'un marker
    osmMap.osmLeaflet('addMarker', {lattitude : 51.50, longitude : -0.09});
 
    // Ajout d'une popup
    osmMap.osmLeaflet('addPopup', {lattitude : 51.51, longitude : -0.13, text : "Hey !"});
});

mardi 31 janvier 2012

Sauvegarder Putty

Si vous utilisez putty, vous avez peut-être envie de sauvegarder ses réglages pour ne pas avoir à reconfigurer tous les serveurs en cas de réinstallation.
C'est heureusement très simple à faire, il vous suffit d'exporter une partie de la base de registre de Windows.

Exportation

  • Ouvrez la base de registre (Démarrez > Exécuter > regedit)
  • Recherchez la clé SimonTatham (habituellement le chemin est HKEY_CURRENT_USER\Software\SimonTatham)
  • Faites un clic-droit sur la clé et choisissez l'option Exporter
  • Enregistrez le fichier .reg

Ce fichier (appelons le putty.reg) est votre sauvegarde.

Importation

Pour retrouver votre configuration, il vous suffit de faire un clic-droit sur putty.reg et de choisir "Fusionner", vous avez retrouvé votre configuration initiale.

lundi 10 octobre 2011

Créer un patch et l'utiliser

Lorsqu'on développe une (ou des) application(s), il y a fréquemment des mises à jour à faire.

Très souvent, et moi le premier, la méthode la plus simple consiste à purement et simplement écraser ce que l'on a mis en place par les nouveaux fichiers, ce qui peut parfois être lourd (en quantité transférée) alors que les modifications sont mineures, et comporte des risques dûs au transfert FTP.

Heureusement, si votre application est gérée par SVN (je le conseille fortement) et si vous avez accès à l'hébergement de votre application par SSH (ce qui est malheureusement rarement le cas dans le cadre des applications web), diff et patch vont vous simplifier grandement le travail.

Lire la suite...

mercredi 29 décembre 2010

Authentification SSH par clé RSA

Lorsque l'on doit fréquemment accéder par SSH à une machine, il est fastidieux de chaque fois devoir taper son mot de passe. Il existe heureusement une méthode permettant d'avoir une connexion automatique et sécurisée, utilisable pour tout ce qui est habituellement fait à travers le SSH (connexion en console, sftp ou même scp), il s'agit des clés RSA.

Lire la suite...

mercredi 28 juillet 2010

URLs raccourcies et encodage en base 62

De plus en plus de systèmes de raccourcissement d'URL existent, et le système est somme toute relativement simple à mettre en place. Il demande un peu de logique et l'utilisation d'un encodage en base 62: les 10 chiffres et les 26 lettres (minuscules et majuscules).

Lire la suite...

mardi 27 avril 2010

Tests unitaires et couverture de code

Les tests unitaires sont au développeur ce que la prose est à M. Jourdain: ils en font sans le savoir. Malheureusement, ces tests ne sont pas souvent effectués de manière complète et approfondie, et le développeur ne s'intéresse pas au complément de ces tests: la couverture de code.

Heureusement, il existe des outils qui simplifient ce travail et le rendent plus cohérent. Je traiterai ici des procédures lorsqu'on développe en PHP, en m'appuyant sur PHPUnit.

Lire la suite...

dimanche 21 mars 2010

Script de sauvegarde automatique

Ce petit script permet de générer des archives horodatées de répertoires sur une machine unix. Il suffit que tar et gunzip soient installés et de configurer les 4 variables, puis d'ajouter une entrée pour ce script dans crontab.

Dans cet exemple, le but est de sauvegarder le répertoire /home/g33kzone/public_html/ (le site) et /var/lib/mysql/g33kzone/ (la base MySQL du site) dans le répertoire /home/backups/. Les fichiers de sauvegarde seront nommés archive_YYYYMMDD.tgz, c'est à dire archive_20100321.tgz pour l'archive du 21 mars 2010.

L'option "VERBOSE" permet d'avoir un affichage des fichiers archivés, elle est à utiliser pour le debug ou si vous voulez enregistrer l'activité d'archivage dans un fichier de log.

#!/bin/bash
 
###############################################
#  Configuration
###############################################
# Destination
BACKUP_DIR="/home/backups/"
# Directories to save
FILESYSTEMS="/home/g33kzone/public_html /var/lib/mysql/g33kzone/"
 
# basename of the archive file
BASE_NAME="archive_"
 
# Would you like to get detailed information from tar and gzip? 0=false,
# 1=true
VERBOSE=0
 
# DO NOT EDIT BELOW THIS LINE
#--------------------------------------------------------
###############################################
#     Application Variables - DO NOT EDIT #
###############################################
# Day of the week;
NOW=`date +"%Y%m%d"`
# Script name
SCRIPTNAME="Backup Script"
# Version
VERSION=0.01
######## Do some error checking #########
# Does backup dir exist?
if [ ! -d $BACKUP_DIR ]
  then
    echo "The specified backup directory $BACKUP_DIR does not exist. Operation canceled."
    exit 1
fi
######## Run Backup #########
LEVEL=0
if [ $VERBOSE -eq 1 ]
  then
    tar cvfz $BACKUP_DIR/$BASE_NAME.$NOW."tgz" $FILESYSTEMS
  else
    tar cfz $BACKUP_DIR/$BASE_NAME.$NOW."tgz" $FILESYSTEMS
fi
 
exit 0

vendredi 30 octobre 2009

Le gratuit meilleur que le plus cher

Mon PC étant parti d'une base assez ancienne qui n'a subit que des évolutions au fur et à mesure, il subsiste parfois des héritages dont j'aimerais me passer.

Par exemple, mon disque principal de 20Go qui à l'époque de windows 95 était partitionné en deux fois 10 Go, pour avoir le système d'un côté et les documents de l'autre. Les années ont passé, windows XP est arrivé, j'ai acheté des disques supplémentaires, mais j'ai toujours laissé mon système sur ce brave vieux Maxtor.

Il y a quelques temps de ça, j'ai voulu rendre à mon disque système toute sa taille, et j'ai fait un petit tour des logiciels de repartitionnement. J'ai jeté mon dévolu sur Partition Magic qui semblait être LE bijou dont j'avais besoin, la version d'évaluation (qui simule mais ne fait rien) m'ayant dit que tout était parfait. Et bien non, PM échouait, même lorsque je faisais bien comme il me disait de faire, en suivant ses conseils et ses prérogatives... J'ai pu redonner de l'espace à mon disque principal, mais il avait toujours une partition de 4Go dont je n'avais que faire.

Aujourd'hui, tout à fait par hasard, je suis tombé sur EASEUS Partition Master 4.0.1, qui en plus est gratuit dans sa version "Home Edition". Je lui ai programmé 3 opérations sensibles:

  • supprimer cette partition inutile
  • donner la taille maximale possible à la partition primaire
  • agrandir une partition qui ne prenait pas tout un disque

Le temps de boire un café et le freeware a tout bien fait, sans aucune perte.

mercredi 21 octobre 2009

Classe de recherche Google

Ainsi que je le disais dans ce billet, j'ai réalisé une classe pour exploiter l'API de recherche de Google sans utiliser AJAX. Elle permet de faire les recherches dans 7 catégories: web, images, vidéos, blogs, actualités, livres et cartes.

Vous trouverez sa mise en application sur cette page

Lire la suite...

- page 1 de 2