Systèmes d’Information, Développement Web et Mozilla

Le site Web personnel de Thomas Bassetto

Tag - mac

Fil des billets (Atom 1.0) - Fil des commentaires (Atom 1.0)

Optimiser l'utilisation de TextMate

Cet arti­cle va sûre­ment éton­ner ce qui con­nais­sent mon opi­nion sur Text­Mate : je n’ai jamais vrai­ment pu accro­cher à ce logi­ciel. Mais comme je ne suis pas borné, j’ai décidé de lui don­ner une seconde chance et je me suis aperçu que j’étais bizar­re­ment passé à côté de l’essen­tiel. Pour évi­ter que d’autres per­son­nes se mépren­nent comme j’ai pu le faire l’ai fait, j’ai décidé d’écrire cet arti­cle. Peut-être même que les uti­li­sa­teurs de lon­gue date y appren­dront quel­que chose.

Pour ceux qui ne con­nais­sent pas Text­Mate, voici son inter­face au pre­mier démar­rage :

Un peu sobre, n’est-ce pas ? L’inter­face de Text­Mate mise avant tout sur la légè­reté mais les fonc­tion­na­li­tés sont au ren­dez vous : colo­ra­tion syn­taxi­que dans de nom­breux lan­ga­ges, frag­ments de code pré­dé­fi­nis, pos­si­bi­lité de rétrac­ter des por­tions de code, pré­vi­sua­li­sa­tion de la page, ges­tion des onglets, pos­si­bi­lité de recher­cher/rem­pla­cer dans un pro­jet… On peut lui rajou­ter autant de thè­mes, plu­gins et bund­les que l’on veut. Les bund­les regrou­pent en géné­ral des actions, des bouts de code et la colo­ra­tion syn­taxi­que pour les lan­ga­ges de pro­gram­ma­tion : PHP, Python, JavaS­cript, Ruby mais il en existe aussi pour des besoins plus par­ti­cu­liers comme le fichier de con­fi­gu­ra­tion de sshd, les TODO lists, le fra­me­work jQuery, etc. La prin­ci­pale con­sé­quence la puis­sance de Text­Mate est sa courbe d’appren­tis­sage, plus lon­gue que celle d’édi­teurs plus sim­ples.

Les édi­teurs de tex­tes qui s’en rap­pro­chent le plus sous Win­dows sont E (il sup­porte même les bund­les de Text­Mate) et Intype. Pour Linux, le plus pro­che serait Scri­bes.

Pour les gros pro­jets, notam­ment en JAVA je ne suis pas encore prêt de lâcher les IDE tels que Net­Beans ou Eclipse. Pour tout le reste, Text­Mate sem­ble être l’outil idéal. Voyons donc main­te­nant com­ment opti­mi­ser un peu son uti­li­sa­tion.

Der­nière ver­sion

C’est idiot, mais assu­rez-vous bien d’avoir ins­tallé la der­nière ver­sion : http://macro­ma­tes.com. La ver­sion 2 se fait atten­dre depuis une éter­nité d’ailleurs.

Ajout de bund­les et syn­chro­ni­sa­tion avec le dépôt SVN

36 bund­les sont ins­tal­lés par défaut et le dépôt Sub­ver­sion offi­ciel en con­tient 121. Pour récu­pé­rer les bund­les man­quants et met­tre à jour ceux déjà ins­tal­lés, ouvrez le ter­mi­nal et tapez les lignes sui­van­tes :

mkdir -p /Library/Application\ Support/TextMate
cd !$
export LC_CTYPE=en_US.UTF-8
svn co http://svn.text­mate.org/trunk ./

Au bout de quel­ques minu­tes vous aurez ins­tallé et mis à jour tous les bund­les dis­po­ni­bles. Pour choi­sir ceux à acti­ver ou non, ouvrez Text­Mate et allez dans le menu Bund­les > Bundle Edi­tor > Show Bundle Edi­tor, puis dans Fil­ter List… en bas.

