Off Road

Chris' blog

Off Road header image 4

Articles de 'apple'

App Store for Globe Trotters

14.07.2010 17:52 · Aucun Commentaire

After only 2 weeks in China I can give you some keys to avoid the waste of time I got. See the following apps:

Only one guide for 44 languages, it gives you translation of hundreds useful words and sentence from and to the 44 languages, very well made, easy to use:
Lingopal 44

Only one subway guide for 33 cities around the world:
Metro Maximus

700 offline cities maps to save Location and to be geolocalised via GPS:
700 City Maps (this apps is free, but each offline map must be bought, otherwise you just access an online map like google maps)

Currency exchange rates, works offline :
Currency

How could we survive before iPhones and iPads ??

[Lire la suite →]

Tags: IT · apple · en · phone

IPad 3G in China

09.07.2010 06:02 · 1 Commentaire

I wanted to use the 3G connection of my iPad in China. After “visiting” the 3 big companies in Shanghai, I can say they don’t sell data subscription for less than one year and unlimited does not exist.

I also have bought (180 yuan) a SIM card from China Mobile. I noticed that I can go on the internet. I noticed the APN was “cmnet”.
Then I tried successfully to use the China Mobile SIM card you can buy everywhere for less then 10€.

I will have to refund it once empty, but I’ll comment that post then. I think I will have to plug the SIM card back in a real mobile phone.

Of course I had to cut the SIM card to the micro SIM size.

I was connected to China Mobile and just added APN Settings :
APN name : cmnet
Login : (empty)
Password : (empty)

[Lire la suite →]

Tags: IT · apple · en · phone

Partage d’écran activé via le Terminal

02.05.2010 13:02 · Aucun Commentaire

Nous souhaitons activer le contrôle d’écran à distance sur un Mac OS X grace à la ligne de commande (testée sur Leopard et Snow Leopard) :
$ cd /Library/Preferences
$ echo -n enabled > com.apple.ScreenSharing.launchd

Pour le désactiver :
$ cd /Library/Preferences
$ rm com.apple.ScreenSharing.launchd

[Lire la suite →]

Tags: IT · apple · fr · network

exporter iPhoto dans des dossiers

14.04.2010 12:33 · Aucun Commentaire

iPhoto est bien sympa mais il a des limites, à commencer par le fait qu’il n’exporte pas dans des dossiers. Si on utilise les outils d’exportation on se retrouve avec toutes les photos dans un seul dossier !

grace aux commentaires sur cette page j’ai utilisé le script python suivant qui a fonctionné sur ma configuration :

  • Mac OS 10.6.3 (Snow Leopard), avec le python intégré
  • iPhoto 8.1.2

Je l’ai enregistré dans un fichier nommé “export-iphoto.py” dans le dossier “documents” de l’utilisateur “chris”, puis en lançant le terminal pour l’executer (en réalité je crois qu’on peut se contenter de double cliquer dessus, mais j’aime bien le mode ligne de commande :) ) :

cd /Users/chris/Documents
python export-iphoto.py

Voici le contenu du fichier export-iphoto où il faut bien prendre soint de changer ces 2 lignes
albumDataXml="/Users/YOURUSERNAME/Pictures/iPhoto Library/AlbumData.xml"
targetDir="/Volumes/share/pictures"

export-iphoto.py :

from xml.dom.minidom import parse, parseString, Node
import os, time, stat, shutil, sys

def findChildElementsByName(parent, name):
result = []
for child in parent.childNodes:
if child.nodeName == name:
result.append(child)
return result

def getElementText(element):
if element is None: return None
if len(element.childNodes) == 0: return None
else: return element.childNodes[0].nodeValue

def getValueElementForKey(parent, keyName):
for key in findChildElementsByName(parent, "key"):
if getElementText(key) == keyName:
sib = key.nextSibling
while(sib is not None and sib.nodeType != Node.ELEMENT_NODE):
sib = sib.nextSibling
return sib

albumDataXml="/Users/chris/Pictures/iPhoto Library/AlbumData.xml"
targetDir="/Volumes/FAT/pictures"
copyImg=True #set to false to run with out copying files or creating directories

print "Parsing AlbumData.xml"
albumDataDom = parse(albumDataXml)
topElement = albumDataDom.documentElement
topMostDict = topElement.getElementsByTagName('dict')[0]
listOfRollsArray = getValueElementForKey(topMostDict, "List of Rolls")
masterImageListDict = getValueElementForKey(topMostDict, "Master Image List")

