Billets avec le tag “IDE”

Utiliser Git avec Heroku sous Windows

Heroku, présenté ici, permet non seulement de développer son application Rails dans un IDE en ligne mais également de récupérer localement l’application pour la modifier. Pour cela, le service utilise l’outil de contrôle de version à la mode : Git.

Pour utiliser Git sous Windows je vous conseille d’utiliser MsysGit et d’installer la version “If you only want to use Git”. Une fois installé il suffit de lancer “Git bash” puis de créer une clé SSH grâce à la commande :

ssh-keygen -C moi@mondomaine.net -t rsa

Vous pouvez ensuite accepter le chemin par défaut pour la clé (C:\Documents and Settings\Utilisateur\.ssh\) et saisir une passphrase.

Git est désormais installé et prêt à  être utilisé. MsysGit intègre une interface graphique pour utiliser Git mais elle reste bien moins évoluée que les interfaces que l’on trouve aujourd’hui pour Subversion. Si vous souhaitez utiliser GitHub, il suffit de recopier le contenu du fichier id_rsa (situé dans le répertoire C:\Documents and Settings\Utilisateur\.ssh\) créé par la commande ssh-keygen dans le champ “SSH Public Key” de l’interface GitHub.

Mais revenons en à Heroku ! Vous devez maintenant installer le gem heroku :

gem install heroku

puis vous pouvez ensuite profiter de toutes les fonctions fournies par celui-ci :

  • heroku list : liste toutes les applications sur votre compte
  • heroku create [nom] : créé une application avec le nom “nom”
  • heroku clone [nom] : clone localement l’application nommée “nom”
  • heroku destroy [nom] : détruit l’application nommée “nom”

En admettant que vous avez déjà créé votre application depuis l’interface d’Heroku, il vous suffit d’exécuter la commande :

heroku clone monapplication

afin d’obtenir une version locale de l’application. Vous pouvez ensuite l’éditer puis exécuter les commandes suivantes pour mettre vos modifications en ligne sur Heroku :

git add .
git commit -m "Description des changements"
git push

Lorsque vous exécutez git push, les migrations sont également exécutée sur Heroku.

Le fichier .gitignore à la racine de votre application locale contient tous les fichiers qui ne sont pas transmis à Heroku lorsque vous exécutez la commande git push. Ainsi le fichier config/database.yml local peut être modifié pour correspondre à votre serveur de développement sur votre poste sans risquer d’empêcher le fonctionnement de l’application sur Heroku. Vous pouvez modifier le fichier .gitignore suivant vos besoins.

Vous retrouvez toutes les révisions Git de votre application dans l’interface d’Heroku sous le lien Revisions (colonne de gauche). Lorsque vous récupérez localement votre application, c’est la dernière révision en ligne qui est récupérée. Si vous avez fait des modifications en ligne, vous devez donc les commiter (en cliquant sur le bouton Revisions) avant de pouvoir les récupérer localement. Soyez prudent car si vous modifiez votre application en ligne sans la commiter, puis vous commitez votre application locale, toutes les modifications faites en ligne seront perdues !

PS : vous trouverez une excellente “cheat sheet” pour Git ici.

Articles relatifs

MyLyn, la gestion de tâche contextuelle intégrée à Eclipse

MyLyn est un plugin pour Eclipse qui intègre au célèbre IDE un gestionnaire avancé de tâches par contexte. Lorsque l’on créé une tâche dans MyLyn, celle-ci intègre tous les paramètres du contexte Eclipse en cours (type de contexte, projet ouvert, fichier, ouvert, position dans le fichier …). Il devient alors très facile de transmettre la tâche à quelqu’un d’autre ou de la reprendre quelques heures ou jours plus tard.

En effet, d’un seul clic MyLyn recharge exactement le contexte dans lequel vous étiez lorsque vous avez décidé d’enregistrer cette tâche. Il ne vous reste donc plus qu’à effectuer la tâche sans avoir à réouvrir préalablement le bon contexte, le bon projet, le bon fichier…

La force de MyLyn réside donc dans son intégration totale à Eclipse mais également, dans son aptitude à se synchroniser avec les outils de gestion de tâches les plus connus tel que Bugzilla ou Trac. Vous pouvez toutefois disposer de toutes les fonctionnalités de MyLyn sans être connecté à un gestionnaire de tâche puisque celui-ci peut stocker les tâches dans une bibliothèque locale.

Je me réjouis de travailler sur un projet conséquent à deux ou plusieurs afin de pouvoir profiter des fonctionnalités avancées de communication de MyLyn mais mon utilisation actuelle (uniquement locale) me conforte dans l’idée que la gestion des tâches par contexte est un réel plus par rapport à un outil plus traditionnel.

