Ceci est une ancienne révision du document !
Comment synchroniser un iPhone 3g et 3gs sous ubuntu ?
Pour l'iPhone 3gs et l'iPhone 3g, fonctionnant avec le firmware 3.0 à 3.1.3, il est possible de synchroniser ses musiques, ses photos et ses vidéos sous ubuntu en se passant de iTunes. Cette methode est utile pour les iPhone jailbreaké ou non.
iPhoneOS 4.0 semble ne pas être pris en charge.
Première méthode
La méthode qui semble la plus simple pour le premier venu. En effet elle ne nécessite pas de compilation, ce qui est parfois problématique. En outre il semblerait que certaines personnes rencontrent des problèmes avec la deuxième méthode. De plus cette méthode ne requiert pas de montage manuel de l'iPhone, ce dernier étant fait automatiquement, contrairement à la deuxième méthode. Enfin cette dernière supporte les pochettes d'albums et utilise Rhythmbox, qui est installé par défaut avec Ubuntu.
La synchronisation de vidéos est1) possible avec gtkpod, que vous pouvez soit installer depuis la logithèque, soit compiler comme dans la deuxième méthode pour avoir les dernières mises à jour.
La méthode est disponible ici.
Voici sa traduction française :
- Important : A l'aide d'un ordinateur sous Windows avec iTunes, ajouter au moins une chanson dans l'iPhone via iTunes. Cela créera la base de donnée de l'iPhone/iPod Touch nécessaire pour que le reste de ce tutoriel fonctionne,
- Soyez sûr d'être connecté à Internet,
- puis installez les paquets suivants : gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-dev libgpod-common libimobiledevice-utils libimobiledevice0 python-libimobiledevice libplist++1 libplist-utils python-plist libusb-1.0-0 libusb-1.0-0-dev libusbmuxd1 usbmuxd ou cliquez sur ce lien pour tout installer en un clic.
- Entrez la commande suivante dans un terminal :
sudo su -c "echo user_allow_other >> /etc/fuse.conf"
- Fermez votre session. Vous pouvez tout aussi bien redémarrer votre ordinateur.
- Reconnectez-vous sous Ubuntu,
- Connectez votre iPod Touch/iPhone. Il vous sera demandé plusieurs fois d'ouvrir l'iPod ; cliquez à chaque fois sur « Annuler »,
- Ouvrez un terminal,
- Créez le fichier
SysInfoExtended
sur le iPod/iPhone pour que des applications comme RhythmBox puissent l'utiliser, en copiant/collant les lignes suivantes dans la console :
sudo adduser "$USER" fuse echo -e "\n\nVeuillez entrer le nom de votre iPod:" read iPod_name mkdir -p "$HOME/.gvfs/$iPod_name/iTunes_Control/Device/" ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "$HOME/.gvfs/$iPod_name/"
- Déconnectez-vous de votre session une dernière fois puis reconnectez-vous,
- lancez RhythmBox via « Applications → Son et vidéo → RhythmBox ». Votre iPod devrait se trouver sur la gauche. Glissez/déposez les fichiers comme vous le feriez avec iTunes.
Avec KDE, il est possible de rencontrer des problèmes, essayez cette méthode (en anglais aussi).
Deuxième Méthode
Installation de iFuse
Préparation du système
- Connectez votre iPhone et vérifiez que usbmuxd est actif en tapant dans un terminal :
ps ax | grep usbmuxd
Si usbmuxd est actif, vous aurez la réponse suivante:
6822 ? S< 0:00 /usr/sbin/usbmuxd -u -U 21571 pts/0 S+ 0:00 grep usbmuxd
Les chiffres en début de ligne seront différents que ceux dans l'exemple ci-dessus.
- Maintenant, créez le point de montage pour votre iPhone, dans un terminal:
sudo mkdir /media/iPhone sudo chmod 777 /media/iPhone
- Modifiez ensuite le fichier de configuration de fuse
/etc/fuse.conf
, - changez la fin du fichier de:
#user_allow_other
en
user_allow_other
Sauvegardez et quittez.
- Ajoutez vous au groupe fuse.
usermod -aG fuse votre_login
Redémarrez votre machine. Ensuite, vérifiez que vous faites bien parti du groupe fuse en tapant dans un terminal:
id
Vous verrez alors les groupes auxquels vous appartenez, dont fuse
.
ifuse /media/iPhone
Pour le démontage
fusermount -u /media/iPhone
Installer le paquet libgpod4.
Préparation de l'iPhone
- Connectez votre iPhone et montez le :
ifuse /media/iPhone
- Créer le répertoire suivant :
mkdir -p /media/iPhone/iTunes_Control/Device/
- Obtenez le numéro de série de votre iPhone :
lsusb -v | grep -i iSerial
La commande vous retournera plusieurs informations dont une du type :
iSerial 3 fb9961044533cd317cb6f2bce3424c2771ae16d6
Le numéro de série qui nous intéresse est dans notre exemple: fb9961044533cd317cb6f2bce3424c2771ae16d6
- Entrez la commande dans un terminal :
ipod-read-sysinfo-extended votre_numéro_de_série /media/iPhone
Ceci va créer le fichier /media/iPhone/iTunes_Control/Device/SysInfoExtended
contenant des informations au format XML.
Installation de gtkpod
Pour synchroniser votre musique, vos photos et vos vidéos, il faudra utiliser le logiciel gtkpod.
Synchronisation
- Branchez et montez votre iPhone,
- Lancer gtkpod,
A la première utilisation, gtkpod vous demandera le modèle de votre appareil. il apparaitra ensuite dans l'arborescence, dans la fenêtre de gauche. A partir de là vous pourrez transférer votre musique, vos photos et vidéos sur l'iPhone. Une fois l'opération effectuée, enregistrez les modification. N'oubliez pas d'éjecter votre iPhone de gtkpod, puis de votre système en tapant dans un terminal :
fusermount -u /media/iPhone
Troisième méthode
Cette méthode, assez ancienne et non-vérifiée récemment à l'avantage de fonctionner sans cable USB, grâce au SSH, mais requiert un iPhone jailbreaké ainsi qu'un firmware <3.0
Update 15 Décembre 2009 : Il est désormais possible de synchroniser sa musique pour les firmware 3.x jailbreaké ou non !!! C'est encore en version alpha mais ca fonctionne : voir ce message dans le forum et Comment synchroniser un iPhone 3g et 3gs sous ubuntu ?

