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.
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 : http://fatbuttlarry.blogspot.com/2010/01/iPod-touch-iPhone-3g-ubuntu-910-in-5.html
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 http://www.webupd8.org/2010/01/easy-way-to-sync-your-iPhone-with.html (en anglais aussi)
Deuxième Méthode
Installation de iFuse
Pour Ubuntu 9.10 et suivant
Il faut ajouter le dépôt ci-dessous, puis recharger la liste des paquets :
sudo add-apt-repository ppa:pmcenery/ppa
Pour Ubuntu 9.04 et antérieures
Ajouter le dépôt PPA de pmcenery via les deux commandes suivantes :
echo "deb http://ppa.launchpad.net/pmcenery/ppa/ubuntu `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list echo "deb-src http://ppa.launchpad.net/pmcenery/ppa/ubuntu `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list
Puis mettre à jour la liste des clé fiables via la commande suivante3) :
sudo apt-get update 2>&1 > /dev/null | awk '/PUBKEY/{print $NF}' | xargs sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com
Maintenant, rechargez la liste des paquets.
Installez les paquets ifuse et libiPhone-utils.
Ceci installera usbmuxd, qui est nécessaire pour permettre à votre système de communiquer avec votre iPhone. Cela installera aussi ifuse qui vous permettra de monter votre iPhone.
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
Compilation de la librairie libgpod4 nécessaire à la synchronisation
- Installez les paquets suivants: git-core autoconf libtool libglib2.0-dev intltool gtk-doc-tools sqlite3 libsqlite3-dev zlib1g-dev libxml2-dev checkinstall libiPhone-dev libgtk2.0 libgtk2.0-dev , ou cliquez sur ce lien pour tout installer en une fois.
- Conflit possible : Pour éviter tout conflit avec une ancienne version de libgpod, supprimez le paquet libgpod-common.
- Compilation : Tapez les lignes suivantes successivement dans un terminal:
git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/libgpod cd libgpod git checkout CFLAGS="-g -O0" sh autogen.sh --prefix=/usr make sudo checkinstall
A partir de là, le programme vous posera plusieurs questions:
- à la question “Should I create a default set of package docs ?” ; appuyez juste sur entrée
- ensuite entrez une description (« Libgpod4_SVN » par exemple), et appuyez sur entrée, puis une seconde fois sur entrée sur la nouvelle ligne pour terminer la description
- ensuite éditez le nom du paquet en tapant 2 et validez avec entrée. Tapez « libgpod4 » et validez avec entrée
- ensuite faite le choix 11 et validez avec entrée. Écrivez libgpod4 encore une fois et validez avec entrée
- enfin faites le choix n°3 et validez avec entrée. Tapez le numéro de version soit 0.7.3 et validez avec entrée
- de retour sur la page de choix appuyez juste sur entrée sans aucun nombre pour créer et installer le paquet.4)
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, via compilation.
- D'abord les dépendances:
- La compilation : les commandes qui suivent sont à taper successivement dans un terminal.
git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/gtkpod cd gtkpod git checkout CFLAGS="-g -O0" sh autogen.sh --prefix=/usr make sudo checkinstall
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
Tethering USB
Il faut ajouter le dépôt ci-dessous, puis recharger la liste des paquets :
sudo add-apt-repository ppa:pmcenery/ppa
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 interface réseau est créée.
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 ça peut poser des problèmes, cf. http://chrispederick.com/work/user-agent-switcher/faq/) - 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.
Solution ?
Il se pourrait qu'on puisse outrepasser cette (future) mise à jour en effectuant quelques changements, mais uniquement avec un iPhone jailbreaké. En reprenant l'idée trouvée ici :
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
- [fr] Topic du forum Ubuntu-fr : http://forum.ubuntu-fr.org/viewtopic.php?id=364359&p=1
- [en] Marcansoft Blog - Part 1 : http://marcansoft.com/blog/2009/10/iPhone-syncing-on-linux/
- [en] Marcansoft Blog - Part 2 : http://marcansoft.com/blog/2009/10/iPhone-syncing-on-linux-part-2/
- [en] Blog de fatbuttlarry : http://fatbuttlarry.blogspot.com/2010/01/iPod-touch-iPhone-3g-ubuntu-910-in-5.html
Page créée par emris mise à jour par JeanMat ( première méthode)
Mise en forme : draco31.fr