Archive

Archives pour la catégorie ‘Outillage’

Objet Direct acquiert Codendi

Objet Direct se lance dans l’édition avec la solution open-source de développement collaboratif Codendi.

L’acquisition de la solution Codendi signe des années de relations fructueuses entre Objet Direct et Xerox,  leader de gestion des documents et du Business Process Outsourcing (BPO). Après avoir contribué, en collaboration avec Xerox à son développement, Objet Direct évalue en 2007 le produit comme répondant à ses différents besoins en matière de plate-forme collaborative : le spécialiste des technologies objet décide de l’utiliser pour la gestion de ses projets.

En 2009, Objet Direct et Xerox deviennent partenaire de Coclico (COnvergence de la Communauté Libre des Infrastructures Collaboratives Ouvertes), un projet national labellisé par les pôles de compétitivité System@tic en Ile-de-France et Minalogic en Rhône-Alpes ayant pour but de redonner une dynamique aux plates-formes collaboratives destinées au développement logiciel.

En 2011 avec la fin du projet Coclico, Xerox et Objet Direct s’entendent pour transférer l’activité Codendi car Xerox concentre son innovation dans les domaines liés à ses activités en Business Process Outsourcing.

C’est donc fort de son nouveau rôle d’éditeur qu’Objet Direct a lancé la version 4.4 de Codendi. Celle-ci présente de nouvelles fonctionnalités, dont certaines sont issues du projet Coclico.

Pour en savoir plus :

Categories: Actualités, Outillage Tags: , ,

Execution d’un test de charge dans le Cloud

Montée en charge

Lors d’un développement d’une application Web grand public, un problème récurrent apparait : combien d’utilisateurs l’application pourra-t-elle supporter ?

La solution parait simple : planifier un test de charge ! Oui, mais …

  • la bande passante de mon réseau locale sera-t-elle suffisante ?
  • la machine exécutant les tests sera-t-elle assez puissante ?
  • est-ce que le test utilisera un accès réseau équivalent à celui des internautes ou utilisera-t-il une liaison spécialisée ?

Une solution : CloudNetCare

CloudNetCare répond à cela en proposant un service de test de charge dans le Cloud. La mise en place s’avère assez simple :

  1. création d’un scénario de test avec Selenium IDE, un plugin Firefox permettant d’enregistrer les actions de navigation réalisées par un utilisateur
  2. création d’un scénario de test avec CloudNetCare en fournissant simplement le script enregistré par Selenium IDE
  3. validation du scénario, en le jouant par un unique utilisateur simulé par CloudNetCare
  4. paramétrage du test, par exemple le nombre d’utilisateurs simulés ou  bien le navigateur utilisé
  5. exécution du test

Résultats :

Temps de réponses

Temps de réponses

Requetes par secondes

Requêtes par secondes

Bande passante

Bande passante

Un service à quel prix ?

La première offre est tout simplement gratuite, avec un nombre d’utilisateurs limité à 25. Voici le détail de l’offre : http://www.cloudnetcare.com/fr/tarifs

Categories: Cloud, Outillage Tags: ,

Packaging et déploiement d’une application Web avec Visual Studio 2010

Industrialiser, faciliter le développement d’une application Web en utilisant un outillage adapté au projet est appréciable. De manière générale, limiter les tâches à faible à valeur ajoutée, par exemple en les outillant, est une bonne pratique reprise dans les méthodes dites « agiles », telles que Scrum, ou bien XP.

Dans le cycle de vie d’une application Web, le packaging et le déploiement sont de bons candidats à l’automatisation. C’est d’autant plus vrai si l’équipe travaille par itération, en livrant une version régulièrement (sur nos projets, c’est généralement 3 semaines).

Visual Studio 2010 va nous aider à faciliter ces déploiements. En réalité, Visual Studio fournit une interface permettant de configurer une brique disponible sur iis.net : le web deploy. L’objectif de cette brique est de packager une application Web, en fournissant des scripts d’installation, en permettant d’inclure par exemple des scripts SQL de création de table ou d’insertion de données. L’ensemble des livrables est rassemblé dans un répertoire. Pour déployer sur une machine distante, il faut copier ce répertoire sur la machine cible et lancer le script. Pré-requis sur la machine cible : web deploy doit être installé.

Détaillons le travail à réaliser dans Visual Studio.

Première étape : configurer le packaging d’un projet de type application Web.

Lancement de la configuration du packaging d'un projet de type application Web

Lancement de la configuration du packaging d'un projet de type application Web

Deuxième étape : configurer le packaging

Ecran de configuration du packaging

Configuration du packaging