#walk through all the rolls (events)
for rollDict in findChildElementsByName(listOfRollsArray, 'dict'):
rollName = getElementText(getValueElementForKey(rollDict, "RollName"))
print "\n\nProcessing Roll: %s" % (rollName)

#walk through all the images in this roll/event
imageIdArray = getValueElementForKey(rollDict, "KeyList")
for imageIdElement in findChildElementsByName(imageIdArray, 'string'):
imageId = getElementText(imageIdElement)
imageDict = getValueElementForKey(masterImageListDict, imageId)
modifiedFilePath = getElementText(getValueElementForKey(imageDict, "ImagePath"))
originalFilePath = getElementText(getValueElementForKey(imageDict, "OriginalPath"))

sourceImageFilePath = modifiedFilePath

modifiedStat = os.stat(sourceImageFilePath)
basename = os.path.basename(sourceImageFilePath)
year = str(time.gmtime(modifiedStat[stat.ST_CTIME])[0])
targetFileDir = targetDir + "/" + year + "/" + rollName

if not os.path.exists(targetFileDir):
print "Directory did not exist - Creating: %s" % targetFileDir
if copyImg:
os.makedirs(targetFileDir)

targetFilePath = targetFileDir + "/" + basename
iPhotoFileIsNewer = False

if os.path.exists(targetFilePath):
targetStat = os.stat(targetFilePath)

#print "modified: %d %d" % (modifiedStat[stat.ST_MTIME], modifiedStat[stat.ST_SIZE])
#print "target : %d %d" % (targetStat[stat.ST_MTIME], targetStat[stat.ST_SIZE])

#why oh why is modified time not getting copied over exactly the same?
if abs(targetStat[stat.ST_MTIME] - modifiedStat[stat.ST_MTIME]) > 10 or targetStat[stat.ST_SIZE] != modifiedStat[stat.ST_SIZE]:
iPhotoFileIsNewer = True
else:
iPhotoFileIsNewer = True

if iPhotoFileIsNewer:
msg = "copy from:%s to:%s" % (sourceImageFilePath, targetFilePath)
if copyImg:
print msg
shutil.copy2(sourceImageFilePath, targetFilePath)
else:
print "test - %s" % (msg)
else:
sys.stdout.write(".")
sys.stdout.flush()

albumDataDom.unlink()

[Lire la suite →]

Tags: IT · apple · fr

Mac OS 10.5 & 10.6 : accent manquant dans Helvetica et Helvetica Neue

30.03.2010 17:50 · Aucun Commentaire

Sur Leopard et Snow Leopard, les polices systèmes sont restaurées dès qu’on essai de les supprimer.

Ainsi il est sacrément embattant de remplacer les polices Helvetica et Helvetica Neue qui ont pourtant le défaut majeur de ne pas intégrer les accents Français lorsqu’on exporte au format PDF à partir d’Adobe InDesigne, Photoshop, Illustrator…

J’ai trouvé sur la doc fournie par Extensis Universal Type Client (version réseau de Suitecase) une procédure permettant de les supprimer afin de pouvoir enfin les gérer via notre logiciel de gestion des polices :

  1. Ouvrir une session où l’utilisateur est Administrateur sur le Mac concerné
  2. Ouvrir le livre des polices
  3. Choisir “Livre des polices” > “Préférences
  4. Désactiver “M’avertir si les polices système changent
  5. Copier le dossier suivant vers un endroit où il sera en sécurité :
    /System/Bibliothèque/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.Framework/Versions/A/Resources/ProtectedFonts
    note : ne jamais supprimer votre copie de sauvegarde du dossier “ProtectedFonts“, pour le cas où vous auriez besoin de ces polices dans le futur
  6. Ouvrir le dossier ProtectedFonts original et y supprimer Helvetica et HelveticaNeue
  7. Entrer un login administrateur lorsqu’il le demande
  8. Ouvrir /System/Bibliothèque/Fonts et y supprimer Helvetica et HelveticaNeue
  9. Ouvrir votre gestionnaire de police (Extensis dans notre cas) et activer EN PERMANENCE vos versions d’Helvetica et Helvetica Neue
  10. Redémarrer votre ordinateur

