Premiers retours d’expérience Eclipse Europa

La dernière version d’Eclipse viens de sortir. Il s’agit de la version 3.3, baptisé Europa par la fondation Eclipse. Celle-ci est sortie le 29 juin 2007.

Voici l’annonce : Eclipse Ships Largest-Ever Release of Leading Open Source Software Development Platform

Je travaille actuellement pour l’un de mes clients sur un projet java sous Eclipse, utilisant notamment WTP (Web Tools Platform), pour réaliser des web services (client et serveur). Je suis particulièrement intéressé par cette nouvelle version, car celle-ci inclus la version 2.0 de WTP (la précédente était sur 1.5). J’ai donc migré mes projets vers Europa et WTP 2.0.

Premier point qui m’intéresse tout particulièrement, c’est le passage à la version Axis 1.4 sur WTP 2.0, alors que l’on en était à Axis 1.3 précédemment => très utile pour la compatibilité avec les partenaires web services!

Sur le plan ergonomique, pour ce que j’en ai utilisé sur mon projet, aucune grosse révolution. Je retrouve mes petits sans problème.

La stabilité du produit…l’utilisation de WTP 1.5 provoquait de nombreux plantages d’Eclipse sur mon PC portable, dûs à des problèmes de mémoire. Eclipse fermait brutalement, parfois avec un petit message pour prévenir, mais pas toujours! Mon portable dispose de 1Go de RAM, j’avais bien entendu correctement configuré le fichier eclipse.ini en fonction (paramètres -Xmx256m -Xmx792m). Désormais, plus aucun problème de plantage sauvage à signaler! C’est toujours ça de pris…

Par contre…si le produit ne plante plus, j’ai de gros problèmes de stabilité dans mes projets web. Il m’arrive très régulièrement que mes projets soient marqués comme non valides, avec des erreurs de classpath notamment (des classes non trouvées par Eclipse provoquent des plantages de compilation), sans raison réelle. Solution = soit fermer/réouvrir le projet, soit fermer Eclipse et le réouvrir, soit forcer un rebuild du projet. Dans le même ordre de problème, j’utilise la gestion des serveurs de WTP, et aie configuré un serveur Tomcat 4.1. La publication ne se fait pas toujours bien : je suis parfois obligé de stopper Tomcat, faire un clean, republier mes projets (opération étrangement très longue). De plus, j’ai détecter un bug sur la publication : mon projet contient un répertoire de classe que j’ai ajouté à mon build path, et que j’ai coché comme exportable : ce répertoire n’est pas exporté dans la publication du projet sur le serveur. Je le copie donc à la main dans le répertoire de travail d’Eclipse (dans le répertoire du workspace sous .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps).

Enfin, un autre problème que j’ai eu sur Europa : tous mes liens vers les URL de software updates avaient disparus! Impossible de faire les mises à jour automatiques, et comme je ne connaissais pas les URL, j’ai refait une installation d’Eclipse et exporté ces liens pour ne plus avoir cette mésaventure.

En résumé pour le moment, du pour et du contre. Les problèmes que j’ai rencontré et qui me font perdre beaucoup de temps existaient déjà largement en version précédente, donc je reste sur Europa et j’espère que des correctifs ne tarderont pas à sortir.

Mise en oeuvre de Mantis

Nouveauté du jour : j’ai installé Mantis en version 1.0.8 sur mon serveur.

Il s’agit d’un outil de suivi d’anomalies (un bug tracker ou encore issue tracker). Cet outil va me permettre de donner à mes clients une visibilité on-line sur le suivi des projets, notamment sur les phases de recette.

Les fonctionnalités principales seront les suivantes :

  • je fournie un identifiant de connexion et un mot de passe à mes clients, ils peuvent alors
  • saisir des bogues (ou demandes d’évolutions) sur l’un de leurs projets
  • suivre l’évolution de la correction
  • avoir quelques statistiques sur les délais de corrections, les gravités des bogues, …

Cet outil devrait m’apporter plus de souplesse et de réactivité dans la gestion de mes projets clients (surtout pour les forfaits!), et donc fournir une meilleure qualité de service!

Pour y accéder, il faut bien sûr avoir un compte client, puis cliquer sur le lien Espace client dans le menu de gauche de mon site principal (http://mayeur.com) , ou encore cliquer directement ici.

Les raisons du choix de cet outil :

  • c’est un outil très standard et déjà relativement éprouvé pour ce genre d’application
  • technologie PHP/MySQL compatible avec mon hébergement
  • la francisation de l’application semble correcte (contrairement à un autre outil standard dans ce domaine, bugZilla, qui semblait par ailleurs bien adapté également).

Petits morceaux de code utiles

J’ajouterai régulièrement à ce blog des posts contenant des morceaux de code bien utile.

Ils formeront à la longue ma petite bibliothèque ouverte au public. Vous pouvez y piocher sans vergogne. N’hésitez pas à mettre un lien vers mon site sur vos blogs, dans votre code, …

Ces snippets n’apparaîtront pas en page principale du blog pour ne pas le polluer. Pour y accéder, allez dans le menu Catégories à droite (par exemple en cliquant sur Javascript) .

Formattage des téléphones français

Comment formater un numéro de téléphone français en javascript?

function format_tel(val)
{
  // La variable qui stockera la chaine modifiée
  var resultat = '';
  // Un tableau intermédiaire pour découper les paquets
  var tableau = new Array();
  var nb=2
  // Pour chaque caractère saisi
  for ( i = 0; i <= val.length; i++ ) {
    // On place le nombre de caractère demandés dans un tableau
    tableau[i] = val.substr(i,nb);
    // Suivant le nombre de caractères demandés par paquet, on fait avancer le pointeur
    for ( j = 1; j < nb; j++ ) {
      i++
    }
  }
  // Pour chaque élément du tableau renseigné précédemment
  for ( i = 0; i < tableau.length; i++ ) {    // Si la valeur est renseignée
    if ( tableau[i] != undefined ) {      // On l'affecte à la variable résultat et on place le séparateur
      resultat += tableau[i] + ' ';
    }
  }
 
  return resultat.replace(/ *$/,'');
}

Vérification de SIRET

Cette fonction permet de vérifier la validité d’un SIRET.
  /**
   * @name EstSiretValide
   *
   * @param   Le code SIRET dont on veut vérifier la validité.
   *
   * @return   Un booléen qui vaut 'true' si le code SIRET passé en
   *                           paramètre est valide, false sinon.
   */
  function EstSiretValide(siret) {
    var estValide;
    if ( (siret.length != 14) || (isNaN(siret)) )
      estValide = false;
    else {
       // Donc le SIRET est un numérique à 14 chiffres
       // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
       // correspondent au numéro d'établissement
       // et enfin le dernier chiffre est une clef de LUHN.
      var somme = 0;
      var tmp;
      for (var cpt = 0; cpt         if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
          tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
          if (tmp > 9)
            tmp -= 9;  // Si le résultat est supérieur à 9, on lui soustrait 9
        }
       else
         tmp = siret.charAt(cpt);
         somme += parseInt(tmp);
      }
      if ((somme % 10) == 0)
        estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
      else
        estValide = false;
    }
    return estValide;
  }
 
 

RSS
LinkedIn
Share