Il reste à créer un script qui ren­dra plus pra­ti­que les pro­chai­nes mises à jour. Tou­jours dans le ter­mi­nal, édi­tez le fichier /usr/local/bin/mateup avec Text­Mate :

mate /usr/local/bin/mateup

Puis copiez dans le fichier :

#!/bin/sh
cd /Library/Appli­ca­tion\ Sup­port/Text­Mate
export LC_CTYPE=en_US.UTF-8
sudo svn update

Enre­gis­trez le et effec­tuez une der­nière une com­mande pour lui don­ner les droits suf­fi­sants :

sudo chmod +x /usr/local/bin/mateup

Ça y est, pour met­tre à jour vos bund­les il vous suf­fira de temps en temps de taper la com­mande mateup dans le ter­mi­nal. Pour vous tenir au cou­rant, je vous encou­rage à sui­vre le flux RSS des mises à jour des bund­les.

Ajout du plu­gin Pro­ject­Plus

Pro­ject­Plus est un plu­gin qui rajoute à Text­Mate des fonc­tion­na­li­tés comme :

  • Un nou­veau pan­neau laté­ral (on peut le désac­ti­ver dans les pré­fé­ren­ces si on pré­fère l’ori­gi­nal ou encore celui fourni par le plu­gin Mis­sing­Dra­wer).
  • Des icô­nes qui s’affi­chent à côté de cha­que fichier ver­sionné pour indi­quer leur sta­tut.
  • La con­ser­va­tion de l’état de l’arbre des fichiers (dos­siers ouverts ou pas) d’une uti­li­sa­tion à une autre de Text­Mate.
  • Plu­sieurs options de tri sup­plé­men­tai­res sont dis­po­ni­bles pour ordon­ner la liste de fichiers et dos­siers.
  • Etc.

Ces nou­veau­tés ne sont dis­po­ni­bles que pour les pro­chains pro­jets que vous crée­rez.

Ajout d’un bou­ton dans le Fin­der

Appli­ca­tion très pra­ti­que mais peu connu, on peut pla­cer un bou­ton dans la barre d’outils du Fin­der pour ouvrir Text­Mate. Si rien n’est sélec­tionné il ouvre le dos­sier actuel en tant que pro­jet. Si un fichier seul est sélec­tionné, alors il ouvre juste ce fichier. Si plu­sieurs fichiers et/ou dos­siers sont sélec­tion­nés, il ouvre Text­Mate avec comme con­tenu du pro­jet les fichiers sélec­tion­nés.

Vous pou­vez aussi glis­ser-dépo­ser des fichiers et/ou dos­siers direc­te­ment sur l’icône.

La pro­cé­dure d’ins­tal­la­tion est décrite dans l’arti­cle “Open in Text­Mate” from Leo­pard Fin­der de Hen­rik Nyh.

Com­mande “Open Fin­der”

Si vous avez activé le bundle Shell Script, vous dis­po­sez du rac­courci-cla­vier ⌃⇧O pour ouvrir le ter­mi­nal dans le dos­sier où se trouve le fichier édité. Hen­rik Nyh, le même auteur que l’astuce pré­cé­dente a déve­loppé une com­mande qui per­met d’ouvrir le même dos­sier, mais dans le Fin­der.

La pro­cé­dure d’ins­tal­la­tion est décrite dans son arti­cle Text­Mate “Open Fin­der” com­mand.

Rac­cour­cis cla­vier les plus uti­les

Cha­cun a ses rac­cour­cis les plus uti­les, voici une par­tie des miens :

