Fred Talks

Des petites solutions pour des petits problèmes…

Signature d'un jar à partir d'un certificat et d'une clé privée

09 Dec 2013

Voici la marche à suivre pour signer un jar si l'on dispose de la clé privée et des certificats Verisign :

1 - Création d'un pkcs12 :
  openssl pkcs12 -export -in certificat_verisign.cer -inkey cle_privee.key -name alias_nom -out sortie.p12

2 - Signature du jar à partir du pkcs12 :
  jarsigner -storetype pkcs12 -keystore sortie.p12 .jar alias_nom

3 - Pour verifier que c'est bon :
  jarsigner -verify .jar


Renommer un projet GWT sous Eclipse

18 Nov 2013

Voici une petite procédure pour renommer un projet GWT sous Eclipse :

  1. Renommez le projet gwt.
  2. Renommez le fichier ancien_nom_projet.gwt.xml en nouveau_nom_projet.gwt.xml.
  3. Dans ce fichier, renommez la valeur spécifiée dans le champs 'rename-to' avec le nouveau nom de projet.
  4. Renommez le fichier ancien_nom_projet.html en nouveau_nom_projet.html présent dans le répertoire war.
  5. Faites de même avec le fichier .css présent dans le répertoire war.
  6. Mettez à jour les références dans nouveau_nom_projet.html du fichier css.
  7. Dans le fichier nouveau_nom_projet.html, il y a un nom spécifié pour le nocache.js. Trouvez la ligne : src = 'ancien_nom_projet/ancien_nom_projet.nocache.js' et la remplacer par src = 'nouveau_nom_projet/nouveau_nom_projet.nocache.js'
  8. Dans le fichier web.xml, si vous avez des lignes <url-pattern>/ancien_nom_projet/...</url-pattern>, les remplacer par <url-pattern>/nouveau_nom_projet/...</url-pattern>
  9. Si vous utilisez l'injection Guice dans votre projet, changez les urls avec le nouveau nom de projet dans le mapping.
  10. Détruisez le répertoire de sortie (war/ancien_nom_projet), il sera reconstruit automatiquement avec le bon nom de projet.
  11. Dans Eclipse, détruisez votre ancienne "Run Configuration". Lorsque vous lancerez via  "Run As > Web Application" sur le projet renommé, la configuration sera recréée.
  12. Il ne vous reste plus qu'à lancer la compilation du projet via la boite de dialogue associée de GWT. Si la référence à l'ancien projet est toujours présente dans cette dernière, il faut la mettre à jour via les boutons add et remove de la boite de dialogue.

Comment trouver le chemin d'accès d'un fichier jar en cours d'exécution

13 Jun 2013

Il peut arriver que dans une librairie jar, il soit nécessaire de récupérer le filepath pour diverses opérations.

L'appel à la méthode suivante permet d'obtenir le path de la classe en cours d'éxecution :

final String path = MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();


Configuration d'un proxy sous Maven

10 Apr 2013

La configuration d'un proxy sous Maven s'effectue dans le fichier settings.xml.

Ce fichier se trouve soit dans le sous-répertoire conf du répertoire d'installation de maven, ou dans le répertoire .m2 dans la home utilisateur.

Dans le fichier settings.xml, il existe une section proxies :


   
      true
      http
      proxy.somewhere.com
      8080
      proxyuser
      somepassword
      www.google.com|*.somewhere.com
    

Pour activer un proxy, il suffit de le décommenter et de renseigner les champs avec les valeurs adéquates. La petite subtilité concerne les champs que l'on ne souhaite pas utiliser, il faut les supprimer et non pas les mettre à vide en utilisant la syntaxe <champs/>.


Intervalle des marées lunaires (lunitidal interval) ou établissement du port

09 Jan 2013

Je suis devenu l'heureux possesseur d'une montre casio GLX-6900-1ER qui est capable d'indiquer graphiquement l'évolution des marées. Cependant pour pouvoir utiliser cette fonctionnalité il est nécessaire de renseigner l'intervalle des marées lunaires ou établissement du port pour la localisation dont on souhaite suivre les marées.

Pour obtenir cette valeur, il faut réaliser la petite procédure suivante :

  1. Sur le site http://www.timeanddate.com/worldclock/moonrise.html, renseigner le champs 'Select location for moonrise/moonset:' avec votre ville, puis cliquer sur 'See moonrise/moonset'. Le tableau des levés et des couchés de lune de la semaine en cours s'affiche. Cliquer sur le bouton 'Show' pour obtenir le mois complet. Chercher la date pour laquelle la colonne 'Phase' contient 'New Moon' et noter la valeur de la colonne 'Time' qui correspond au passage de la lune au méridien. Il faut retenir cette date et s'y tenir. Par exemple pour Brest en juin 2013, il s'agit du 8 et l'heure de passage est 14H11.
  2. Sur le site maree.info, renseigner le champs de recherche avec votre ville puis afficher les marées pour cette localisation. Sélectionner la date choisie précédemment dans le calendrier, on va rechercher la première marée haute après l'heure de passage de la lune au méridien. Ainsi dans le cas de Brest pour le 8 juin 2013, l'heure de la première marée haute est 17h56.
  3. On soustrait l'heure de la marée haute à celle de l'heure du passage de la lune au méridien et l'on obtient, à quelques minutes près en fonction du mois, l'intervalle des marées lunaires ou établissement du port pour cette localisation. Ainsi pour Brest, cela donne 17h56 - 14h11 = 3h45.

Cette valeur calculée est à renseigner dans les paramètres de la montre ainsi que la longitude du port de référence (Dans le cas de Brest : 4° W) pour obtenir l'évolution des marées.