Blog de David MASCLET

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

vendredi 20 novembre 2009

Gisgraphy a 2 ans !

Il y a deux ans, j'envisageais de créer un projet de géolocalisation opensource sous licence LGPL : Gisgraphy . Mon but était de créer un framework permettant d'utiliser les données géographiques gratuites sur le Net. Actuellement il gère les données de Geonames et Openstreetmap, ce qui représente 34 millions d'entrées.

Petit bilan de deux ans de développement :

Les 3 webservices disponibles

Liste des fonctionnalités

  • Serveur de téléchargement gratuit avec 28 millions de noms de rue et 8 millions de lieux en CSV.
  • Serveur fournissant les services gratuitement (pour utilisation non commerciale).

Lire la suite...

jeudi 19 novembre 2009

Faire des tests combinatoires avec les theories JUnit (partie2)

Lors du précédent post je vous parlais des Theories. Aujourd'hui je vous propose d'aller un peu plus loin dans la définition du jeu de données en faisant de la combinatoire et en définissant un jeu de données dynamiquement.

Lire la suite...

mardi 17 novembre 2009

Faire des tests combinatoires avec les theories JUnit

Il arrive parfois que l'on ait à faire des tests avec des jeux de données combinatoires. Par exemple, on a un jeu de données A : disons {A1,A2}, et un jeu de données B : {B1,B2}, et on voudrait faire un test où toutes les combinaisons A * B soit testées :

  • testMethode(A1,B1)
  • testMethode(A1,B2)
  • testMethode(A2,B1)
  • testMethode(A2,B2)

Il est possible dans ce cas d'utiliser les theories. Il s'agit d'une technique, pour l'instant expérimentale (cf : nom du package), disponible à partir de JUnit 4.4.

Lire la suite...

vendredi 13 novembre 2009

Bloquer les spammers / hackers avec Apache et mod_spamhaus

Lorsque j'avais des spams sur mon forum, je prenais l'adresse IP de l'utilisateur et j'empêchais l'accès au serveur avec iptables, mais j'ai vite vu la limitation de ce système correctif manuel. Il me fallait un système préventif et automatisé :

mod_spamhaus est un module Apache qui utilise DNSBL pour empêcher les spammeurs et les personnes passant par des proxys un peu douteux, d'accéder à votre site. Il permet de limiter les attaques des bots et de le protéger des utilisateurs ayant une adresse IP connue pour être une IP 'douteuse'

Lire la suite...

jeudi 12 novembre 2009

Limiter la bande passante d'un serveur de download

Lorsque j'ai voulu offrir la possibilité de pouvoir télécharger les données de OpenstreetMap en CSV, je me suis dit que je devais préserver les ressources de mon serveur (car les webservices et le serveur de téléchargement allait être sur la même machine). Je me suis alors demandé comment limiter la bande passante pour un host en particulier. Il existe un module apache pour faire cela : mod_bandwith.

Lire la suite...

Humour : grippe porcine

Aujourd'hui j'avais envie de bloguer sur un autre thème que l'informatique, alors pourquoi pas un peu d'humour.

grippe

Moi ! ça me fait rire :)

mardi 10 novembre 2009

Coloration syntaxique de code dans une page HTML

En regardant les extraits de code de mon blog, je me suis dit que cela serait plus fun, si j'y mettait de la coloration syntaxique.
Ne voulant pas réinventer la roue, je me suis mis à la recherche d'une solution "out of the box", et je suis tombé sur syntaxhighlighter qui me semble vraiment utile au vue du nombre de langages supportés : Bash, Cpp, CSharp, Css, Delphi, Diff, Groovy, Java, JScript, Php, Plain, Python, Ruby, Perl, Scala, Sql, Vb, Xml, AS3, JavaFX, PowerShell, Erlang, ColdFusion.

Lire la suite...

jeudi 5 novembre 2009

Réparer les boutons d'Eclipse qui ne sont plus clicables dans Karmic Koala

Certains d'entre vous ont peut être constaté que l'on ne pouvait plus cliquer sur les boutons d'Eclipse après la Mise à jour en 9.10 (karmic Koala). Ceci est dû à la nouvelle version de GTK 2.18 qui introduit une nouvelle façon d'interagir avec GdkWindows.

Pour corriger le problème, ajouter cette ligne dans votre .bash_profile :

export GDK_NATIVE_WINDOWS=true

et exécutez la commande

. ~/.bash_profile

Et lancez Eclipse à partir de ce shell

Cela devrait résoudre le problème

Limiter l'accès à un site / service pour un certain nombre de requêtes par IP

Il m'est arrivé de devoir limiter l'accès aux webservices de Gisgraphy en raison d'utilisateurs peu scrupuleux qui récupérent les données directement via le webservice. J'ai utilisé pour cela un module Apache appelé mod_evasive.

Lire la suite...

mercredi 4 novembre 2009

Limiter son débit sous linux

Il existe un utilitaire très pratique permettant de limiter son débit. cela peut s'avérer pratique pour faire des simulations ou des tests selon le débit. l'utilitaire s'appelle 'tc' aka traffic control.

Lire la suite...

vendredi 30 octobre 2009

Ubuntu One

Connaissez-vous Ubuntu One ? il s'agit d'un outil permettant de partager des fichiers avec d'autres personnes, mais également des notes et des contacts. Il est disponible depuis les versions 9.04 et pré-installé depuis la version 9.10.

Lire la suite...

jeudi 29 octobre 2009

Editer les conflits lors d'un merge SVN : 2-way compare ou 3-way compare

Hier, j'ai du réaliser un merge SVN avec un collègue où nous avons du merger le trunk sur une branche . Pour cela nous avons installer la nouvelle version d'Eclipse Galileo et le plugin subversive. (les versions antérieures d'Eclipse et de subversive ne gérant que la version 1.4 de svn, la version 1.5 étant beaucoup mieux pour réaliser des merges).

Puis vint le moment douloureux de l'édition des conflits, c'est là que je regrette de ne pas utiliser d'outils comme launchpad, bazaar(systeme utilisé par Canonical, la boite qui a fait Ubuntu, pour gérer les différents projets open source qu'ils maintiennent) ou Git, mais cela fera l'objet d'un post à part. bref ! nous sommes sous SVN.

Nous cliquons donc sur éditer les conflits et nous nous posons la question sur une option de l'éditeur de conflit dans Eclipse : 'Show Ancestor Pane' et 2-way or 3-way qui permet de faire une comparaison tripartite ou pas. lorsque nous passons en comparaison '3-way' nous avons des conflits, et lorsque que nous passons en '2-way' nous n'en avons plus. Quelle est donc la bonne façon de faire ?

Lire la suite...

mercredi 3 juin 2009

Refactor method name and test method name in the same time

I have search for a while, the way to refactor a method and to automatically rename the test method. e.g : i've got a method call execute(), and the test method called executeShouldReallyDoTheJob() if it is in a JUnit 4.0 style or testExecuteShouldReallyDoTheJob() in a JUnit 3.8 style.

When i rename execute() to doIt() the test method still remain executeShouldReallyDoTheJob(). i would like to have the test method to be renamed to doItShouldReallyDoTheJob / testDoItShouldReallyDoTheJob().

Lire la suite...

vendredi 13 mars 2009

Mock ajax request

Hi,

Here is a way to mock /stub an ajax http request with prototype :

Lire la suite...

jeudi 10 juillet 2008

Open a bash in eclipse console

Because it bored me to always use CTRL+Tab to switch between eclipse and a shell. i try to open a shell directly in eclipse and succeed this way :

Lire la suite...

page 3 de 3 -