Cet écran de configuration permet notamment d’indiquer :

  • la configuration du build. Généralement, on lance l’application en mode Debug lors du développement, ce qui permet d’avoir entre autres choses des traces d’exécution. En revanche, le déploiement sur l’environnement de production est réalisé en mode release. Web deploy permet de définir des paramètres différents selon la configuration souhaitée. L’exemple type, c’est la connexion à la base de données dont les paramètres sont différents en mode développement ou en mode production.
  • l’URL cible d’accès à l’application Web. Dans notre exemple, si le site par défaut IIS est un serveur localhost, l’application cible sera disponible sous  http://localhost/ProtoGraphique_deploy
  • les fichiers SQL à exécuter sur le serveur de base de données avant de lancer l’application : création du schéma de base de données, insertion des données de référence, …
  • le chemin où notre livrable sera disponible. Parmi les livrables, figurera un script à exécuter en ligne de commande sur le serveur. Ce script peut être lancé avec l’option /T qui simulera le déploiement. Pour réellement jouer le déploiement, il faut exécuter le script avec /Y. Il est également possible de jouer le déploiement directement à partir de IIS manager, avec la commande « Import »

Une fois la configuration terminée, il reste à sélectionner la configuration de build souhaitée dans l’IDE et d’exécuter la commande « Build Deployment Package », disponible dans le menu présenté ci-dessus.

Derrière cette interface, plusieurs fichiers texte sont générés. Ils peuvent d’ailleurs être édités manuellement comme le décrit cet article. Je vous rassure, ce n’est pas le cas d’usage. En revanche, le fait que tout ce mécanisme soit décrit dans des fichiers texte offre deux avantages :

  1. les fichiers peuvent être stockés dans le gestionnaire de sources et partager par toute l’équipe
  2. si vous avez un mécanisme d’intégration continue, que ce soit avec Team Foundation Server ou avec une usine logicielle libre telle que Jenkins, la génération du packaging peut être automatisée !

Tracer une communication Flex

Je développe une application Flex avec mon environnement de développement : tout va bien. En cas de problèmes, je peux poser des points d’arrêt, débugger dans mon IDE préféré.

Vient ensuite le temps du déploiement sur un serveur : premier réflexe, je teste l’application depuis mon navigateur. L’application se charge : l’écran d’accueil, un écran de login, est affiché. Tout va bien.

Je tente de me loguer, avec un premier échange de données entre le client Flex et le serveur. Et là, c’est le drame : rien ne se passe, néant, nada …

Une première piste est de trouver un moyen d’identifier les échanges avec le serveur. Des outils tels que Fiddler ou Ethereal vont permettre de monitorer ce qui se passe (ou ce qui ne se passe pas). Quelques données à vérifier :

  • l’URL  de requête envoyée : correspond-elle à l’URL configurée sur mon serveur back-end ?
  • contenu de la requête
  • code et contenu de la réponse retournée par le serveur

J’apprécie particulièrement Fiddler qui est bien intégré dans FireFox par l’ajout de l’addon FiddlerHook.

Le LyonJUG fête ses deux ans.

Le mardi 19 avril le Lyon JUG a fêté ses deux ans d’existence et a décidé de faire honneur à deux projets open source Lyonnais. Nous avons donc assisté à une présentation d’IzPack par Julien Ponge et une présentation de RESThub par Sébastien Deleuze et Damien Feugas.

IzPack est un installateur d’application écrit en java dont l’approche se résume ainsi : « Package once.Deploy everywhere. ». Le projet a été lancé par Julien Ponge pour apprendre java 1.2. Aujourd’hui le projet est toujours actif et a été utilisé pour l’installation de Glassfish V2, il est utilisé par Springsource, JBoss, Oracle…. IzPack permet de générer un installateur pour toutes les plateformes cibles de votre projet, il suffit qu’en environnement Java soit disponible sur ces plateformes. IzPack est personnalisable au niveau du look and feel (import d’image, choix de couleur, de disposition des différents éléments sur l’écran) et des étapes du processus d’installation. Il fournit une API permettant d’étendre les différents comportements pour s’adapter au mieux à votre besoin. La présentation s’est terminée par un retour d’expérience sur les projets open source : mise à disposition, gestion des propositions des développeurs et des utilisateurs.

RESThub est un projet, initié chez Atos Worldline, qui fournit une stack java préconfiguré.
Ce framework s’appuie sur Jersey, Spring, Hibernate pour la couche de service et un framework web MVC ou HTML 5 /JavaScript pour la couche de présentation. Vous pouvez consultez une présentation de RESThub ici pour avoir plus de détails sur l’architecture. La philosophie est relativement proche du framework Play! : orienté simplicité et productivité. Ainsi RESThub respecte les principes KISS (Keep It Simple and Stupid) et DRY (Don’t Repeat Yourself). On trouvera donc des classes génériques permettant de faire du CRUD (Create, Read, Update, Delete) facilement et des classes de tests préconfiguré pour fonctionner avec une base H2 (base in memory) et un moteur Jetty, utilisé également pour exécuter l’application pendant le développement.
Le fait de réutiliser des frameworks connus de tous les développeurs Java est une bonne approche : la stack proposée est classique et rassurera la plupart d’entre nous sur la montée en charge et la prise en main de l’environnement. RESThub est un framework prometteur dont la version 1.1 sort fin avril 2011.

Commit Monitor pour SVN/EA

logo commit monitorCommit Monitor : outil de notification et de surveillance de dépôts SVN, dans le cadre d’une utilisation avec l’outil de modélisation UML Enterprise Architect

