mercredi 30 septembre 2009

Particularités Oracle

--renvoi 'PAS NULL'
select case when NULL = NULL then 'NULL' else 'PAS NULL' end from dual;
--renvoi 'NULL'
select case when NULL IS NULL then 'NULL' else 'PAS NULL' end from dual;

--première condition de vérifiée les autres ne sont pas regardées
select
case
when 1 > 0 then 1
when 1 > 0 and 0 = 0 then 0
else null
end X
from dual;
--résultat : 1 et non 0 !

--intervention de null dans une fonction d'agrégation min,max => aucune incidence
select max(a) from
(
select null a from dual
union
select 5 a from dual
union
select 3 a from dual
);
--résultat : 5, c’est ok

--null absorbant sur la somme (opération d'aggrégation)
select sum(null + 1) from dual;
--résultat : null et non 1 !

--transformation des valeurs nulles
select sum(nvl(null,0) + 1) from dual;
--résultat : 1 comme attendu

--ne remonte pas les lignes dont champ est à NULL
select champ from dual where champ <> '1';
select champ from dual where nvl(champ,'x') <> '1'; --ou champ <> '1' or champ is null;

Test universel ?

Pour savoir s'il n'y a pas de donnée, dans tout language de programmation qui se respecte on teste la longueur de la chaîne "trimée"
on teste donc si la chaine est nulle ou vide en même temps !
Mais sou Oracle Null est absorbant...
On testera donc... la nullité de la valeur qu'elle soit à blanc ou à null => non renseigné.


select trim(nvl(null, ' ')) from dual;

select nvl(null, ' ') from dual;

-- Length(null) => NULL !!
select length(null) from dual;

Doc Functions : ss64 - gladir - techonthenet

vendredi 7 août 2009

INFORMATICA DAY

Journée d'information et de découverte autour des principales demandes des entreprises ; l'alimentation (ETL) et la qualité de données (DataQuality).
Bien sûr démonstration de l'efficacité du produit Informatica !
  • Data quality
  • Intégration de données
[Article original EthanTang.fr]

mercredi 24 juin 2009

L'Agilité, c'est nouveau ?

Lors de présentations SCRUM en entreprise, je constate qu'une grande partie de l'audience reste dubitative sur le caractère novateur de la méthode.

Je vois deux réponses :

  1. De fait, l'esprit de ces méthodes a été formalisé en 2001, et SCRUM date de 1996. Ce n'est donc plus tout jeune.
  2. Par ailleurs, de nombreux collaborateurs parmi nous sont, depuis longtemps, des Monsieur Jourdain de l'Agilité. Notamment en phase de recette.

Donc, c'est pas nouveau ?

Et bien si ! Si, ça reste nouveau. En effet, bien que toutes les études montrent leur pertinence, la mise en pratique de ces méthodes du début à la fin des projets ne s'impose que très lentement.
Pourquoi ? Une réponse simple : personne (ou presque) n'est réellement intéressée à la réussite des projets. Regardez autour de vous, chez nos clients.

Mais les choses changent, l'IT est en train de passer de l'artisanat à l'industrialisation. Et des taux d'échecs de 70% sont de moins en moins tolérables. Nous devons donc aider nos clients à réussir leurs projets.

mercredi 3 juin 2009

Qualité de données avec Talend Open Profiler (TOP)

Il ne faut jamais perdre de vue que le succès d'une entreprise dépend largement du niveau de qualité de ses données et ce indépendamment du secteur d'activité et des applications utilisées.

Les données sont la matière première de la décision.

Talend lance donc un outils open source dévaluation de la qualité des données. [Documentation TOP (version anglaise)]

Il s'agit d'un logiciel de profiling qui consiste à évaluer la qualité de données pour limiter les pertes d'efficacité au sein de l'entreprise.
Cet outils pourra être utiliser afin d'analyser la complétude d'une adresse client, fournir des indicateurs pour certains éléments de données et enfin publier ses résultats sous forme de graphiques.

Une étude comparative des outils et technique de data profiling réalisée par la société de conseil Ysance et l'école Polytech' de Nantes qui comparait les solutions : Talend Open Profiler (Talend)/Data Quality for Data Integrator (Oracle)/SQL Server (Microsoft) a montré que les points fort de TOP sont :
  • Téléchargement libre et gratuit ne nécessitant pas d'installation
  • Connexion à la majorité des bases existantes
  • Système de base de métadonnées
  • Fonctionnement en mode non-connecté, récupération et stockage des métadonnées
  • Prise en main simple et intuitive
  • Présence de graphiques
  • Forte documentation et présence d'une communauté intéressante
Aujourd'hui TOP est le 1er outils open source dans le domaine de la gestion de la qualité de données, ce logiciel constitue une alternative aux solutions propriétaires concurrentes (Informatica, Oracle, DataFlux, ...)

vendredi 29 mai 2009

Connection à une base de données via JDBC - SqlDeveloper

Pour Toad il faut Oracle client d'installé sur le poste client... qui contient un fichier Tnsname.ora que Toad utilise.
Il est tout à fait possible de se connecter à une base (Oracle, Mysql, SqlServer, Postgre) via jbdc avec le service SID (il vous faudra la JVM). C'est de cette manière que Talend se connecte aux bases.

Utiliser un utilitaire de base de données tel que SqlDevelopper Lite [download]
+) il est complet, graphique et peux tout exécuter
-) tout est dans la même perspective, on ne pas changer simplement une procédure ou des caractéristiques de la table/champs... et là Toad nous manque un peu.