extensis_helvetica

Explications : le contenu du dossier ProtectedFonts de Leopard et Snow Leopard assure que les polices qui s’y trouvent ne soient jamais supprimé du dossier /System/Library/Fonts . En effet il les restaure aussi vite qu’on essai de les supprimer. Ayant rencontré plusieurs Mac inutilisable après l’effacement de polices du système avant la version 10.5, je suis très content qu’une telle sécurité empêche les graphistes de faire du ménage eux-même.

Malheureusement, il vaudra tout de même qu’une police Helvetica et Helvetica Neue soit toujours disponible (grâce au gestionnaire de police utilisé), sinon le fonctionnement du système n’est pas assuré

[Lire la suite →]

Tags: IT · apple · fr

Mac OS X : comment ajouter manuellement une imprimante Windows partagée

17.03.2010 19:16 · 1 Commentaire

Ajouter une imprimante Windows sur Mac est très simple quand on peut parcourir les workgroup. Mais lorsque le listage ne fonctionne pas pour quelque raison que ce soit… on est bien embêtée !

Il existe en fait un bouton “Options avancée…” que l’on peut ajouter dans la barre de menu qui permet d’accomplir un ajout manuel. Tout est très bien expliqué sur le site du support d’apple

Mac OS X v10.5 ou ultérieur

  1. Choisissez Préférences Système à partir du menu Apple.
  2. Choisissez Imprimante & Fax à partir du menu Présentation.
  3. Cliquez sur le bouton + pour ajouter une imprimante.
  4. Appuyez sur la touche Contrôle tout en cliquant sur l’icône « Par défaut » (ou toute autre icône de la barre d’outils), puis choisissez Personnaliser la barre d’outils à partir du menu contextuel qui apparaît.
  5. Faites glisser l’icône Options avancées (l’engrenage) dans la barre d’outils.
  6. Cliquez sur Terminé.
  7. Cliquez sur l’icône Options avancées, ajoutée à la barre d’outils.
  8. Choisissez Windows dans le menu contextuel Type.
  9. Dans le champ URL, saisissez l’adresse de l’imprimante suivant l’un des formats ci-dessous :smb://groupe_de_travail/serveur/nom_de_partage
    smb://serveur/nom_de_partage/

[Lire la suite →]

Tags: IT · Server · apple · fr · network · windows

Déplacer Bibliothèque iTunes

06.01.2010 16:26 · 1 Commentaire

Dans les préférences d’iTunes on peut changer l’emplacement où sont stockés les “medias”. Mais finalement ça ne déplace pas l’emplacement où sont stockées les applications ou les sauvegardes de l’iphone.

Si comme nous votre dossier “Mes documents” est limité en espace, cela pose un gros soucis.

L’astruce trouvée ici consiste à :

  • D’abord, fermez iTunes.
  • Ensuite faites votre plus beau couper / coller du dossier iTunes (celui de la bibliothèque pas le programme hein ) vers l’emplacement de votre choix, pour moi une autre partition.
  • Lancer iTunes depuis l’exécutable tout en maintenant SHIFT gauche enfoncé.

Chez nous c’est le dossier Mes Documents\Musique\itunes  au complet que nous avons déplacé vers c:\itunes puis dans les préférences d’itunes nous avons indiqués que les “Médias” doivent être stockés dans c:\itunes\itunes media

[Lire la suite →]

Tags: IT · apple · fr · windows

Contacts Gmail sur votre carnet d’adresse Mac

22.06.2009 14:54 · Aucun Commentaire

Quand on a un iphone/ipod touch ou qu’on a appliqué l’astuce pour activer la synchro gmail on peut utiliser la fonctionnalité de synchronisation des contacts avec GMail.

Malheureusement elle ne se synchronise qu’à chaque synchro itunes. Autant dire jamais si vous n’avez pas d’iPhone ou iPod. Il existe tout de même une commande pour la lancer manuellement à partir du terminal :

/System/Library/PrivateFrameworks/GoogleContactSync.framework/Versions/A/Resources/gconsync –sync com.google.ContactSync –syncmode pullthetruth

Avec cette commande, GMail aura toujours la priorité sur les infos du carnet d’adresse. Cela vous évitera de faire la grave erreur que j’ai faite, j’ai lancé la commande inverse, celle qui remplace le contenu des contacts gmail par votre carnet d’adresse (qui était vide dans mon cas).

