Aptana: un éditeur multiplateforme pour le web

Standard

Aptana est un éditeur HTML / CSS / JavaScript multiplateforme (il est en écrit Java). Ceux qui ont l’habitude d’utiliser Eclipse ne devraient pas se retrouver dépayser puisque le logiciel repose sur la plateforme Eclipse (il est disponible en application RCP et en plugin Eclipse, ce qui vous permettra de l’intégrer à votre IDE favori) et propose une autocomplétion qui en fera rêver plus d’un :

  • autocomplétion du HTML
  • autocomplétion du JavaScript avec indication des compatibilités avec les navigateurs
  • autocomplétion des CSS

Mode du Web 2.0 oblige, Aptana comporte également les principales librairies AJAX.

Pour voir à quoi le logiciel ressemble :http://www.aptana.com/screenshots.html

Pour télécharger le logiciel : http://www.aptana.com

Le logiciel semble encore un peu jeune, l’installation a mal fonctionnée sur mon poste, et des problèmes aparaissent en Java 1.5 et avec Eclipse 3.2. Cela devrait rapidement évoluer.

Accès aux partitions Linux depuis Windows

Standard

Bien que les dernières distributions de Linux vous permettent de vous passer totalement de Windows (non, je ne referai pas de pub pour Ubuntu), le problème d’accès aux données de “l’autre OS” reste un des traditionnels problèmes d’une machine dual-boot. Généralement, ce problème était “réglé” (disons plutôt contourné) par une partition FAT32 comportant les données “communes”.

Le driver Ext2 IFS for Windows vous permet de voir dans votre Windows votre disque ext2/ext3 comme un disque dur classique. Ce driver supporte la lecture et l’écriture.

Une distribution Linux, c’est quoi ?

Standard

Ces derniers temps, je me suis rendu compte que les gens ne savaient pas vraiment ce qu’était une distribution de GNU/Linux, et l’intérêt que cela représentait. A force de répêter la même chose, les voici écrites ici.

Une distribution de GNU/Linux c’est avant tout un “vendeur” qui s’est occupé de rassembler pour vous un noyau Linux, les utilitaires de bases (généralement l’ensemble des outils GNU) et des logiciels de plus haut niveau (une interface graphique, un gestionnaire de fenêtres, etc.). Tout ceci vient sur un media commun : CD-ROM, serveur FTP, DVD. Quand vous “installez Linux”, vous n’avez pas comme quand vous installez un autre système tel que Windows ou Mac OS X à installer des application tierces derrière. Vous avez généralement installé l’ensemble des programmes dont vous aviez besoin.

Cet assemblage de logiciels, présente à la fois des intérêts, et bien évidemment quelques inconvéniants ! Revenons sur chacun d’entre eux.

Les avantages tout d’abord :

  • Vous n’avez pas à chercher vous mêmes les programmes à installer, vous avez tout à disposition sur un media
  • Tous les programmes proposés fonctionnent convenablement ensembles
  • Des mises à jour de sécurité sont régulièrement proposées

Quelques inconvéniants tout de même :

  • Vous ne pouvez pas installer la dernière version de votre logiciel
  • Vous ne pouvez pas installer votre logiciel avec les options de compilation qui vous conviennent le mieux

Il arrive fréquemment que des gens veuillent mettre à jour le programme X. Ce n’est généralement pas souhaitable comme expliqué ci-dessus : une distribution est une ensemble homogène conçu pour travailler ensemble, le fait de mettre à jour le programme X ou la librairie Y n’est pas sans conséquence. Il est ainsi fortement conseillé de se limiter aux sources officielles de votre distribution sauf si vous savez ce que vous faites.

Notez bien les mises à jour de sécurité : vous n’avez pas à vous soucier d’éventuelles failles de sécurité, une icône vous signale généralement qu’une mise à joue est disponible (comme sous Windows, sauf que là, tous les programmes sont concernés par ces mises à jour) ou si vous administrez des serveurs, l’abonnement à la liste de distribution des alertes de sécurité de votre distribution favorité ne sera pas un luxe !

En résumé, une distribution fait du travail pour vous (et certainement mieux que vous ne l’auriez fait), alors pourquoi ne pas lui faire confiance :-)