Il existe surement de meilleurs logiciels pour faire la même chose, n'hésitez pas à laisser des commentaires !
Télécharger les drivers correspondant à votre base : Drivers jdbc pour Oracle
[Driver Oracle 9i] [findJar : site recherche de Jar]
  • Installer et lancer SqlDevelopper Lite
  • Mettre le jar de connection dans le répertoire plugins (
  • File > open connection > new
  • Onglet Oracle
  • Entrez les paramètres de connection (vous pouvez facilement récupérer ses informations dans le tnsnames.ora [x:\oracle\ora92\network\ADMIN\]
  1. Host:Port => serveur où se trouve la base de données avec son port de connection au service
  2. SID : nom de l'instance (nom sur lequel on se connecte habituellement avec Toad et où Toad fait le lien avec la base => schéma)
  3. User/password : Instance de la base avec mot de passe
  • Choisir le driver (ex.: ojdbc14-9i.jar) aller dans "Driver Settings" > ADD...
  • Vous pouvez maintenant faire joujou avec la base de données ! (ici Oracle)
Pour plus d'information le site de SqlDeveloper est très bien documenté.

[Oracle SQL Developer] Ce logiciel gratuit d'Oracle offre vraiment une très bonne alternative à To@d, la version 2.1, apporte des fonctionnalités vraiment intéressantes en plus de la correction de bugs (notamment sur la gestion du fenêtrage ; en plus aide à la création des requêtes, formatage, glisser/déposer, enregistrement des requêtes exécutées ; entièrement customisable (ajout de fichiers xml) et paramétrable).

mercredi 29 avril 2009

Auto Entrepreneur

If I want to be my own boss !

Vous avez rêvez de devenir indépendant, de mettre vos idées et vos services aux profis de professionnels mais les démarches administratives vous ont toujours rebutées.


Le décret d'application du 01/01/2009 de la modernisation de l'économie qui instaure le statut d'autoentrepreneur est fait pour vous ! [présentation]

Il vous permet de réaliser votre activité simplement (peu de démarche) avec quelques règles tout de même (restriction sur le montant annuel maximum de l'activité) ; les prélèvements sont en fonction du chiffre d'affaires
Pas de CA = pas de charge sociale

Pour une activité de conseil/prestation le montant maximum est de 32 000 € HT !
Charges sociales : 21,3% / Fiscalité : ~ 2%

[Formulaire d'inscription] - [ERP/CRM en ligne] [Logiciel gratuit Auto-entrepreneur facile]

mardi 28 avril 2009

Rachat Sun par Oracle

Dans la famille rachat de mastodonte de l'informatique je voudrais Oracle !
Le 20/04/09 dernier Oracle rachète Sun pour 7,4 Md$ soit 5,6 Md$ après les dettes de Sun épongées.
Sun est un énorme contributeur de logiciel Open-Source et c'est entre autre :
  1. OpenOffice (suite bureautique open-source concurrente du pack Office Microsoft)
  2. VitualBox (Machine virtuelle Wx, Unix... : utilisée notament sur QUID)
  3. Java (language objet utilisée dans beaucoup d'application Open-source (Talend, BIRT))
La communauté est bien sur en attente du devenir des outils open source... Surtout sur la base MySql puisqu'Oracle est un grand acteur de base de données !
La concentration dans le monde informatique est encore d'actualité surtout dans cette période de crise.
Articles : 01 Informatique, ZdNet, concentration BI

mardi 21 avril 2009

BIRT - Reporting Open Source

I'm like a BIRT :) [Forum]

BIRT : Business Intelligence and Reporting Tools
(ver. 1.0 au 08/11/04)
BIRT est un projet Eclipse Open Source concurrent de Businesss Objects, Cognos ou Hyperion.
Il se compose de 2 modules : Designer & Engine.
Il est disponible sous forme de plugin (All-in-One) ou bien en version autonome (avec Eclipse RCP, comme le projet Talend par exemple). Son partenariat avec Actuate lui confère un avenir pérenne.

Le seul visionnage du tutorial BIRT (~10min) suffit pour créer ses propres rapports !
[Tutorial connection à une base via jdbc - ici Oracle]
[Tutorial intégration rapport BIRT dans une page avec paramètre]
[Tutorial paramètre conditionnel]
Avantages :
- Open source (beaucoup d’exemples, support)
- Sources toutes les bases de données (jdbc), mais aussi fichiers (xml, csv...)
- Accès à des cubes !
- Format d'export HTML, PDF (rapport statique) / PDF cf. API iText
- Drill/down (vue dans le détail ou dans la globalité (profondeur) à l'aide d'un simple clic)
- Intégration totale à un projet web [pointe sur une URL] :
--> Visualisation grâce à une WebApp : BIRT Viewer (Tomcat, JBOSS)
--> Visualisation aussi en PHP (on imagine alors déjà les besoins remplir la tête des dirigeants!)
--> Mise en forme des rapports par des feuilles de style (css de l'appli. web)
- Intégration à un projet RCP (intégration ou ouverture d'un browser : URL)
- Présente de nombreuses fonctionnalités facile à mettre en oeuvre
- Développement rapide et rendu visuel convaincant (graphiques poussés)
- Fusion de rapport (très intuitif et utile pour les requêtes complexes)

Inconvénients :
- Nouvelle technologie (temps d’apprentissage)
- Un peu plus compliqué que BO (dév. par la MOA compliqué)

Happy BIRT day ;)

jeudi 19 mars 2009

Des Gem utiles - résumé

gem ~ bibliothèque [Cf. article installer une Gem] - [.bat d'install] (changer le répertoire ruby\bin)
Pour de meilleures performances, ou parce que ça n'existe pas en standard ;)

require
'rubygems' #inclure une des gem du paquet rubygems

*Indispensable*
  1. install: >$ gem install -r ruby-debug
  • Libxml : pour parser et écrire du XML (XML: format d'export standard des applications) [readme]
  1. install: >$ gem install -r libxml-ruby
  2. usage: require 'xml/libxml' - include LibXML
  1. ex.: "<élan>" => "&lt;&eacute;lan&gt;"
  2. install: >$ gem install -r htmlentities
  3. usage: require 'htmlentities'
  • Faster CSV : lire/écrire avec des fichiers de type csv (fichier à séparateur) facilement, surtout si le fichier comporte une en-tête [doc]
  1. install: >$ gem install -r fastercsv
  2. usage: require 'faster_csv'
  • Choice : arguments de la ligne de commande
  1. install: >$ gem install -r choice
  2. usage: require 'choice'
  • Rubyscript2exe : créer un exécutable en incluant toutes les dépendances en fonction de l'OS utilisé
  1. install: >$ gem install -r rubyscript2exe [doc]
  2. usage: require 'rubyscript2exe'
*Graphisme*
  1. ex.: créer très simplement une image gif redimentionnée à partir de toutes les jpg d'un répertoire : >$ convert -delay 20 -loop 0 *.JPG animation.gif
  2. install: >$ gem install -r rmagick
  3. usage: require 'RMagick' - include Magick [exemple]
  1. install: >$ gem install -r ruby-graphviz
  2. usage: require 'graphiz'
  1. install: [guide d'installation] (installer l'exe dans "ruby\" et non "ruby\gnome")
  2. usage: require 'gtk2'
Tester l'installation d'une gem : >$ ruby -e require "maGemQueGm"

Ils existent vraiment de nombreuses gems, n'hésitez pas à regarder si votre programme open-source préféré n'existe pas sous Ruby !!

mercredi 18 mars 2009

Liste des gems favorites

Le nombre de gems disponibles est supérieur à 7000 !!! autant dire, que pour une problématique donnée, il est fort probable que quelqu'un ait déjà réfléchi à une solution en proposant une gem.

Nous utilisons que quelques gems parmi toutes celles qui sont disponibles (cf. RubForge).

/* ruby-debug
Ruby est livré avec un debugger standard (écrit en ruby) mais il n'est pas très performant. Cette gem permet de debugger des scripts Ruby beaucoup plus rapidement (utilisation d'une API C).

L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install ruby-debug.

La gem ruby-debug est dépendante d'autres gems qui sont automatiquement installées telle que columnize, linecache, ruby-debug-base.

Maintenant, il est possible de configurer Eclipse pour utiliser cette gem. Dans Eclipse,
- Cliquer sur Window > Preferences
- Cliquer sur Ruby > Debug > Engine > Fast Ruby debugger (ruby-debug) > OK
- Ouvrir le fichier test_install.rb (cf. Installation Eclipse/Ruby)
- Se positionner sur une ligne avec du code ruby (hors commentaire)
- Double cliquer dans la marge de l'éditeur (ou Run > Toggle Breakpoint) => un point d'arrêt est activé.
- Cliquer sur Run > Debug > Remember my decision > Yes
- Une nouvelle perspective s'ouvre donnant accès aux fonctionnalités du debugger.

/* FasterCSV
Les formats de fichiers étant très nombreux et hétérogènes, il est préférable d'utiliser un format "basique". Le format CSV (Comma Separated Value) est une format de fichier qui est éditable dans un éditeur de texte (pas de codage particulier). Ce format se prête bien pour échanger des données entre différentes applications (Pour en savoir plus sur le format CSV).
FasterCSV est voué à remplacer la librairie standard CSV de Ruby :
  1. En étant bien plus rapide bien qu'étant une librairie pour Ruby.
  2. En étant plus riche en terme de fonctionnalités.
  3. En améliorant la gestion des fichiers CSV.
L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install fastercsv.


Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :
require 'rubygems'
require 'faster_csv'
puts FasterCSV::VERSION

L'exécution doit afficher la version de la librairie installée.

/* libxml-ruby
Ruby est livré avec une librairie standard écrite en ruby pour utiliser des fichier XML mais elle n'est pas très performante. Cette gem permet de manipuler des fichiers XML beaucoup plus rapidement (utilisation d'une API C).

Pour installer cette gem sur Windows, il est nécessaire d'avoir utiliser l'installation One-Click (l'installation à partir de l'archive zip ne contenant pas tous les fichiers nécessaires pour une utilisation sous Windows). De plus, il faut absolument que la variable système Path contienne le chemin du répertoire contenant l'exécutable ruby.exe.

A partir de là, l'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install libxml-ruby.
Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :

require 'rubygems'
require 'libxml'
puts LibXML::XML::VERSION

L'exécution doit afficher la version de la librairie installée.

/* Graphviz-ruby
L'application GraphViz permet de représenter graphiquement des graphes. L'application GraphViz est open source, gratuite et libre de droits. Pour en savoir plus
Une librairie ruby permet de créer facilement des fichiers au format GraphViz afin de générer le graphe désiré. Cette librairie nécessite que graphviz soit présent sur le poste.

L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install ruby-graphviz.

Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :

require 'rubygems'
require 'graphviz'
puts GraphViz::RGV_VERSION

L'exécution doit afficher la version de la librairie installée.

Pour plus d'informations :
/* Choice
La gestion des arguments dans Ruby est assez rudimentaire : il faut parser la ligne de commande afin d'identifier d'éventuels paramètres. Cette gem permet de mettre en place des commutateurs au niveau de la ligne de commande. Ainsi il est possible de passer les arguments dans n'importe quel ordre (vu qu'ils sont identifiés par des switches) et des les récupérer très facilement.

L'installation de la gem s'effectue en ouvrant une fenêtre DOS (Wx+R > tapez "cmd") puis en tapant la commande suivante : gem install choice.

Pour tester que la librairie est correctement installée, il est possible de créer le script suivant :

require 'rubygems'
require 'choice'
Choice.options do
end
puts Choice.choices.inspect

mardi 24 février 2009

Ruby on Windows

Un très bon site sur Ruby on Windows (anglais), où vous trouverez bon nombre d'exemples sur *Word/Excel/PowerPoint*

Mais aussi de quoi faire une interface Windows (IHM / GUI) avec la gem WxRuby (exemple)
Et bien entendu de quoi réaliser la *production d'un executable* Windows [rubyscript2exe]
[Réalisation d'un installer Windows avec Inno]

Le résultat en sera donc une *application autonome* de vos programmes Ruby avec une interface Windows, ca vaut le coup d'y jeter un coup d'oeil non ?
[Article OLE][Article GUI]

mercredi 11 février 2009

Ruby TDD - Développement piloté par les Test

Développement piloté par les Test (TDD : Test Driven Development)

C'est bien de développer, faut-il encore garantir que nos programmes supportent les changements et répondent aux exigences. Il est plus sympa d'écrire du code pour répondre aux tests que de tenter d'écrire du code pour que la classe ne fonctionne pas (qui prendra le temps de tester dans cette situation?). Le but est de répondre au besoin, n'écrire que le code qui répond au besoin et rien de plus (YAGNI :You Ain’t Gonna Need It) [article détaillé]
require "test/unit"
class TestMonObjet < Test::Unit::TestCase
def test_attribut
monObjet = MonObjet.new("un titre")
assert_equal
"un titre", monObjet.nom
end
end
Inclure ensuite la classe MonObjet
NB: Vous pouvez notez qu'il est vraiment facile de créer une classe de test, alors plus d'excuse!

lundi 9 février 2009

Rachat et concentration en Business Intelligence (BI)

La mondialisation impose aux entreprises d'être toujours plus performance et présente sur le marché. Les multinationales n'hésitent pas à investir dans le rachat d'entreprises (croissance externe). La Business Intelligence à le "vent en poupe" et tout le monde essai de prendre des parts de marchés, pour les plus gros qui sont en retard il suffit de racheter un produit/entreprise spécialisé.
Comme on a pu le voir avec Adobe Rachetant Macromédia (3,4Md$), cette concentration peut avoir des effets bénéfiques et compter quelques effets de synergie (1+1=3). Quel rapport avec la BI me direz-vous? Parce que la présentation de rapport est un élément important (Cf. Article rapport dynamique Pdf/Flex/Flash).

IBM :
- Rachat de Datastage (ETL Ascential) - 1,1Md$ - 2005
- Cognos - 5 Md$ - nov. 2007
*/ Cognos rachète Applix [applications financières] - 339 M$ - 06/09/2007
*/ Applix ayant racheté TM1, l'un des plus anciens moteurs OLAP d'analyse multidimensionnelle.

SAP :
- Business Objects - 4,8 Md€ - 08/10/2007
*/ BO avait racheté Cartesis [applications financières] - 225 M€ - printemps 2007
- Virsa Systems 2006
- Outlooksoft
- Pilot Software 02/2007

Oracle : (ETL ODI : Oracle Data Integrator)
- Rachat d'Hypérion - 3,3 Md$ - 01/03/2007
- Sunopsis -> ODI - 2006
- Siebel (progiciel CRM)
- Peoplesoft (ERP)
- HotSip (solutions d’infrastructures pour les opérateurs télécoms)
- ThorTechnologies & Octetstring (securité & gestion des identités)

Informatica : (ETL PowerCenter)
- Rachat de PowerData - 01/10/2008

Focus sur les ETL :
- Genio -> Hummingbird -> OpenText
- Sunopsis -> Oracle ODI
- Datastage : Ardent -> Informix -> Ascential -> IBM

[liste outils BI Open Source] [liste outils BI]

vendredi 6 février 2009

Logiciels Open Source dans la BI

[Article JDN illustré d'images] [Liste des outils BI (non Open Source)]
Le décisionnel est partout, en pleine concentration et expansion. Mais on peut compter sur de nombreux outils Open Source sur le marché permettant au PME de bénéficier de ses solutions.

ETL (Extract Transform Load) - [Etude comparative ETL réalisé par Manapps]
Analyse multidimensionnelle (Cube)
  • Mondrian : serveur OLAP écrit en JAVA (intégré à Pentaho solutions)
  • Palo : server OLAP pour excel
  • Jpivot, Jrubik, FreeOLAP : client Mondriant (bibliothèque)
  • Jpalo : client Palo (bibliothèque)
  • OpenI : rapport dynamique en provenance d'OLAP ...
Générateurs d'états (Reporter)
  • Birt, JasperReports : outil de conception de rapports basé sur Eclipse et un moteur d’exécution installable dans un serveur d’applications J2EE
  • JFreeReport (bibliothèque)
  • Générateur de graphiques :
  • JFreeChart (bibliothèque)
  • MarvelIt : dashboard

Datamining (analyse de données/statistiques)

Portail de Restitution (Web Reporter) - les suites BI
[Article original et le Blog de l'auteur]
[Cf. Outils bureautique/multimédia Open Source]

jeudi 5 février 2009

Ruby et les OLE

OLE : Object Linking and Embedding ("chaînage et incorporation d'objets")
Sorte de bibliothèques de fonctions au format Windows (*.dll)

Pourquoi les OLE sont si importantes ?
Les ole permettent d'accéder à toutes les fonctions des applications windows, et permettent de développer sous le pack office, mais aussi sur tout logiciel respectant cette architecture, ayant une API ou un SDK (c'est le cas de PowerAmc, BusinessObjects, Cognos...). Nous utilisons donc les API pour réaliser nos développement *QUID*.
Il est tout à fait possible d'intéragir avec le langage vba (qui peut comporter des facilités), mais qui est aussi très aisé sous Ruby ;) (créer tout de même un module pour récupérer les constantes).

[RubyDoc OLE] [SimWi's Blog] où se trouve un ex intéressant avec Word.
[Ruby OLE Browser] un script ruby permettant d'instrospecter vos objets/librairies disponibles.

NB: pour travailler avec des formats ouverts (OpenOffice, XML, PDF) on préfera utiliser des gem.

mercredi 4 février 2009

Installation d'une Gem Ruby

Une gem est une petite bibliothèque de classes,fonctions,modules (librairie - package de fonction étendues) pour répondre à un besoin précis. Etant réalisé par la communauté, testé, mise à jour, je vous conseille donc avant chaque développement de ne pas regarder s'il existe une gem (soit en standard, soit à télécharger). [RubyGem] [Documentation Gem] [liste]

Inclure une gem à son programme (équivalent à l'import d'un package java *
import java.rmi.*;*)
require 'rubygems'
require 'monPacket/maJolieGem'

La racine des gem se trouve : ruby\lib\ruby\gems\1.8\gems (ici gem en version 1.8)

Installation de RubyGems (si non installée).
- Télécharger la dernière version de rubygems (rubygems-1.3.1.zip par exemple).
- Décompresser l'archive.
- Ouvrir une fenêtre commande DOS
(Wx+R>tapez "cmd").
- Se positionner dans le répertoire de décompression de l'archive i.e. "C:\Temp\rubygems-1.3.1"
- Exécuter la commande "<>\ruby.exe" setup.rb.


Installation d'une gem : (pré-requis RubyGems doit être installé \bin\gem)
Rien de plus simple il vous suffit de vous rendre en mode command (Wx+R>tapez "cmd") et d'aller dans le répertoire des exécutables (bin) : eclipse\ruby\bin

- Aide : >$ gem --help
- Rechercher une gem avec nom (RegExp) : >$ gem list -r .*nom_gem.*
(ou >$ gem query --remote --name-matches *nom_gem*)
- Installer une gem : >$ gem install --remote *nom_gem*
- Liste des gems distantes disponibles : >$ gem query -r

ex.: installer rails :
>$ gem install rails

Résolution de problèmes :
  • Par ce moyen les dépendances sont automatiquement téléchargées
  • Si vous passez par un proxy, il ne vous sera peut être pas possible d'utiliser le "remote", procédez alors comme suit :
  1. Récuperer le proxy (adresse et port) (propriétés Internet Explorer>Connexions>Paramètres réseau)
  2. Créer une variable d'environnement HTTP_PROXY et y mettre la valeur précédemment récupéré e (Wx+pause>avancé>variables d'environnement) [ou juste pour la session]
  • Certains problèmes peuvent survenir car l'application gem est réalisé sous unix, il y a parfois des incompatibilités dans la gestion des chemins ("\","/"). Il vous suffit alors de :
  1. Chercher le(s) fichier(s) "rake_builder.rb" (faire une copie de sauvegarde)
  2. Remplacer "cmd += " RUBYARCHDIR=#{dest_path} RUBYLIBDIR=#{dest_path}" # ENV is frozen" par
  3. "cmd += " RUBYARCHDIR=\"#{dest_path}\" RUBYLIBDIR=\"#{dest_path}\"" # ENV is frozen", sauver [article référant]
  • Si vous n'avez pas le fichier "rake_builder.rb" tenter de mettre à jour RubyGem ou si rake n'existe pas (\bin)
  • >$ gem update --system
  • Rake ne fonctionne pas (compilation pour certaine librairie - "rake non reconnue comme commande interne"), le mettre à jour :
  1. >$ gem install -r rake
  2. ajouter le path pour rake : fenêtre dos >$ PATH=%PATH%;C:\eclipse\ruby\bin
  • En utilisant la commande gem, il est possible d'obtenir le message suivant "erreur : Cette application n'a pas pu démarrer car .dll est introuvable. La réinstallation de cette application peut corriger ce problème". Pour résoudre ce problème, il faut placer la (ou les) dll manquante(s) dans le répertoire bin de Ruby. Il est possible de télécharger les dll. Voici les 3 dlls qui peuvent être manquantes : zlib.dll, libeay32.dll, ssleay32.dll
Test de l'installation d'une gem : >$ ruby -e "require 'xml/libxml'"
Aucun message => OK ; -e:1:in `require': no such file to load => KO

mardi 20 janvier 2009

Installation Eclipse/Ruby

Avoir un environnement avec Eclipse/Ruby :
Installation - Install :
*/ Télécharger eclipse, ruby, jre
Installer Ruby dans le répertoire d'eclipse (eclipse\ruby) - (et la jre dans eclipse\jre)


*/ Il vous faut maintenant installer Core Frameworks (commun pour tous les langages) et Ruby IDE :
- Sur la page Dynamic Languages Toolkit downloads (dltk) récupérer un des liens (section "update site" stable)

- Aller ensuite dans Eclipse Help > Software updates...
- Onglet Available Software > Add Site...
- Coller le lien, sélectionner ensuite le Core et l'IDE (pas besoin du sdk, ni des sources)
---> Dynamic Languages Toolkit (DLTK)
-------> Dynamic Languages Toolkit - Core Frameworks
-------> Dynamic Languages Toolkit - Ruby Development Tools
- Cliquer sur Install... > Next > I accept the terms of the license agreements > Finish > Yes


*/ Référencer l'interpréteur pour créer un projet etc. :
- Une fois installé (Core/IDE), aller dans Eclipse Window > Preferences
Une section Ruby est alors créé.
- Aller dans Ruby > Interpreters > Add... ajouter ruby (vous pouvez écrire un chemin relatif à partir du répertoire eclipse)
---> Interpreter Type : Generic Ruby
---> Interpreter Name : ruby (par exemple)
---> Interpreter Executable : ruby\bin\ruby.exe (en chemin relatif)
- Cliquer sur OK > OK

Vous pouvez désormais créer des projets ruby!
NB: Interpreter Librairies [Ruby] est créé dans tout vos projets, vous pouvez alors créer un projet librairies, et faire un lien raccourci dans vos projets pour éviter de recopier l'ensemble des librairies à chaque projet.


*/ Lancer Eclipse avec une JRE autonome (jre dans le répertoire eclipse)
Il suffit de créer un raccourci avec les arguments suivants :
...\eclipse.exe -vm "jre\bin\javaw.exe" -data "workspace"
-refresh -showlocation
Ou bien il est possbile de créer un .bat dans le répertoire eclipse qui contient
eclipse.exe -vm "jre\bin\javaw.exe" -data "workspace" -refresh -showlocation


*/ Maintenant, nous allons créer un projet Ruby pour tester que tout fonctionne correctement. Dans Eclipse :
-
Cliquer sur File > New > Ruby Project
---> Project Name : Temp
---> Cliquer sur Create new project in workspace
---> Cliquer sur Use default interpreter
- Cliquer sur Finish
- Cliquer sur File > New > Empty Ruby Script
---> Source Folder : Temp
---> File : test_install.rb
- Cliquer sur Finish
- Saisir : puts "Ruby c'est trop fort"
- Cliquer sur Run > Run > Always save resources before launching > OK
Dans la fenêtre console, le message apparaît => tout est OK !


*/ RoR:
Projet Aptana - démo - article sur les auto-tests