Blog geekesque... ou pas

Aller au contenu | Aller au menu | Aller à la recherche

11/05/2012

"Bell" avec Putty et screen

Depuis quelques temps, j'ai mis le plugin beep.pl sur weechat et j'ai activé, sur Putty, la signalisation sonore des highlights[1], mais malheureusement, quel que soit le réglage sur Putty, je n'avais qu'un bref clignotement de la fenêtre.

Note

[1] Mise en évidence d'une ligne où vous êtes cité

Lire la suite...

27/04/2012

Cryptage réversible en java

Mon cryptage réversible a fait des émules ! Ophanin a fait une version java du système et vous la livre.

A priori complètement compatible avec la version PHP, peut-être un souci sur le décodage mais je suis certain que ce sera vite corrigé.

RevCrypt java

11/04/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 !"});
});

06/04/2012

Votre position en JS

Suite à ce billet, j'ai exploré le blog de Mathieu et j'y ai trouvé une information sur la géolocalisation en JS.

En poursuivant mes recherches à ce sujet, j'ai trouvé un tutoriel fort intéressant: géolocalisation en HTML5.

Je me permet donc d'en mettre les grandes ligne ici (ce ne sont que des copier/coller)

Récupérer les coordonnées

Un système très simple permet d'obtenir les coordonnées. Le système gère la non-prise en compte de la géolocalisation par le navigateur, ainsi que le fait que l'utilisateur refuse de partager sa position.

if (navigator.geolocation)
  navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
else
  alert("Votre navigateur ne prend pas en compte la géolocalisation HTML5");
 
function successCallback(position){
  alert("Latitude : " + position.coords.latitude + ", longitude : " + position.coords.longitude);
});
 
function errorCallback(error){
  switch(error.code){
    case error.PERMISSION_DENIED:
      alert("L'utilisateur n'a pas autorisé l'accès à sa position");
      break;
    case error.POSITION_UNAVAILABLE:
      alert("L'emplacement de l'utilisateur n'a pas pu être déterminé");
      break;
    case error.TIMEOUT:
      alert("Le service n'a pas répondu à temps");
      break;
    }
});

Suivre les déplacements

Ce petit code permet de suivre les déplacements de l'utilisateur

var watchId = navigator.geolocation.watchPosition(successCallback, errorCallback);
function stopWatch(){
   navigator.geolocation.clearWatch(watchId);
}

Et le lien d'arrêt du suivi:

<a href="#" onclick="stopWatch()">Stop Watch</a>

La vitesse ! La boussole ! L’altitude !

Lorsque l’on récupère la variable position afin d’obtenir la latitude grâce à position.coords.latitude, on a accès à plusieurs autres attributs :

  • position.timestamp, qui renvoie le timestamp de l’heure à laquelle a été mise à jour la position
  • position.coords.altitude, qui correspond à l’altitude de l’utilisateur
  • position.coords.accuracy, qui correspond à la précision des coordonnées
  • position.coords.altitudeAccuracy, qui correspond à la précision de l’altitude
  • position.coords.heading, qui correspond à l’angle compris entre 0 et 360° par rapport au Nord (ce n’est pas aussi précis que la boussole interne d’un smartphone)
  • position.coords.speed, qui correspond à la vitesse de l’utilisateur par rapport à sa dernière position.

09/03/2012

Contrôle de dates en C

J'ai eu besoin de gérer des dates en C pour un petit module et, découvrant ce langage, je me suis apperçu que les dates sont traitées essentiellement comme des chaînes. Si l'on définit une date au 37/02/2005, ça ne pose aucun souci.

Après quelques recherches sur le net, j'ai trouvé une source simple et fonctionnelle qui permet de vérifier le format de la date ainsi que sa validité.

Lire la suite...

31/01/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.

14/11/2011

Adapter la présentation de Weechat

Si vous utilisez weechat comme client IRC, peut-être n'appréciez-vous pas que la fenêtre de tchat soit alignée sur le pseudonyme le plus long et préférez une présentation sans alignement.

Cela peut se faire en trois réglages:

/set weechat.look.prefix_align none
/set irc.look.nick_prefix <
/set irc.look.nick_suffix >

Si vous voulez revenir à la présentation d'origine, il vous suffit de faire:

/set weechat.look.prefix_align right
/set irc.look.nick_prefix ""
/set irc.look.nick_suffix ""

Bien entendu, pensez à sauvegarder après avoir fait les changements.

10/10/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...

05/09/2011

Vérification d'adresse IP

Bien qu'il soit rare que l'on ait à mettre une adresse IP dans un formulaire, il arrive que l'on ait besoin de les vérifier.

Donc, pour faire suite au billet Les assertions et vérification de formulaire, voici la petite fonction qui me permet de vérifier la syntaxe d'une adresse IP.

Fonction

<?php
function isIPAddress($ip) {
   $pattern = '/^\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b$/';
   if (preg_match($pattern, $ip) == 1) return true;
   else return false;
}
?>

Explications de l'expression régulière

L'expression vérifie que l'adresse contient 4 termes séparés par des points. La partie importante est celle que l'on retrouve deux fois:

(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

Cette partie vérifie que les termes:

  • commencent par 25 et sont suivi d'un chiffre de 0 à 5
  • ou commencent par 2, suivi d'un chiffre de 0 à 4, suivi d'un chiffre de 0 à 9
  • ou peut commencer par un 0 ou un 1, suivi des nombres de 0 à 99

Ceci nous permet donc de vérifier que les termes couvrent la plage 000 à 255.

18/04/2011

Réveiller un NAS

Si vous êtes l'heureux possesseur d'un NAS, vous appréciez très certainement son économie d'énergie et le fait qu'il se mette "à l'arrêt" lorsqu'il n'est pas sollicité depuis un certain temps.

Enfin, ceci est de la théorie parce qu'en pratique, si vous êtes plutôt Linux que MacOS ou Windows, il va falloir chercher un peu. J'ai moi-même cherché et j'ai trouvé sur un forum une contribution de themadmax.

Je me permet donc de traduire (et expliquer) la contribution.

Lire la suite...

- page 1 de 7