Nexus, un gestionnaire pour Maven

Tags , , , , ,
12 juillet 2008 par Yohann CIURLIK

Pour rappel, Maven est un gestionnaire de dépendances basé sur des fichiers POM (project object model). Cet outil est principalement utilisé dans les projets Java en complément ou en remplacement des fastidieuses tâches de compilation ANT.

Maven est un outil assez facile à utiliser jusqu’au moment où vous devez jongler entre différentes version de vos librairies et des dépendances transitives. Vient alors une panoplie d’outils pour gérer vos différentes dépendances et leurs versions.

Nexus est un outil fourni par Sonatype qui permet de gérer au mieux ses dépots et ses dépendances. Il permet ainsi de disposer de ses propres dépôts de dépendances pour gérer plus aisément les difféfentes versions de librairies que vous aurez pu créer au sein de votre projet.

image

L’outil permet donc dans un deuxième temps de simplifier la maintenance du code et surtout du processus de compilation. Il est très fâcheux de voir des projets dépendre de ressources délocalisées et introuvables. Dans ce cas, la compilation devient impossible.

L’outil s’intègre parfaitement avec Eclipse et notamment avec m2eclipse (autre produit de Sonatype). C’est un projet assez récent puisqu’il a vu le jour fin Décembre 2005 en Hongrie chez un FAI pour isoler son système et ne pas avoir à utiliser une connexion ADSL terriblement lente.

Détails et téléchargements sur Sonatype.org.

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

JQueryAir : De l’ajax pour gérer vos passagers !

Tags , , , ,
3 juillet 2008 par Yohann CIURLIK

Mais jusqu’où ira la popularité et l’utilisation de JQuery ?! JQuery est une bibliothèque Javascript Open source qui porte sur l’interaction entre JavaScript (comprenant l’Ajax) et HTML, et a pour but de simplifier des commandes communes de Javascript.

image

Cet exemple (JQuery Air) montre encore une fois la puissance de la librairie. A vrai dire, je n’aurais jamais pensé à une telle chose…

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

Deux outils puissants pour Javascript

Tags , , , , ,
20 juin 2008 par Yohann CIURLIK

Il est parfois difficile de gérer aisément le chargement, l’organisation de ces scripts Javascript. Surtout lorsque les fichier sont nombreux et/ou que les librairies ne sont pas toutes compatibles entre elles. Il n’est pas toujours utile de charger toutes les librairies Javascript pour une page donnée.

Voici deux nouveaux Ajax Loader ou plutôt Javascript Loader dans le même genre que la Google Ajax Librairies que je vous avez déjà présenté.

L’idée étant de délégué à un framework ou un outil la gestion de vos différentes sources Javascript.

Module.Js

Ce framework très léger permet de charger, inclure, déclarer, cacher des sources de script via quelques lignes de codes.

Par exemple

  • Une inclusion :
  1. include(‘theModule.js’);
  • Un chargement de fichier :
  1. <script src="modules.js?<strong>./index.js</strong>"></script>

Archetypes.js

C’est un framework plus puissant qui en plus de traiter ce genre de problème permet également de fournir une architecture type sur laquelle vont reposer tous vos développements de Javascript.

C’est une sorte de templatisation de vos sources Javascript. Vous suivez donc un modèle bien particulier. Ce sont de bonnes pratiques.

Les dépendances sont gérées ainsi :

  1. dependencies: {
  2.     components: {
  3.         slideManager: "Slidy.components.slideManager",
  4.         slideChangeHandler: "Slidy.components.slideChangeHandler",
  5.         slideCounter: "Slidy.components.slideCounter"
  6.     },
  7.     lib: ["Slidy.libs.shjs.sh_main", "Slidy.libs.shjs.sh_javascript", "Slidy.libs.shjs.sh_html"],
  8.     css: ["Slidy.css.slidy", "Slidy.css.w3c-blue", "Slidy.libs.shjs.sh_typical"],
  9.     html: {
  10.         main: "Slidy.templates.container"
  11.     }
  12. }

En plus de la gestion de dépendances, vous pouvez également faire de la programmation orientée composant via ce puissant framework. Ce qui augmente la lisibilité du code et permet une maintenance plus facile. Ce schéma résume parfaitement l’idée du framework Archetype : Une approche orientée MVC et composant.