Oracle Database 10g Express Edition

Standard

Oracle propose depuis quelques temps déjà une version dite Express Edition [1] de son logiciel phare: son serveur de base de donnée. La particularité de cette mouture, est d’être totalement gratuite (et pas uniquement pour le développement comme c’est le cas de la version traditionnelle, elle est également gratuite pour le déploiement d’applications). Elle ne présente que quelques limitations:

  • 4Go de données
  • 1 seule instance par serveur
  • 1 seul CPU
  • utilisation de 1Go de RAM maximum

Outre ces premières bonnes nouvelles, Oracle a généralement l’habitude de distribuer ses produits pour Linux sous forme de RPM ; et là, nouveauté, les .deb sont également disponibles ! Mieux, il y a même un repository Debian, pour y accéder, rajoutez la lignes suivantes à votre sources.list:

 deb http://oss.oracle.com/debian/ unstable main non-free

Pour installer, il suffit alors de lancer:

 apt-get update && apt-get install oracle-xe-universal

(Pour information, il existe aussi un package avec un support de l’anglais seulement, et un package pour le client).

Une fois l’installation terminée (le téléchargement prendra un petit/long moment, le package faisant tout de même 262 Mo), il faut lancer la configuration de la base de donnée:

 /etc/init.d/oracle-xe configure

Répondez au question de base, c’est fini, vous avez votre base de donnée Oracle !

On pourra noter pour ceux qui ont déjà joué avec les autres versions de bases de donnée de l’éditeur que cette version est grandement simplifiée.

Les packages estempillés Debian fonctionnent parfaitement sur Ubuntu Dapper Drake (6.06).

La JVM de Sun rentre chez les ditributions GNU/Linux

Standard

Sun a annoncé à Java One que la license de Java avait changé [1] : Sun diffuse désormais Java sur une nouvelle license: the Operating System Distributor License for Java (DLJ)[2] [3]. Conséquence de ces changements, les créateurs de distributions GNU/Linux sont désormais autorisés à diffuser la machine virtuelle Sun.

Premières distributions à inclure cette JVM, Debian (qui l’a intégré dès le lendemain de l’annonce dans son dépot non-free), et Ubuntu (qui l’a intégré le même jour dans le dépot multiverse). La prochaine version d’Ubuntu sortant jeudi, Ubuntu 6.06 devrait être la première distribution à intégrer la JVM Sun.

L’installation de Java devrait donc être grandement simplifiée (même si elle n’était pas à proprement parler difficile, mais l’automatisationa apportera un confort et une plus grande facilité pour les débutants).

A noter que Sun parle de mettre en OpenSource Java, mais sur ce sujet, aucune précision ni date n’a encore été donnée.

SSH en ISO depuis une station UTF8

Standard