Commit Monitor est un outil gratuit (licence GPL) très simple d’utilisation. Il permet de surveiller des dépôts SubVersion pour être notifié de nouvelles modifications.
Cet outil réside dans la barre de tâches et utilise très peu de ressources du système.
Commit Monitor consulte les logs du serveur SVN pour détecter de nouvelles versions et en afficher les détails.

Cet outil peut être très utile lorsqu’un projet de modélisation UML Enterprise Architect, dont les modèles sont gérés par un serveur SVN, est utilisé en mode collaboratif par plusieurs utilisateurs.

Après installation, l’icône de Commit Monitor apparaît dans la barre de tâches :

Commit Monitor permet de rajouter chacun des projets SVN à surveiller par la saisie des informations suivantes :

  • Username / password : l’identifiant et le mot de passe du compte SVN
  • Check every xxx minutes : par défaut Commit Monitor va interroger le serveur SVN toutes les 90 minutes ; cette valeur peut être modifiée dans ce champ
  • Project : nom du projet surveiller, par exemple Projet1 EA
  • URL : url du dépôt SVN, par exemple https://11.22.33.44/svn/Projet1/

Commit Monitor notifie l’existence de nouvelles versions lorsque son icône animé apparait :

A l’ouverture de Commit Monitor, les projets surveillés sont affichés en gras – par exemple Projet1 EA (4) dans la capture d’écran ci-dessous – lorsque de nouvelles versions restent marquées en non lues (chacune des lignes correspond à une nouvelle version) :

Le tableau affiché comprend les colonnes et informations suivantes :

  • Numéro de révision
  • Date et heure
  • Auteur (compte utilisateur SVN)
  • Contenu du message saisi dans le log

En cliquant sur une ligne, la version correspondante est marquée comme « lue » et automatiquement cette ligne n’apparaît plus en gras. Il est aussi possible dans cette fenêtre ou via l’icône de la barre des taches de marquer toutes les nouvelles lignes en lues (« Mark all as read »).

Commit Monitor permet d’appliquer un filtre, par exemple pour restreindre les logs à un terme donné comme « Ajout Modèle” en saisissant ce texte libre dans le champ Filter :

A noter que cet outil peut être également utilisé pour surveiller les projets de développement, de la même façon que les fichiers XMI d’un projet UML EA utilisé en mode collaboratif et présenté dans ce post.

Commit Monitor est disponible en téléchargement depuis le lien suivant : http://code.google.com/p/commitmonitor/downloads/list

LyonJUG : Messaging

Logo LyonJUGLe LyonJUG continue sa programmation mensuelle : nouvelle soirée dédiée au messaging, mardi 18 janvier 2011 19H à l’Epitech.

Arnaud Simon de Red Hat présentera la spécification AMQP axée sur l’interopérabilité, et plus particulièrement son implémentation Apache Qpid à laquelle il contribue.
Logo JDuchess FranceInterview JDuchess.

Jeff Mesnil nous présentera lui HornetQ, implémentation officielle de messaging dans JBoss AS 6 dont il est un des leaders, axée sur les performances et l’ouverture au web avec une API REST.
Logo JDuchess FranceInterview JDuchess.

Inscription et informations pratiques, as usual, sur la page officielle du Lyon JUG.
A mardi… heu… ce soir!

Categories: Actualités, Outillage Tags: , , , ,

Présentation de NuGet

En discutant au café ce matin, j’ai constaté que l’utilitaire NuGet n’était pas suffisamment connu à mon goût. Il faut dire que je le trouve très pratique.

Mais NuGet, c’est quoi ? C’est un utilitaire plutôt bien intégré à Visual Studio qui permet de gérer simplement les librairies externes de votre projet. Un click droit sur votre projet vous permet d’ajouter une « Library Package Reference », dans le même esprit que l’ajout d’une référence de librairie.

Il y a néanmoins 2 différences majeures avec l’ajout d’une référence :

  1. NuGet est capable d’aller chercher des librairies dans un repository externe.
  2. Si les packages sont bien écrits, il récupèrera également les dépendances de la librairie, avec les bonnes versions des assemblies. De ce point de vue, c’est comparable à Maven et c’est une très bonne chose.
Categories: .NET, Outillage Tags: , ,

Lyon JUG : performances!

Pour les fêtes de fin d’année, offrez un petit bench à votre application préférée :Lyon JUG une  soirée dédiée au Lyon JUG, mardi 21 décembre, animée par Claude Falguière.
C’est désormais une tradition gravée dans le marbre : préparez-vous avec l’interview teasing par les JDuchess.

Inscription et informations pratiques, as usual, sur la page officielle du Lyon JUG.
A mardi!

Categories: Actualités, Outillage Tags: , ,

Lyon JUG : soirée Gradle vs Maven 3

Lyon JUGNouvelle soirée au Lyon JUG, mardi 23 novembre : Gradle vs Maven 3.

Les JDuchess continuent leur teasing contributif avec des interviews des intervenants, permettant de venir profiter de la soirée plus armés sur les enjeux et perspectives de chacun de ces outils de construction : interview d’Arnaud Héritier sur Maven 3, et interview de Grégory Boissinot sur Gradle.

Inscription et informations pratiques, as usual, sur la page officielle.