runtime

Le code est donc simplement organisé :

  1. Archetype.Component.Extend(["Archetype.component.graphicalComponent"], {
  2.         name:"Sample.component.graphicalFoobar",
  3.         /**
  4.          * Set up the Component dependencies
  5.          */
  6.         setup:{
  7.                 dependencies: {
  8.                         components:{foobar: "Sample.components.foobar"},
  9.                         lib:[],
  10.                         css:[],
  11.                         html:{main: "Sample.templates.foobarComponent"}
  12.                 }
  13.         },
  14.         /**
  15.          * Start the Component itself
  16.          * @constructor
  17.          */
  18.         initialize: function() {
  19.                 this.options = {
  20.                         max: 5,
  21.                         date: new Date(0),
  22.                         table: ["a","b","c","d","e"]
  23.                 }
  24.                 this.anchor = $("bodyContent");
  25.  
  26.                 Logger.debug("foobarGraphical has been instanciated!");
  27.  
  28.                 new this.components.foobar();
  29.                 Logger.debug("foobar launched from foobarComponent!");
  30.  
  31.                 this.render(this.anchor);
  32.                 Logger.debug("foobarGraphical rendered!");
  33.         },
  34.         /**
  35.          * Listen to "DateUpdate" event
  36.          */
  37.         onDateUpdate: function(eventName, date) {
  38.                 this.options.date = date;
  39.                 this.render(this.anchor);
  40.                 Logger.debug("foobarGraphical received a date: " + date);
  41.         },
  42.         /**
  43.          * Render the Component view and return it
  44.          */
  45.         renderViewAsString: function() {
  46.                 return this.templates.main.evaluate(this.options);
  47.         }
  48. });
Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

Google Ajax Libraries API : Ajax loader

Tags , , ,
28 mai 2008 par Yohann CIURLIK

Je tiens à remercier WebInventif de m’avoir fait découvrir cette fabuleuse librairie. Présentée sur son blog dédié, l’API Google Ajax Librairies API est une petite librairie de 9Ko permettant de charger dynamiquement d’autres librairies Ajax.

Pour le moment l’API est capable de charger les librairies suviantes :

application_x_javascript

  • jQuery,
  • Prototype,
  • script.aculo.us,
  • Mootools,
  • Dojo.

Comment ?

Simplement via un script javascript du type :

  1. <script src="http://www.google.com/jsapi"></script>
  2. <script>
  3.   google.load("scriptaculous", "1.8.1");
  4. </script>

Ce qui aura pour effet de charger la librairie scriptaculous dans sa version 1.8.1. C’est une sorte de maven pour le javascript et c’est bien pratique.

Le seul problème est que vous venez dépendant de Google et qu’il n’existe pas de mode offline. A savoir qu’il sera nécessaire d’être connecter à Internet pour avoir accès aux librairies Ajax.

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

Simple comme Ubuntu 8.04

Tags , , , ,
14 mai 2008 par Yohann CIURLIK

J’avais présenter dans un précédant article la version 7.10 du livre électronique Simple Comme Ubuntu.

Simple Comme Ubuntu

Ce livre s’adresse tout particulièrement aux utilisateurs de Windows désireux de passer sous Linux.

Il ne fera pas de vous un maître incontesté de Linux, mais vous guidera dans vos premiers pas sous Ubuntu pour que vous sachiez l’installer, ajouter de nouveaux logiciels et jeux, et l’utiliser quotidiennement.

L’auteur s’est appuyé sur un billet d’un blogger pour rédiger ce livre au format PDF de 350 pages. Comme quoi les bloggers sont de bonnes sources d’informations.

Pour ceux qui préfèrent les versions papiers, il est également possible d’acheter ce livre pour 15€.

Téléchargement

Vous trouverez ci-dessous tout ou partie du livre disponible en libre téléchargement.
icon_pdf À propos de l’auteur pdf 162ko
icon_pdf Préface pdf 170ko
icon_pdf Table des matières pdf 158ko
icon_pdf Chapitre 1 pdf 1,36Mo
icon_pdf Chapitre 2 pdf 1,12Mo
icon_pdf Version intégrale pdf 23.8Mo
icon_zip Sources du livre au format LATEX 22Mo

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !


sideBarQA