Guides IBM :

Articles relatifs

Actualité Rails : 2.0 et Heroku

Bien que je n’ai plus eu l’occasion de développer en Ruby On Rails depuis que j’ai quitté le projet Osilink, je continue une petite veille sur cette technologie afin d’être un minimum au fait lorsque j’aurai à nouveau à utiliser ce très bon framework.

Hier David a annoncé la sortie de Ruby On Rails 2.0 sur le blog officiel. Je ne vais pas paraphraser le très bon article de présentation des nouveautés et améliorations de cette version “majeure” mais je vous invite à y jeter un coup d’oeil. Les améliorations sont nombreuses et touchent tous les modules de base du framework (Action Pack, Active Record…). J’ai hâte d’avoir entre les mains un livre qui présentera les “bonnes manières” de travailler avec Ruby On Rails 2.0. Il serait tellement dommage de passer à côté de choses qui nous simplifieront sûrement encore un peu plus le développement d’applications Internet !

Je n’ai pas pour habitude de relayer “bêtement” les informations d’autres bloggeur mais Heroku, que j’ai découvert sur le blog de Christian Fauré, mérite tout de même quelques mots ici. Heroku n’est pas moins qu’un IDE avancé en ligne pour le développement d’applications Rails ! Actuellement en version beta, Heroku vous propose de créer un nouveau projet Rails (ou d’en importer un existant) directement sur leur service en ligne. Une fois votre projet en ligne vous pouvez choisir de le rendre publique ou de le garder privé.

Là ou Heroku frappe fort c’est qu’il vous propos de développer en ligne, depuis n’importe quel navigateur, votre applications Rails ! Que ce soit pour l’exécution de migrations (qui sont détectées automatiquement et exécutées en un clic), ou même le débogage en console, tout est accessible via votre navigateur. Autant vous dire que la vidéo de l’éditeur de code en ligne me confirme que le “tout en ligne” lancé notamment par Google avec Google Apps est de plus en plus d’actualité.

Articles relatifs

CodeGear 3rdRails

Après un test très mitigé de CodeGear Delphi4PHP, CodeGear 3rdRails s’annonce comme un très bon IDE pour Ruby On Rails. D’emblée, le décor est différent, Ruby On Rails est un framework de développement web écrit en Ruby et orienté vers les applications de base de données, PHP est un langage de développement pour les sites Internet en général. La différence est très importante quand on sait à quel point Delphi4PHP mêlait à la fois framework PHP et IDE, ici point d’ambiguïté, le framework est Ruby On Rails, 3rdRails est donc purement un IDE !

Pour 3rdRails, CodeGear a utilisé le framework Eclipse SDK qui a déjà fait le succès de bon nombre d’IDE gratuits (Aptana IDE par exemple) et payants (myEclipse par exemple). Ce choix présente l’avantage d’utiliser une base technique solide en terme d’interface graphique et de gestion des plugins afin de pouvoir développer des fonctionnalités avancées dans les autres domaines. Les nombreux utilisateurs d’IDE développés avec le framework Eclipse SDK ne seront pas dépaysés !

3rdRails permet d’installer facilement et séparemment tous les outils nécessaires au déveveloppement d’applications Ruby On Rails (Ruby, le framework, MySQL et Interbase). Ceci permet aux débutants de plonger rapidement dans Ruby On Rails avec tous les outils à disposition, les utilisateurs aguéris préféreront sûrement se contenter de 3rdRails et utiliser leur environnement de développement habituel.

Le gros point fort de 3rdRails est tout d’abord son visualisateur de projet sous la forme logique et non pas suivant l’arborescence des répertoires. Par exemple pour un contrôleur on retrouvera la liste de ses actions et directement la liste de ses vues. Ceci permet une navigation rapide entre les différents éléments du projet, sans passer de répertoires en répertoire. Associé à la vue des dépendances (fichiers liés d’une manière ou d’une autre au fichier dans lequel on se trouve - par exemple fichier de vue associé à l’action que l’on est entrain d’éditer), la navigation dans un projet Rails n’a jamais été aussi facile.

La complétion de code est parfaitement fonctionnelle quel que soit le contexte, c’est un plus indéniable pour éviter de fouiller dans la documentation à chaque ligne. De plus, des assistants de création des différentes entités de votre projet (modèles, contrôleurs, vues…) vous permettent de gagner un temps considérable (ainsi vous pouvez directement définir les propriétés des champs d’un modèle et Rails écrit le code correspondant et va même jusqu’à générer les migrations et les exécuter pour vous !).