Il arrive régulièrement d’avoir à faire un ssh depuis une station UTF8 (les dernières distributions utilisent par défaut cet enconding) vers une station (serveur) réglé avec un enconding en ISO. Comme vous avez pu le remarquer, cela conduit à des caractères bizarres :-(.

La solution est d’utiliser un petit programme appelé luit (package éponyme dans la distribution Ubuntu). Il s’utilise simplement comme suit :

 luit -encoding ISO8859-15 ssh <host.domain>

Vous pouvez définir votre propre alias (du type ussh pour faire écho au uterm).

Clé ssh (sous Linux)

Standard

Plutôt que de taper votre mot de passe à chaque fois, ou pour simplement sécuriser vos accès ssh, une possibilité largement utilisée avec ssh est le mécanisme de clé. Cette paire de clé (RSA ou DSA) se compose (comme toute paire de clés) d’une clé privée et d’une clé publique. Vous devez fournir à l’administrateur de la machine sur laquelle vous souhaitez vous connecter votre clé publique.

Voici un exemple de ce qu’il faut faire ! Depuis votre station de travail Unix/Linux, tapez :

 lionel@ouessant:~$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/lionel/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/lionel/.ssh/id_dsa. Your public key has been saved in /home/lionel/.ssh/id_dsa.pub. The key fingerprint is: b8:cb:5e:eb:35:92:86:15:53:18:2c:4f:f6:34:43:b7 lionel@ouessant

La séquence précédente génère une clé SSH de type DSA avec les arguments par défaut (qui ont de grande chance de correspondre à vos besoins). Si vous laissez la passphrase vide, vous pourrez vous connecter sans mot de passe entre les stations.

Pour vous connecter ensuite sur une machine, il faut fournir à votre administrateur préféré votre clé publique qui se situe (il suffit de lire) dans ~/.ssh/id_dsa.pub.

Sur le poste client, il faut mettre cette clé dans ~/.ssh/authorized_keys (le fichier a un nom assez explicite). Ensuite, rien de plus simple, il suffit de lancer le ssh comme précédemment. Il faudra alors soit ne rien taper du tout, soit taper votre passphrase si vous en avez rentré une.

Une bonne mesure sécuritaire quand vous êtes administrateur d’un serveur consiste à n’autoriser les accès qu’avec une clé ssh et interdire les accès en mot de passe. Vous vous rendez ainsi insensibles aux attaques (tellement courantes) brute force sur les mots de passes.

Tunnel SSH (depuis Windows 3/3)

Standard

Attaquons nous maintenant à la réalisation de tunnels SSH sous Windows (client Windows). Si vous disposez de Cygwin, vous pouvez utiliser la méthode décrite dans le billet précédent puisque cygwin propose le client OpenSSH.

Autrement, le plus simple et le plus rapide est de faire avec PuTTY. Commencez par le télécharger.

Pour commencer à faire votre tunnel SSH, commencez par rentrer la machine hôte sur laquelle vous disposez d’un accès shell (B dans notre dénomination).

Ensuite rendez vous dans Connection->SSH->Tunnels, définissez vos tunnels. Le “source port” est le port local pour accéder à votre service, et la destination la machine et port du service auquel vous souhaitez accéder (C:c dans notre dénomination). N’oubliez surtout pas d’ajouter votre tunnel en cliquant sur “Add”.

C’est fini, connectez vous. Vous pouvez accédez à votre service à l’URI : A:a

Tunnel SSH (depuis Linux 2/3)

Standard

Dans le billet précédent j’expliquais à quoi servait un tunnel SSH. Maintenant passons à l’aspect pratique sous Linux !

Rien de plus simple en fait, il suffit dans la situation précédente de taper la ligne de commande suivante :

ssh -L a:C:c login@B

Vous avez accès à l’URI localhost:a à l’application qui en fait est normalement accessible à l’URI C:c

Attention, si vous faites cela pour sécuriser le traffic, le traffic entre B et C n’est absolument pas sécurisé !

Vous avez la ligne de commande, le principe, pour de plus amples détails, n’hésitez pas à consulter le man ssh qui vous donnera toutes les options utiles et nécessaires.

Signalons également l’existance de ssh -X qui permet d’encapsuler dans le tunnel ssh le traffic de X. Vous n’avez donc plus à faire des horribles xhost + et autres export DISPLAY, ça devient tout automatique ! Prenons un exemple pour lancer gaim sur la machine distante, vous lancez un ssh -X distante gaim

Tunnel SSH (Le principe 1/3)

Standard

Ca fait trop de fois que j’explique comment faire un tunnel ssh, je l’explique comme ça, je n’aurais plus qu’à donner le lien :-).

Un tunnel SSH consiste à encapsuler un flux applicatif (une application quelconque) dans un tunnel SSH. L’intérêt peut-être double :

  • sécuriser un flux qui naturellement ne l’est pas (pour le faire passer en dehors de votre réseau local par exemple)
  • accéder à des applications auxquelles vous n’avez pas accès depuis la machine sur laquelle vous travaillez, mais vous disposez d’un accès ssh à une machine qui elle a accès au dit service

Nous allons donner deux exemples pratiques (accès depuis Linux avec le client ssh d’OpenSSH et l’autre avec PuTTY sous Windows). Dans les deux cas, nous serons dans le schéma suivant :

  • nous travaillons sur la machine A
  • nous disposons d’un accès shell sur la machine B
  • nous souhaitons accéder à un service qui tourne sur la machine C sur le port c