25 avr. 2007

Open Htaccess Here

Le seul vrai inconvénient d’OS X pour développer des sites web, c’est qu’il est basé sur Unix et cache donc les mêmes fichiers que votre serveur web. Si vous travaillez sur des copies locales de vos sites web (et vous devriez, comme je l’ai déjà écrit plusieurs fois), vous avez un problème : vous devez créer et modifier des fichiers .htaccess, mais le Finder les cache.

Il y a plusieurs solutions, mais aucune n’est satisfaisante. Vous pourriez configurer votre serveur Apache pour chercher des htaccess.txt au lieu de .htaccess — mais ça implique d’avoir le contrôle total sur votre serveur, et aussi de modifier tous les sites existants. Vous pourriez configurer les options secrètes du Finder pour afficher les fichiers cachés — mais ensuite ce serait le bordel sur tout votre système, à commencer par le bureau. Vous pourriez utiliser Path Finder au lieu du Finder pour gérer votre arborescence de développement, comme je l’ai fait pendant un moment — mais Path Finder est une daube. Vous pourriez utiliser votre client FTP pour naviguer dans votre arborescence et afficher les fichiers cachés — mais, malgré ses défauts, le Finder a des fonctionnalités très intéressantes et ce serait dommage de se limiter à un client FTP. Idéalement, on pourrait demander à Transmit de renommer automatiquement les fichiers locaux htaccess.txt en .htaccess lors de l’upload, mais ils n’ont pas encore pensé à cette option.

Alors que je me demandais si Panic avait pensé à gérer ce problème dans Coda (avant de réaliser que Coda a son propre gestionnaire de fichiers, donc la question ne se pose pas), j’ai eu l’illumination : il doit y avoir une solution en AppleScript ou Automator ! Et voici aujourd’hui, après une bonne nuit de sommeil, un miracle d’Automator : Open Htaccess Here.workflow.

 

Comment l’utiliser : téléchargez-le, ouvrez-le, et utilisez la fonction “Save As Plug-in” d’Automator pour créer une option de menu contextuel pour le Finder. Vous pouvez maintenant droit-cliquer sur n’importe quel fichier ou dossier, choisir l’option que vous venez de créer dans le sous-menu Automator, et TextEdit ouvrira u fichier .htaccess dans le dossier sélectionné (si vous avez un éditeur favori, cherchez “TextEdit” vers la fin de l’action AppleScript et remplacez-le). S’il n’y a pas de fichier .htaccess existant, il sera créé.

 

Si vous voulez en savoir plus, voilà le workflow (oui, c’est tout simple… une fois qu’on s’est dépatouillé de toutes les complications pour travailler avec le Finder en AppleScript) :

Et l’AppleScript (je ne poste pas souvent de code, donc je n’ai pas de règles CSS appropriées, désolé) :

on run {input, parameters}

 

    if input is {} then tell application "Finder" to set input to the target of Finder window 1 as alias

    set input to input as alias

    set thePath to POSIX path of input

 

    —http://bbs.applescript.net/viewtopic.php?pid=69731

    set {folder:isFolder} to (info for input)

    if not (isFolder) then

        —http://www.fischer-bayern.de/applescript/html/parent_f.html

        set AppleScript’s text item delimiters to "/"

        set itemCount to (count text items of thePath)

        set lastItem to the last text item of thePath

        if lastItem = "" then

            set itemCount to itemCount - 2

        else

            set itemCount to itemCount - 1

        end if

        set thePath to text 1 thru text item itemCount of thePath & "/"

    end if

 

    set thePath to thePath & ".htaccess"

    do shell script "touch \"" & thePath & "\""

    do shell script "open -a TextEdit \"" & thePath & "\""

 

    return thePath

 

end run

 

Archives

2001   01   02   03   04   05   06   07   08   09   10   11   12  

2002   01   02   03   04   05   06   07   08   09   10   11   12  

2003   01   02   03   04   05   06   07   08   09   10   11   12  

2004   01   02   03   04   05   06   07   08   09   10   11   12  

2005   01   02   03   04   05   06   07   08   09   10   11   12  

2006   01   02   03   04   05   06   07   08   09   10   11   12  

2007   01   02   03   04   05   06   07   08   09   10   11   12  

2008   01   02   03   04   05   06   07   08   09   10   11   12  

2009   01   02   03   04   05   06   07   08   09   10   11   12  

2010   01   02   03   04   05   06   07   08   09   10   11   12  

2011   01   02   03   04   05   06   07   08   09   10   11   12  

2012   01   02   03   04   05   06   07   08   09   10   11   12  

2013   01   02   03   04   05   06   07   08   09   10   11   12  

2014   01   02   03   04   05   06   07   08   09   10   11   12