A 299$, CodeGear 3rdRails n’est certes pas à la porté de toutes les bourses mais pour quelqu’un qui travaille très régulièrement sur des projets Ruby On Rails, c’est un investissement qui sera vite rentabilisé tellement le gain de productivité est important grâce à des assistants bien conçus, une navigation optimisée et une complétion de code efficace.

Articles relatifs

E-texteditor - Un ersatz de Textmate pour Windows

Textmate a été rendu célèbre par l’avènement de produits comme Ruby On Rails et a aujourd’hui largement conquis le marché de l’éditeur de texte avancé sous Mac Os X. La qualité du produit et ses capacités de scripting sont enviées par beaucoup d’utilisateurs de Windows. E-texteditor est le premier éditeur de texte pour Windows à annoncer ouvertement vouloir cloner les fonctionnalités de Textmate, en allant jusqu’à proposer une compatibilité avec les bundles (scripts) de Textmate !

A la recherche d’un outil à mi-chemin entre un IDE complet (et souvent lourd, comme Zend Studio, Aptana IDE ou Eclipse) et un éditeur de texte léger (comme Scite), j’ai donc entrepris de tester e-texteditor avant éventuellement de l’adopter (et de le faire adopter) pour le projet Imanax notamment.

L’installation du produit se passe sans problème particulier mais rapidement l’installateur nous précise qu’il est souhaitable d’installer également Cygwin afin de profiter de toutes les fonctionnalités avancées du produit. Je choisis de ne pas installer Cygwin qui est selon moi inutile pour un éditeur de texte. Dès les premiers essais, l’application semble assez lente, l’interface n’est pas toujours réactive et en passant d’une application à l’autre la fenêtre se fige comme si un plantage était imminent. C’est très agaçant pour un éditeur de texte censé être “léger”.

Dès que l’on tente d’utiliser les bundles afin de profiter des fonctionnalités avancées, e (c’est le nom de l’application !) demande de procéder à l’installation de Cygwin. Agacé par les demandes répétées, je finis par céder et accepte d’installer Cygwin. Quelques minutes plus tard, e semble plus fonctionnel mais beaucoup de bundles ne fonctionnent toujours pas (je n’ai pas pris le temps de configurer quoi que ce soit dans Cygwin mais je considère qu’un éditeur de texte ne doit pas me demander 2 jours de configuration pour être utilisé pleinement).

Textmate est un modèle de simplicité de mise en oeuvre malgré des fonctionnalités très puissantes. E, qui repose sur un système d’exploitation moins intuitif que Mac Os X, est quant à lui un éditeur de texte complexe à appréhender. Le développeur de ce produit gagnerait à tenter d’améliorer la prise en main sans quoi peu de gens accepteront de débourser une trentaine de dollars pour ce logiciel.

Articles relatifs

Pourquoi je ne développerai pas avec CodeGear Delphi for PHP

En tant que développeur Delphi (pour MS Win32) et PHP, l’annonce début 2007 par CodeGear de la disponibilité imminente de Delphi for PHP, m’avait laisser espérer de pouvoir tester rapidement le premier IDE RAD pour PHP.

J’ai donc récemment installé la version d’essai de Delphi for PHP 1.0 afin de procéder à des tests grandeur nature. L’interface de l’IDE est très similaire aux autres produits de CodeGear, les habitués de Borland Developer Studio ne seront donc pas déroutés.

L’application PHP utilise des composants “VCL for PHP” disponibles en open source et étroitement liés à Delphi for PHP. L’IDE ressemble donc à un éditeur HTML WYSIWYG dans lequel on peut glisser/déposer ces composants visuels. Chaque composant possède ses propriétés (dimension, position, couleur…) mais également des événements comme dans un projet Delphi pour Win32. La programmation est donc événementielle ce qui n’est pas courant pour un développement en PHP.

Le produit permet de s’affranchir de l’écriture de requêtes SQL par l’utilisation d’objets de type table ou requête. Ceci apporte une souplesse non négligeable au produit lors du développement mais implique l’utilisation d’une logique de développement propre à l’IDE.

Delphi for PHP pourrait être un bon produit à condition que Code Gear travaille autour des 2 points suivants qui selon moi empêchent tout développement professionnel avec leur outil :

  • le code HTML généré est digne de Microsoft Frontpage : ce n’est pas facile de proposer un réglage fin de tous les paramètres de chaque composant visuel et de générer un code HTML propre. De ce point de vue CodeGear devrait revoir sa copie afin de proposer un éditeur HTML WYSIWYG peut être moins souple mais produisant un code HTML de meilleur qualité.
  • l’architecture ne semble pas robuste et oblige pourtant à développer selon le modèle imposé (programmation événementielle). Le produit gagnerait à se baser sur des designs patterns reconnus (Active Record ou MVC) pour s’imposer.

