Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Synchroniser un iPhone 3g et 3gs sous ubuntu via iFuse et gtkPod

Pour l'iPhone 3gs et l'iPhone 3g, fonctionne 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.

Marche également pour l'Ipod touch et iPhone 2G
pour l'instant synchroniser des vidéos est impossible

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 dernière supporte les pochettes d'albums et utilise Rhythmbox, qui est installé par défaut avec Ubuntu. 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 :

  1. Important : A l'aide d'un ordinateur sous Windows avec iTunes, ajouter au moins une chanson dans l'iPhone avec 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 sur d'être connecté à Internet
  • Ouvrez le gnome-terminal avec Applications→Accessoires→Terminal
  • Copiez/collez les lignes suivantes dans la console gnome-terminal :
sudo add-apt-repository ppa:pmcenery/ppa; sudo apt-get update; sudo apt-get install 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; sudo su -c "echo user_allow_other >> /etc/fuse.conf"
  • On vous demandera confirmation. Tapez "o" et la touche Entrée. Cela prend environ 3 minutes avec une connexion large bande
Cela va installer la derniere version de fink fuse, "fusepod" et la rendre utilisable par les utilisateurs normaux ( non-root )
  • Fermez votre session Ubuntu (en haut à droite de l'écran). 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 "Annuler"
  • Ouvrez le gnome-terminal avec Applications→Accessoires→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/"
Il vous sera demandé le nom de votre iPod Touch/iPhone. Il faut mettre le même nom que l'icône sous lequel apparait votre iPhone sur le bureau
  • Déconnectez vous de votre session une dernière fois puis reconnectez vous
  • lancez RythmBox 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
Si votre iPhone n'apparait pas à gauche, essayez d'y accéder en cliquant sur son icône sur le Bureau, et en cliquant sur "Ouvrir Rhythmbox"
Si vous avez des problèmes, essayez de redémarrer votre iPhone. Si cela ne suffit pas, regardez les commentaires sur http://fatbuttlarry.blogspot.com/2010/01/ipod-touch-iphone-3g-ubuntu-910-in-5.html ( blog en anglais ).

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)

Les procédures qui suivent utilisent des logiciels en developement. Des bugs peuvent survenir

Installation de iFuse

Pour la Karmic, on peut directement taper:

sudo add-apt-repository ppa:pmcenery/ppa && sudo apt-get update

Sur les versions d'Ubuntu 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 suivante (trouvée par Sébastien MANSFELD :-)) :

sudo apt-get update 2>&1 > /dev/null | awk '/PUBKEY/{print $NF}' | xargs sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com

Maintenant, mettez à jour vos depôts. Dans un terminal:

sudo apt-get update

Installez les paquets suivant, dans un terminal:

sudo apt-get install ifuse
sudo apt-get install 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 verifiez que usbmuxd est actif en tapant dans un terminal:
ps ax | grep usbmuxd

Si usbmuxd est actif, vous aurez la reponse 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 differents 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.
sudo gedit /etc/fuse.conf

Et 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.

Votre iphone sera maintenant accessible en tapant dans un terminal: Pour le montage
ifuse /media/iphone

Pour le démontage

fusermount -u /media/iphone

Compilation de la librairie libgpod4 nécessaire à la synchronisation

  • Installez les paquets suivants:
sudo apt-get install 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
  • Conflit possible

Pour eviter tout conflit avec une ancienne version de libgpod:

sudo apt-get remove 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: - a 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 ( vous pourrez le désinstaller plus tard en faisant dpkg -r libgpod4)

  • Connectez votre iphone et montez le:
ifuse /media/iphone
  • Créer le répertoire suivant
mkdir /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éé le fichier /media/iphone/iTunes_Control/Device/SysInfoExtended contenant des informations au format XML.

  • Pour synchroniser votre musique, vos photos et vos vidéos, il faudra utiliser le logiciel gtkpod, avec compilation.
  • D'abord les dépendances:

Karmic

sudo apt-get install flex libglade2-dev libid3tag0-dev

Jaunty

sudo apt-get install flex libglade2-dev libid3tag0-dev libmp4v2-0 libmp4v2-dev libmp4-info-perl 
  • 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
  • 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
    sudo add-apt-repository ppa:pmcenery/ppa
    sudo apt-get update
    sudo apt-get install ipheth

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 reseau est cree.

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 appele un nouveau fichier de config contenant la definition 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 cà 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
  • synchroniser_un_iphone_3g_3gs_a_ubuntu.1271259222.txt.gz
  • Dernière modification: Le 18/04/2011, 14:56
  • (modification externe)