.
Le problème des firmware 2.X consiste en l'utilisation par l'iTunes de l'iPhone d'une base de données spécifique pour gérer la bibliothèque des musiques et vidéos de l'appareil. Selon que vous souhaitez ou non utiliser l'iPod de l'iPhone, deux solutions s'offrent à vous.
- si vous souhaitez utiliser les logiciels natifs de l'iPod de l'iPhone : il faut générer une nouvelle base de donnée qui soit compatible avec des applications linux (comme gtkPod ou Amarok). Avec cette méthode la synchronisation se fait de façon transparente sous le logiciel Linux choisi.
- si vous ne souhaitez pas utiliser l'iPod de l'iPhone : il vous suffit d'installer des logiciels de lecture alternatifs sur l'iPhone, par exemple dTunes (pour lire musique et vidéos), pwnPlayer (pour la musique uniquement) et Mplayer (pour musique et vidéo). Ces logiciels sont disponibles sous Cydia. Avec cette méthode, la "synchronisation" se fait manuellement en déposant les fichiers musiques/vidéos dans les répertoires adhoc de l'iPhone par connexion ssh.
Les manipulations suivantes on été testées sur iphone et ipod-touch jailbreakés pour tous les firmwares jusqu'au 2.2.1
Synchronisation avec l'iPod de l'iPhone
Nous expliquons ici comment synchroniser avec Amarok ou gtkPod. Ces deux logiciels permettent de synchroniser musiques, playlistes et vidéos entre votre PC et votre iPhone. Ils transfèrent tous les deux les jaquettes des albums et chansons déjà présents dans votre collection, mais ne gèrent pas les aperçus des vidéos (la faute en incomberait à l'iPod de l'iPhone).
Préparation de l'iPhone
Pré-requis
- Supprimer toutes les musiques et vidéos de l'iPhone avec iTunes pour éviter les conflits,
- Un iPhone jailbreaké,
- Installer openssh sur l'iPhone via cydia,
- Iphone connecté en wifi avec une ip fixe (soit en la fixant dans l'iphone soit en liant l'adresse mac de l'iphone à une adresse ip fixe dans votre routeur/box/etc.).
Se connecter en ssh sur l'iphone via la commande (mot de passe : alpine):
ssh root@adresse_ip_de_l'iphone
Il est possible que la clé SSH ne soit plus valide (mise à jour du firmware, …), il vous faudra donc régénérer celle-ci pour que la connexion puisse être faite :
ssh-keygen -R adresse_ip_de_l'iphone
Effacez l'ancienne base de donnée de l'iPhone :
rm /private/var/mobile/Media/iTunes_Control/iTunes/iTunesDB
rm /private/var/mobile/Media/iTunes_Control/iTunes/iTunesDB.ext
Changez la base de donnée pour une version compatible Linux en éditant le fichier /System/Library/Lockdown/Checkpoint.xml de l'iphone
pico /System/Library/Lockdown/Checkpoint.xml
ou
nano /System/Library/Lockdown/Checkpoint.xml
selon l'éditeur texte installé sur l'iPhone.
Trouvez la clé "DBVersion" et changez sa valeur de 4 à 2.
Déconnectez le ssh.
Vous disposez maintenant d'un iPhone sans contenu multimédia et dont la base de donnée est synchronisable avec des logiciels Linux.
Préparation de Ubuntu
Dès lors que votre iPhone dispose d'un serveur SSH, vous pouvez vous y connecter de manière transparente sous Ubuntu. Nous vous proposons ici d'utiliser ipod-convenience qui permet de monter et démonter le contenu de votre iPhone dans un répertoire média de votre installation Ubuntu.
deb http://ppa.launchpad.net/ipod-touch/ubuntu gutsy main
Pensez à mettre à jour la liste des logiciels pour pouvoir installer ipod-convenience.
Installez le paquet ipod-convenience. Pendant l'installation l'assistant de configuration va demander de renseigner les paramètres de montage :
- l'adresse IP de l'iphone (ou l'alias que l'on a configuré précédemment),
- le point de montage : celui-ci est un dossier qui va être créé pour recevoir l'iPhone. Indiquez par exemple /media/iphone
Branchez votre iphone sur une prise USB, ceci est nécéssaire pour générer le hash (ou firewireGUID) utilisé par la base de données iTunes. Si nécessaire, ajoutez vous au groupe fuse, déconnectez vous, puis reconnectez vous.
Vous pouvez désormais connecter et déconnecter votre iphone depuis un terminal avec les commandes suivantes (mot de passe : alpine ):
iphone-mount
iphone-umount
Votre iphone est alors monté sur /media/iphone
la commande 'iphone-mount' affiche une erreur et rien ne se produit :
ssh: : Name or service not known
Ceci est un bug connu sur la dernière version de ipod-convenience.
En attendant le patch il suffit d'éditer le script :
sudo gedit /usr/bin/iphone-mount
Puis remplacer la ligne 66 :
if ssh root@192.168.6.136 test -d /var/mobile; then
Par :
if ssh root@$IPADDRESS test -d /var/mobile; then
Se connecter en ssh à l'iPhone :
ssh root@<device ip>
Entrer le mots de passe dottie si il est en version 1.1.0 et alpine si il est en version 1.1.1 ou supérieur
Tapez ensuite les commandes suivantes
chmod 0755 ~ ~/.ssh
chmod 0644 ~/.ssh/*
nano /etc/ssh/sshd_config
Cherchez la partie commençant par #RSAAuthentication et modifiez la en enlevant tout les « # ».
Code :
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
Faites CTRL+O pour sauvegarder puis CTRL+X pour quitter.
Pour ceux qui n'ont pas d'éditeur de texte convivial, sed suffira pour enlever ce « # ». Exécutez les commandes suivantes (sans oublier le "." juste avant "&&"):
cp /etc/ssh/sshd_config sshd_config.bak
cp /etc/ssh/sshd_config . && sed "s/#RSAAut/RSAAut/g" sshd_config > /etc/ssh/sshd_config
cp /etc/ssh/sshd_config . && sed "s/#PubkeyAut/PubkeyAut/g" sshd_config > /etc/ssh/sshd_config
cp /etc/ssh/sshd_config . && sed "s/#Authorized/Authorized/g" sshd_config > /etc/ssh/sshd_config
Tapez ensuite :
reboot
Votre iPhone redémarre tout seul.
Maintenant quand vous tapez :
ssh root@<device ip>
la connexion doit se faire sans demander de mot de passe.
Avec Amarok
Ouvrez Amarok, cliquez sur le menu "Configuration > Configurer Amarok".
- Ouvrez l'icône "Périphérique de média",
- Cliquez sur "Ajouter un périphérique",
- Selectionnez ensuite "Périphérique de média Apple iPod",
- Entrez "iphone" comme nom de périphérique,
- Entrez "/media/iphone" comme point de montage.
La liste de lecture de votre iPhone doit maintenant apparaître dans l'onglet "Périphérique" de Amarok. Si vous avez utilisé la méthode avec ipod-convenience ( Lien à mettre à jour) vous pouvez ajouter "iphone-mount" à la commande de pré-montage et "iphone-umount" à la commande de pré-déconnexion. Précisez le modèle de l'appareil : toujours dans l'onglet "Périphériques", cliquez sur le menu "iPod > Définition du modèle de l'iPod > Mobile Phones > iPhone".
Vous pouvez maintenant monter votre iPhone directement sous Amarok dans l'onglet Périphériques, puis synchroniser vos médias.
Comme Amarok ne permet pas l'édition des tags des vidéos mp4, les vidéos apparaitront toutes sous l'intitulé "untitled" dans l'iPod de l'iPhone. Afin de modifier les tags auteur, titre et album des fichiers vidéos, vous pouvez par exemple utiliser easytag avant le transfert vers l'iPhone.
Avec gtkPod
Montez l'iPhone dans un terminal avec la commande iphone-mount (voir précédemment Lien à mettre à jour) puis ouvrez gtkPod. Lors du premier lancement, celui-ci génére automatiquement une nouvelle base de données sur votre iPhone.
- Ouvrez ensuite le menu "Édition > Préférences",
- Dans l'onglet "Général" cliquez sur "Définir le point de montage …",
- Notez le point de montage "/media/iphone",
- Spécifiez un endroit de sauvegarde pour iTunesDB.,
- Spécifiez le modèle : iPhone.
Vous pouvez maintenant synchroniser vos médias avec gtkPod. À la différence d'Amarok, gtkPod permet non seulement la synchronisation des photos mais aussi l'édition des tags mp4 videos qui apparaitront sous l'iPod de l'iPhone,
Maintenant vous pouvez utiliser votre iPhone sous Ubuntu avec gtkPod et Amarok mais ne réutiliser pas iTunes après sous peine de devoir recommencer la manipulation.
Synchronisation manuelle de l'iPhone
Avec cette méthode, vous déposez vos fichiers multimédias par ssh dans l'arborescence de l'iPhone. Votre musique et vos vidéos ne sont plus accessibles par l'iPod de l'iPhone et vous devez utiliser d'autres logiciels iPhone pour les lire.
Si vous avez suivi la méthode ipod-convenience (voir ci-dessus), l'arborescence de votre iPhone est accessible par votre navigateur de fichier dans /media/ipod/.
dTunes
dTunes est disponible via Cydia. Il permet de lire musiques et vidéos qui sont stockées dans le répertoire /var/mobile/Library/Downloads de l'iPhone.
- Installez dTunes sur l'iPhone jailbreaké via Cydia,
- Montez l'iPhone avec ipod-convenience (cf plus haut pour le tuto),
- Copiez vos musiques sur l'iPhone dans le dossier /var/mobile/Library/Downloads comme sur une clé USB et utilisez dTunes pour les lire.
pwnPlayer
pwnPlayer ne permet que de lire la musique pour le moment. La marche à suivre est similaire à celle de dTunes.
- Installez pwnPlayer sur l'iPhone jailbreaké via Cydia et configurez le pour utiliser les musiques situées dans /private/var/mobile/Media/Musiques,
- Montez l'iPhone avec ipod-convenience (cf plus haut pour le tuto),
- Copiez vos musiques sur l'iPhone dans le dossier Musiques comme sur une clé USB et utilisez le logiciel pwnPlayer pour les lire.
Attention : pwnPlayer n'est plus maintenu.
Mplayer
MPlayer est disponible via Cydia. Il supporte les formats mpeg4, h.264, wmv, mp3, aac, wma et real media et s'installe de façon similaire aux deux logiciels précédents. Les fichiers doivent être stockés dans le répertoire /private/var/media.

Tethering USB
Partage de la connexion Internet du téléphone portable avec un PC (sans connexion Internet) via son cordon USB.
Installation de ipheth-utils (jusqu'à Ubuntu Lucid)
Il faut ajouter le dépôt PPA de Paul McEnery 3), puis recharger la liste des paquets ou copier/coller la ligne de commande suivante dans une fenêtre de Terminal :
sudo add-apt-repository ppa:pmcenery/ppa && sudo apt-get update -qq
Installation de ipheth-utils (a partir de Ubuntu Maverick)
Ce paquet est déjà présent dans le dépôt Universe, il suffit d'activer ce dépôt et d'installez le paquet apt://ipheth-utils.
Mise en oeuvre
Brancher votre iPhone en ayant activé avant le partage de connexion sur l'iPhone.
Pour vérifier que le module est charge, tapez :
lsmod | grep ipheth
Normalement, une nouvelle interface réseau est créée.
ifconfig
Puis sur vôtre iPhone, aller dans "Paramètres⇒Général⇒Réseau⇒Partage de connexion" et l'activer.
Si "Partage de connexion" n'apparait pas, se rendre sur http://help.benm.at avec vôtre iPhone et cliquer sur “Tethering”, et sélectionner vôtre pays et la porteuse de vôtre mobile.
Ne pas oublier d'installer User Agent Switcher pour firefox, puis redémarrer Firefox et choisir iPhone 3.0 dans l'onglet Outils de "User Agent Switcher".
Pour que le "User Agent" soit positionné dès l'ouverture de Firefox, plusieurs solutions:
- soit le définir au niveau global (c.a.d appeler un nouveau fichier de config contenant la définition en Javascript du UserAgent iPhone 3.0 via un "
general.config.filename
" dans le fichier "/usr/lib/firefox-<VERSION>/greprefs/all.js
") - soit dans "
about:config
", définir le boolean "useragentswitcher.reset.onclose
" a "false
" (mais celà peut poser des problèmes d'après l'auteur du module sur son site) - soit creer un fichier "
user.js
" dans le profile Firefox de la maniere suivante:
echo 'user_pref("general.appname.override", "Netscape");' >> user.js echo 'user_pref("general.appversion.override", "5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");' >> user.js echo 'user_pref("general.platform.override", "iPhone");' >> user.js echo 'user_pref("general.useragent.appName", "Mozilla");' >> user.js echo 'user_pref("general.useragent.override", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");' >> user.js echo 'user_pref("general.useragent.vendor", "Apple Computer, Inc.");' >> user.js echo 'user_pref("general.useragent.vendorSub", "");' >> user.js
iPhone OS 4.0
Il semblerait que ces méthodes ne fonctionnent pas avec l'iPhoneOS 4.0. Ce dernier est encore en phase de test, mais il sera bientôt disponible pour le public. Apple aurait en fait changé le hash de la base de données. Évitez par conséquent l'installation de l'iPhoneOS 4.0 si vous tenez absolument à utiliser ces alternatives à iTunes.
L' iOS 4 est sorti, la technique fonctionne toujours ! (Testé avec iOS 4.01, iPhone 3Gs)
Ça ne marche pas avec la dernière version de IOS 4
La dernière version d'ipheth inclue le support de l'iPhone 4 et ça fonctionne parfaite avec iOS 4.2.1 (dernière version).
Il est également possible de lire la musique avec Amarok (du moins sous KDE) moyennant quelques subtilités donné dans ce sujet du forum.
Solution ?
Avec un iPhone jailbreaké : Par SSH, modifier le fichier /System/Library/Lockdown/Checkpoint.xml, y trouver la clef DBVersion, et la ramener à 4, utilisant ainsi la version de base de donnée compatible avec Rhythmbox & co, utilisée par l'iPhoneOS 3.1.2.
Liens
Page créée par emris, mise à jour par JeanMat ( première méthode), retravaillée par TheCameleon
Mise en forme : draco31.fr