/System/Library/PrivateFrameworks/GoogleContactSync.framework/Versions/A/Resources/gconsync –sync com.google.ContactSync –syncmode fast

Il ne reste plus qu’à programmer votre Mac pour lancer automatiquement cette commande toutes les heures, mais avec le mode “refresh”, afin d’avoir une vrai synchro :

crontab -e

et dedans; afin d’excuter à toutes les heures piles notre commande, on y met :

0 * * * * /System/Library/PrivateFrameworks/GoogleContactSync.framework/Versions/A/Resources/gconsync --sync com.google.ContactSync --syncmode refresh --username login@gmail.com --password votre_mot_de_passe

Malheureusement j’ai du inclure le username et le password en claire parce que le crontab ne savait pas le récupérer dans le trousseau :

“2009-06-22 15:00:00.442 gconsync[852:613] failed to retrieve from keychain”

[Lire la suite →]

Tags: IT · apple · fr

Convertir tous les noms au format Windows

14.06.2009 00:03 · 7 Commentaires

Copier un dossier entier de mac vers pc devient vite un calvaire, en effet la copie est interrompue toutes les secondes pour prévenir qu’un nom de fichier est trop long.

En réalité le problème n’est pas la longueur mais des caractères spéciaux qui sont refusé par windows comme ? * / \ :…. etc

Voici une solution parmi d’autres pour renommer d’un coup tout le contenu d’un dossier. Je l’avais trouvé il y a 2 ans à cette adresse. En tout cas cela fonctionne parfaitement :

Créer un fichier mac2win.pl dont le contenu est :

#!/usr/bin/perl -w

# This script renames all the files supplied as command-line args
# where necessary so that the filename is acceptable to MS Windows
# Cameron Hayne (macdev@hayne.net), June 2004

use strict;

chomp(@ARGV = <STDIN>) unless @ARGV;

# The Microsoft document at
# http://support.microsoft.com/default…b;EN-US;100108
# says that the following characters are not allowed in filenames
# in each of the specified filesystems:
# FAT:   .  “  /  \  [  ]  |  :  ;  ,  =
# NTFS:  ?  “  /  \  <  >  |  :  *

# We don’t do anything with the dot (.) since it clearly is allowable
# in spite of what that document says.
# And we don’t do anything with the slash (/) since that character
# will not occur in OS X filenames and modifying it would cause
# troubles when a file path (with directories) is specified.
# The changing of the filenames is done via the ‘tr’ statements below.
# Each occurence of a character in the first curly brackets
# is replaced by the character in the second curly brackets.

foreach my $filename (@ARGV)
{
my $orig_filename = $filename;

$filename =~ tr{\\}{-};
$filename =~ tr{*?}{X};
$filename =~ tr{“><[]|:;,=}{_};

unless ($filename eq $orig_filename)
{
print “About to rename $orig_filename to $filename\n”;
if (-e $filename)
{
print “Oops, there already exists a file named $filename\n”;
print “Skipping the rename – you will have to do it manually\n”;
}
else
{
rename($orig_filename, $filename);
}
}
}

Puis en ligne de commande (dans le terminal donc) :

find /monrep | /rep/mac2pc.pl


Et voila, tous les fichiers sont renommés !

Malheureusement ce script ne remplace pas les / , il ne reste que cela à corriger. Et malheureusement il est très utilisé par les dates.

[Lire la suite →]

Tags: IT · Server · apple · fr · windows

Nettoyer les fichiers mac cachés sur un partage Windows

13.06.2009 23:53 · 1 Commentaire

La copie et le déplacement de dossiers sur nos serveurs Windows sont un vrai cauchemard à cause des nombreux fichiers caché de mac. Ceci commencent par un point (les dot files).

Je me connecte alors avec mon mac à un lecteur partagé sous windows. Et je lance la commande suivante pour me débarrasser de tous d’un coup :

find /Volume/nom-partage -name “.*” -delete

C’est radicale. Mais aucun fichier commençant par un point n’est nécessaire. On peut imaginer que parfois un .htaccess était important, mais pas dans les cas qui me concernent. On peut toujours faire une recherche avant :

find /Volume/nom-partage -name “.htaccess”

[Lire la suite →]

Tags: IT · Server · apple · fr · windows