Quel­ques rac­cour­cis cla­vier de Text­mate
Rac­cour­cis cla­vier Action
⌃⌘T (Bundles → Select Bundle Item…) Affi­che la liste des com­man­des dis­po­ni­bles dans le con­texte actuel, et per­met de faire un recher­che parmi elles.
>⇧⌘L (Edit → Select → Line) Sélec­tionne la ligne cou­rante.
⌥⇥ and ⌥⇤ ( cor­res­pond à ⇧⇥) Change le degré d’inden­ta­tion des lignes sélec­tion­nées
(Edit → Completion → Next Completion) Affi­che l’auto-com­plé­tion.
⌃⇧K (Text Bundle → Delete Line) Sup­prime la ligne cou­rante
⌘E Rem­place le(s) terme(s) à recher­cher sans faire appa­raî­tre la boîte de dia­lo­gue. (⇧)⌘G per­met ensuite de navi­guer entre les résul­tats.
⇧⌘E Rem­place le(s) terme(s) de rem­pla­ce­ment sans faire appa­raî­tre la boîte de dia­lo­gue.
⌃S or ⌃⇧S Effec­tue une recher­che à la volée.
⌘↩ Va à la fin de la ligne et en ajoute une nou­velle.
⌘⌥↩ Va à la fin de la ligne et place le carac­tère de fin de ligne quand c’est pos­si­ble (“;” par exem­ple).
⇧⌘↩ Idem que le pré­cé­dent mais ajoute en plus une nou­velle ligne.
⌥⌘↩ Insère une nou­velle ligne avant la ligne cou­rante.
⌘/ Com­mente/décom­mente la ligne.
⌥⌘/ Ajoute/enlève un bloc de com­men­taire.
⌘T Per­met d’accé­der rapi­de­ment à un fichier du pro­jet.
⌘⇧T Recher­che dans tout le pro­jet.
⌥⌘. Insère la balise fer­mante (en HTML).
⌃<) Trans­forme la sélec­tion en bali­ses ouvrante et fer­mante.

Atten­tion à bien avoir activé les bund­les sui­vants : Text, Source et Text­Mate. Ils pro­po­sent des com­man­des pra­ti­ques.

Bonus : Shell­Here

Dans le même genre que le bou­ton du Fin­der qui ouvre Text­Mate, voici le bou­ton qui ouvre le ter­mi­nal dans le bon dos­sier. Il existe d’autres scripts (comme Open Ter­mi­nal Here) mais Shell­Here est mieux fini.

La pro­cé­dure est la même que pour rajou­ter Text­Mate dans le Fin­der : met­tez l’appli­ca­tion ou vous sou­hai­tez, par exem­ple, dans le dos­sier Appli­ca­tions/ de votre pro­fil (dos­sier à créer s’il n’existe pas) et glis­sez ensuite l’appli­ca­tion dans la barre d’outils.

L'installation de logiciels sous Linux, Windows, et Mac OS

