Fin… et suite…
Voilà, le temps et venu. Je ferme définitivement ce blog pour me consacrer pleinement au suivant.
See you there.
![]() |
begin require "greg.rubyfr.net" rescue MacOSX, PostgreSQL, Ruby => e RubyFR.read( "[Why not]" ) end |
| L | Ma | Me | J | V | S | D |
|---|---|---|---|---|---|---|
| « juin | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
Voilà, le temps et venu. Je ferme définitivement ce blog pour me consacrer pleinement au suivant.
See you there.
MAJ — Désolé, j’avais oublié de vous mettre les liens de téléchargement :
Il y a quelque mois, je vous proposais d’utiliser soapUI sous forme de .app sur Mac.
Depuis nous sommes passés à la version 2.5. Et je n’avais pas pris le temps de refaire le .app. En effet jusqu’à maintenant j’utilisais le Jar Bundler de MacOSX pour générer des .app à partir de .jar. Cette solution à l’avantage d’être simple, malheureusement il n’est pas possible de sauvegarder un quelconque projet et il faut donc tout refaire à chaque fois.
Je me suis donc amusé à écrire un petit script shell qui permet facilement de recréer le .app de soapUI :
MKSOAP_UI_APP_VERSION="0.0.1"
echo "soapui.app generator for Mac"
echo "Version "$MKSOAP_UI_APP_VERSION
echo "Copyright (c)2009 - Gregoire Lejeune"
echo
echo -n "Chemin d’accès au répertoire de soap-ui : "
read SUI_PATH
echo -n "Version : "
read SOAPUI_VERSION
rm -rf SoapUI.app
# Creation de l‘arborescence du .app
mkdir -p SoapUI.app/Contents/MacOS
mkdir -p SoapUI.app/Contents/Resources/Java
# Copy de JavaApplicationStub
cp /System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub SoapUI.app/Contents/MacOS
# Creation du PkgInfo
echo "APPL????" > SoapUI.app/Contents/PkgInfo
# Mise en place du Info.plist…
cat <<EOF > SoapUI.app/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>CFBundleName</key>
<string>SoapUI</string>
<key>CFBundleVersion</key>
<string>$SOAPUI_VERSION</string>
<key>CFBundleAllowMixedLocalizations</key>
<string>true</string>
<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleIconFile</key>
<string>soapui.icns</string>
<key>Java</key>
<dict>
<key>MainClass</key>
<string>com.eviware.soapui.SoapUI</string>
<key>JVMVersion</key>
<string>1.5+</string>
<key>ClassPath</key>
<array>
EOF
# …et copie des fichiers .jar
for f in $SUI_PATH/lib/* $SUI_PATH/bin/*.jar
do
FILENAME=`basename $f`
cp $f SoapUI.app/Contents/Resources/Java
if [ "${FILENAME##*.}" = "jar" ]
then
echo " <string>\$JAVAROOT/$FILENAME</string>" >> SoapUI.app/Contents/Info.plist
fi
done
cat <<EOG >> SoapUI.app/Contents/Info.plist
</array>
<key>Properties</key>
<dict>
<key>apple.laf.useScreenMenuBar</key>
<string>true</string>
</dict>
</dict>
</dict>
</plist>
EOG
# Ajout de l’icone
cp soapui.icns SoapUI.app/Contents/Resources
# Ajout de l‘attribut "bundle" pour le .app
/Developer/Tools/SetFile -a B SoapUI.app
# That’s all folks !
echo "Done."
Après le lancement de ce script, on vous demandera de donne le chemin vers le répertoire des binaires (jars) de soapUI et le numéro de version.
Pour l’icône, j’ai pris le .ico dans les sources et je l’ai passé à img2icns.
Pour fêter la sortie de shoes 2 (Raisins), j’ai remis les chaussures de mon Nabaztag.
|
|
Téléchargement :
NAB_URI = "http://api.nabaztag.com/vl/FR/api.jsp?"
if /Windows/.match( ENV[‘OS’] )
HOME = ENV[‘USERPROFILE’]
else
HOME = ENV[‘HOME’]
end
PREF = File.expand_path(File.join(HOME, ".nabaztag.shoes"))
def write_pref( s, t )
open( PREF, "w" ) do |f|
f.print "#{s}|#{t}"
end
end
def n_say( s, t, m )
REXML::XPath.match(
REXML::Document.new(
open( NAB_URI +
"sn=#{s}&token=#{t}&tts=" +
CGI.escape(
Iconv.iconv(‘iso-8859-1′, ‘utf-8′, m)[0] )
) { |io| io.read }
), ‘/rsp/comment’
).map{ |n| n.text }
end
begin
serial, token = open( PREF ).read.chomp.split( /\|/ )
rescue Errno::ENOENT
serial, token = ["", ""]
end
background "nabaztag.png"
stack :margin => 30 do
stack :margin => 5 do
para "Serial"
@serial = edit_line :width => "90%"
@serial.text = serial
end
stack :margin => 5 do
para "Token"
@token = edit_line :width => "90%"
@token.text = token
end
stack :margin => 5 do
para "Message"
@message = edit_line :width => "90%"
end
flow do
stack :width => "20%", :margin => 5 do
b = button "Go" do
@answer.replace n_say( @serial.text, @token.text, @message.text )
if serial != @serial.text or token != @token.text
serial = @serial.text
token = @token.text
write_pref( @serial.text, @token.text )
end
end
end
stack :width => "80%", :margin => 5 do
@answer = para ""
end
end
end
end
Vous avez toujours besoin de cette image.
Comme beaucoup de monde, j’utilise Growl sur mon Mac (Unobody — nananère). Parmis les “Extras“, GrowlMail et un indispensable. Et il y en a un qui fait son petit effet, c’est HardwareGrowler. Malheureusement, il a la mauvaise idée de laisser son icône dans le Dock (burk!).
Pas grave, il suffit de rajouter les deux lignes suivantes dans son fichier plist (clic droit > afficher le contenu du paquet / Contents/info.plist) :
Et voilà… Apu l’icône !
J’ai longuement cherché une solution me permettant de balader facilement des fichiers entre plusieurs machines et prenant en compte l’hétérogénéité imposée par mes enfants et ma copine qui ne jurent que par Windows, moi qui n’aime qu’Apple, mais qui apprécie également Linux…
Bien entendu il y a les disques externes, mais on devient vite flemmard quand il faut, bien confortablement allongé dans son lit, aller fouiller au fond de son sac. De plus, jongler avec 10cm de câble USB dans un lit n’est pas sans risque !
Bien entendu j’ai un compte .Mac MobileMe, et bien qu’il soit utilisable1 sous Windows, il ne l’est pas sous Linux.
J’ai donc regardé du côté de SugarSync. Intéressant et pas forcement hors de prix (vous pouvez faire un test pendant 45 jours). Mais malheureusement, là encore, c’est OK pour Windows et Mac, mais pas de support pour Linux.
Il y a également PowerFolder, mais je me suis perdu sur leur site avant même de comprendre comment fonctionne le service
Bien entendu je vous passe les solutions sur lesquelles je ne me suis même pas attardé telle que Windows Live FolderShare (bien qu’il supporte Mac).
Je suis tombé sur Syncplicity dont la démo m’avait convaincu que je venais de trouver exactement ce que je recherchais. Malheureusement, il ne fonctionne que sur Windows.
Je suis donc reparti plein d’espoir, j’ai chevauché mon Google, et j’ai repris ma quête. Et un beau jour je suis tombé sur DropBox. J’avais l’impression d’être Galaad ! En effet non seulement c’est aussi simple que Syncplicity, mais en plus cela fonctionne sous Windows, Mac et Linux… Comble du bonheur, la solution est gratuite jusqu’à 2 Go… Oui mais…
I need more storage! How can I get more?
Dropbox will always be a free service, but more storage will be available to those willing to spend a bit of money. We’ll have these plans out and available within a few weeks.
Si je vous raconte tout cela, c’est que jusqu’à maintenant il fallait trouver une bonne âme pour vous offrir une invitation (je l’aurais fait avec plaisir, mais je n’en avais que 15, et elles sont vite parties). Or depuis hier, le service est ouvert à tous. Je vous jure, vous allez adorer !
1 enfin je pense, je n’ai jamais essayé !
C’est ici…
Pour la version finale, c’est very, VERY soon…