La volonté de Codegear de permettre le développement RAD visuel en PHP implique d’accepter de se calquer au modèle de développement du produit qui tend alors à s’imposer comme un framework PHP pour le développement d’applications plus que comme un simple IDE.

Articles relatifs

SciTE, Python et les paramètres

J’utilise SciTE pour le développement en Python (et comme éditeur de texte en général) sous Windows. SciTE permet de préciser des paramètres à passer à l’interpréteur python lorsque l’on lance l’exécution (F5). Ces paramètres sont indiqués dans le menu “View > Parameters” (Shift + F8), cependant, ils ne sont pas pris en compte par défaut dans les options de Scite (étrange d’ailleurs).

Pour cela, vous devez cliquer sur “Options > Open python.properties” puis ajouter

$(1)

à la fin de la ligne :

command.go.*.py=python -u “$(FileNameExt)” (ligne 72)

pour qu’elle devienne :

command.go.*.py=python -u “$(FileNameExt)” $(1)

Si vous souhaitez prendre en compte les 4 paramètres il faudra ajouter $(2), $(3) et $(4) évidemment ;-) Je pense qu’il faut faire la même manipulation plus bas pour linux (ligne 80).

Articles relatifs

Mise à jour de Subclipse pour RadRails 0.7.2

La fonction de mise à jour automatique de RadRails 0.7.2 ne fonctionne pas car Aptana qui a repris le développement de RadRails ne semble pas avoir remis en place le lien d’update. Si vous utilisez une version récente de Subversion, le plugin inclus par défaut dans RadRails ne supportera pas votre repository, déjà transformé pour les nouvelles versions de Subversion.

Voici la procédure pour mettre à jour Subclipse, le plugin Subversion pour Eclipse (et donc RadRails puisque RadRails utilise le framework Eclipse) :

  • télécharger la dernière version de Subclipse ici. A l’heure ou j’écris ces lignes le fichier est site-1.2.0.zip
  • décompresser le fichier téléchargé afin d’obtenir les répertoires plugins et features
  • décompresser les fichiers jar dans chaque dossier (avec Winrar par exemple)
  • supprimer les fichiers jar dans chaque dossier
  • supprimer les dossiers des anciennes versions dans votre répertoire d’installation de RadRails (dans plugins et dans features, les éléments org.tigris.subversion* - version 1.0.3)
  • copier les dossiers de la nouvelle version dans les répertoires plugins et features
  • démarrer RadRails et admirer le travail !

Articles relatifs

Après RorEd, RadRails !

J’avais pourtant fait l’apologie de RorEd, c’était une erreur. Le logiciel semblait intéressant à première vue car plus léger que RadRails (basé sur le framework d’Eclipse), il souffre cependant de gros problèmes d’ergonomie et de nombreux bugs très gênants :

  • lors de la recherche (Ctrl+F qui ne fonctionne pas toujours)
  • lors du remplacement de texte (suppression de tout le document !)
  • lors du copier/coller (aucun effet)
  • lors de la suppression avec la touche Delete (aucun effet)

Pour un produit qui utilise le noyau de SciTe , ils doivent travailler avec une très ancienne version du noyau car SciTe est bien loin du comportement catastrophique de RorEd. Je n’avais pas vraiment testé RorEd lorsque j’en ai parlé, maintenant que je travaille sur un projet Ruby On Rails, autant vous dire que je retourne illico à RadRails.

Articles relatifs

Microsoft Visual Web Developer 2005 Express Edition

Après quelques heures de développement avec l’IDE cité dans le titre je dois dire que mon sentiment est mitigé. D’un côté nous avons à faire à un vrai IDE avec toutes les fonctionnalités avancées que nous sommes en droit d’attendre, d’un autre nous avons à faire à une usine à gaz, c’est lent et on a bien souvent l’impression que l’application est plantée. Pour l’instant je ne travaille que sur une seule page pour mes tests, j’appréhende déjà le jour ou nous développerons une application Internet complète avec cet IDE.

J’ai cependant 2 pistes d’explication que j’espère pouvoir vérifier rapidement :

  • Visual Web Developer 2005 Express Edition est moins véloce que Visual Studio 2005 ? Je vais tester Visual Studio 2005.
  • Mon Dell Latitude D420 (Core Duo 1.2 Ghz ULV, 1.5 Go de RAM, disque dur 4200 tr/min) est un peu léger ? Je testerai sur mon Lenovo T60 (Core 2 Duo 2 Ghz, 1 Go de RAM, disque dur 7200 tr/min) dès que je l’aurai reçu.

Articles relatifs


Creative Commons License