Ayant les 3 systèmes d'exploitations Mac OS X 10.5, Windows XP SP2 et Ubuntu Linux 7.10 au quotidien je vais vous livrer mon expérience au niveau installation de logiciels. Pour le cas Linux je ne vais pas du tout rentrer dans les détails (.deb vs .rpm vs les autres types de paquet, ni parler de la compilation) mais je vais rester dans le cas général d'installation de logiciel par monsieur tout le monde (j'en suis presque un sous Linux). Idem pour les autres systèmes, je vais uniquement parler du cas le plus général.

Windows

Dans le cas général, on obtient un fichier exécutable .exe soit de la part d'un ami soit via le site officiel du logiciel ou un site comme Telecharger.com. Il suffit ensuite de double-cliquer sur le fichier, puis cliquer sur suivant, suivant, etc. jusqu'à la fin et c'est fini.

Avantanges

  • Assez facile d'installation.
  • Facile d'amener le programme d'installation chez un ami (il suffit de copier le .exe).

Inconvénients

  • Si on ne lit pas bien ce qu'il y a écrit quand on clique sur "Suivant" on se retrouve vite avec des logiciels en + que l'on a jamais souhaité.
  • On est obligé de suivre l'actualité des logiciels sur internet si on veut être au courant des mis à jour (sauf cas exceptionnel).
  • Lors de la désinstallation peu de logiciels proposent de supprimer aussi les fichiers de préférences associés.

Linux

Ici pas de site tel telecharger.com, du moins pas besoin. La très grande majorité des logiciels se trouve dans ce que l'on appelle des "dépôts". Pour installer un logiciel il suffit donc de lancer Synaptic et le système s'occupera donc de télécharger le logiciel souhaité ainsi que tous ceux nécessaires à son bon fonctionnement (si on accepte bien sûr).

Avantages

  • On est averti chaque jour (configurable) de la mise à jour de TOUS les logiciels installés via cette méthode des dépôts.
  • Si on clique sur un lien, sur un site web ou lors d'une conversation par messagerie instantanée, de type apt://nom_du_logiciel il s'installera automatiquement (si on l'autorise bien sûr).
  • Lors de la désinstallation, toujours via Synaptic, il est possible de supprimer entièrement le logiciel (y compris les fichiers de préférences).

Inconvénients

  • Si on n'a pas Internet pour installer des logiciels cela devient moins pratique. En effet nos potes sous Linux (si on en a ;)) n'ont pas forcément la même version de Linux (ça aide quand c'est le cas) et même si c'est le cas il faut télécharger le logiciel + ses dépendances, etc…
  • Je n'en voit pas d'autres mais corrigez moi si je me trompe :)

Mac OS X

On m'a longtemps venté le système d'installation de logiciel sous Mac... pourtant je n'ai rien trouvé d'exceptionnel. Mais ça s'explique sûrement par ma méconnaissance de ce système, si vous êtes utilisateur de Mac confirmé, corrigez moi.

En général il faut télécharger un fichier .dmg qui est une image disque. Cela signifie qu'un double-clic dessus la monte (elle apparaît sur le bureau comme quand on insère une clé USB, c'est pareil pour Mac OS X). Ensuite il faut faire glisser le fichier .app que contient cette image disque jusqu'au dossier /Applications/ du système d'exploitation. Il ne faut pas oublier d'éjecter (démonter) l'image disque une fois l'installation finie. Pour désinstaller l'application il faut faire glisser le fichier .app du dossier /Applications/ dans la corbeille

Avantages

  • Le fait de glisser/déposer le fichier .app dans le dossier Applications ne demande pas trop d'efforts ! C'est bien aussi que tout le logiciel soit contenu dans ce seul fichier.

Inconvénients

  • Devoir monter/démonter une image disque dont je ne comprends toujours pas l'utilité !
  • Pas de méthode vraiment universelle pour être avertit des mise à jours des logiciels installés.

Conclusion

Comme vous l'aurez sûrement compris, je préfère de loin la gestion de programmes sous Linux, même si au premier abord elle n'est pas très intuitive. En effet Synaptic propose de nombreux logiciels quand on cherche juste un nom, et il est difficile de comprendre au premier abord pourquoi l'installation d'un simple logiciel nécessite l'installation d'autres programmes (toutes les dépendances). De même si aucun dépôts n'existe pour le logiciel que l'on cherche (cas très rare), ça peut vite devenir mission impossible pour l'utilisateur lambda.

Mis à part ça, cet article montre peut-être ma méconnaissance du monde Mac et Linux. Sous Linux il y a sûrement beaucoup d'autres façons d'installer des logiciels, peut-être plus intuitive. Sous Windows Vista, il y peut-être une meilleure gestion de la suppression et de la mise à jours des logiciels mais je ne peux pas savoir sans avoir pu essayer.

Le pacte des gnous

Cette semaine on nous a montré en cours de systèmes d'exploitation une vidéo bien marrante. Cette vidéo - qui date de 2003 quand même - parle de la bataille entre Windows, Linux et Mac. Et comme elle est bourrée d'humour je ne peux résister à la partager avec vous :

Sinon, elle est disponible en téléchargement direct via LinuxFR.