Peu de temps après être rentré du boulot, ce soir, j'ai allumé mon ordi avec en tête d'avancer sur mon projet Dipiscan (ou "le retour d'IPScan32"). C'était sans compter sur un petit imprévu : Dipisec n'a pas été très poli avec moi... Que s'est-il passé me direz-vous ? Il semblerait tout simplement que le site utilisé par défaut par cette appli depuis des années soit hors service aujourd'hui. Maintenance ? Fermeture définitive ? Qu'importe en fait...
J'ai donc retroussé mes manches et ai remis les mains dans ce vieux code qui n'avait pas bougé depuis plus de 2 ans 1/2, pour en améliorer le fonctionnement afin d'éviter que le problème rencontré ce jour ne se reproduise.
Auparavant l'application cherchait à déterminer l'adresse IP publique à l'aide d'un seul site, celui déclaré dans la section "défaut" du fichier de configuration (hormis si le nom d'une autre section était spécifié en paramètre de la ligne de commande). Si le site ne répondait pas dans un délai de 10 secondes, l'appli se mettait en pause quelques instants avant de faire une nouvelle tentative, toujours avec le même site. Et il recommençait autant de fois que nécessaire jusqu'à obtenir la réponse attendue, avec toutefois un message d'erreur passé un délai d'une minute. Mais si le site interrogé est "down", à quoi bon essayer en boucle ?!
Le mode de fonctionnement a été revu : à présent Dipisec ne se limite plus à un seul site, il exploite toutes les sections du fichier de configuration jusqu'à ce qu'un des sites réponde à sa demande. Si aucun site ne donne satisfaction (la liste en contient 7, la probabilité qu'ils soient tous en panne en même temps est quand même très faible), l'appli fait une petite pause puis fait une nouvelle passe. Enfin, un message d'erreur est généré et l'appli se ferme si au bout d'une minute rien ne se passe... rien de neuf à ce niveau-là.
J'ai profité de cette nouvelle version pour mettre à jour la liste des sites déclarés dans le fichier de configuration, avec notamment l'ajout du site dipisoft.com (d'où la présence d'un nouveau service "MonIP" dans la rubrique "Services en ligne" située dans le bandeau gauche). Par ailleurs, pour être homogène avec les autres applis récemment mises à jour, j'ai décidé de proposer des versions portables (U3 et ZIP, comme d'habitude) de Dipisec en plus de la version "installeur"...
Les tests ont été rapides, sans faire appel à des bêta-testeurs, mais je pense qu'il ne devrait pas y avoir de problème.
Bonne fin de soirée !