ubuntu-fr

Communauté francophone des utilisateurs de Kubuntu

[[iphone]]

Piste: » iphone


iPhone

Cette page est pour l'instant une page de travail, destinée à partager des informations et résultats d'expériences qui pourront permettre d'utiliser l'iPhone avec Ubuntu, une fois toutes les informations nécessaires trouvées.
Elle est pour l'instant un condensé de ce que j'ai pu trouver avec mon iPhone et mon installation d'Ubuntu.
Si ces informations vous permettent d'améliorer la page dans le but de trouver le moyen d'utiliser au maximum les possibilités de l'iphone avec ubuntu, ou que vous avez des informations supplémentaires à ajouter pouvant être utiles, votre contribution est la bienvenue !

Synchronisation d'un iPhone (3G) avec iTunes installé sous ubuntu

En attendant de trouver des solutions à la rétrocompatibilité (totale) avec ubuntu la méthode la plus sûre et qui permet de tout faire avec son iPhone (ou iPhone 3G) reste d'installer iTunes: Une page vous explique comment faire ici. La dernière version d'iTunes (8.0.1) fonctionne parfaitement dans VirtualBox (2.0.4)

Importer les photos de l'iPhone sur votre PC

En connectant, l'iPhone sur le port USB du PC, si des photos sont présentes dans l'appareil, Ubuntu vous propose de les importer (comme tout autre appareil photo numérique) en utilisant gThumb.

On voit alors que l'appareil est bien reconnu sous « Apple iPhone (PTP mode) »

Simple comme Ubuntu ;-)

Jailbreak

Malheureusement, avec votre iPhone tout beau tout neuf sorti de chez Orange, l'import des photos de l'appareil vers votre PC est la seule chose que vous pourrez faire. :-(

Pour accéder à une utilisation plus poussée de l'iPhone sous Ubuntu (et donc aux fonctionnalités les plus importantes comme synchroniser votre musique comme avec un autre iPod…), vous devrez « faire sauter » le verrouillage mis en place par Apple sur la partie logicielle de l'appareil, afin d'installer des applications supplémentaires comme un serveur SSH etc.

LÉGALITÉ OU NON DU JAILBREAK ?

Nous ne vous expliquerons pas ici cette procédure appelée « Jailbreak » - ou en français « Sortir de prison » - car ceci peut être considéré comme illégal.

Cependant, si on étudie la loi DADVSI, celle-ci nous dit qu'il est interdit de contourner des verrouillages mis en place par les éditeurs (donc ici Apple) sauf pour assurer l'interopérabilité (ce qui est notre cas avec Ubuntu). (ceci est un résumé, pas une citation pure et simple)

Apple indique que l'appareil iPhone ne fonctionne qu'avec iTunes sur les systèmes d'exploitation MacOs ou Windows.
On peut alors dans notre cas, considérer le Jailbreak comme un moyen nécessaire pour assurer l'interopérabilité de l'iPhone avec Ubuntu.

Ceci n'est pas une information officielle mais mon interprétation de la loi.

_Enchained.

Le Jailbreak consiste à modifier le firmware de l'appareil dans le but de pouvoir installer des logiciels tiers (non-fournis par Apple).

Le jailbreak de votre iPhone se fait sous votre responsabilité et annule n'annule absolument pas la garantie logicielle de l'appareil. A condition de revenir à la configuration logicielle de base en restaurant l'iPhone depuis iTunes. Il faut pour cela avoir déjà synchronisé une fois l'iPhone avec iTunes.

Vous pouvez jetez un œil aux sites Forum SOSiPhone pour firmware 1.x, Forum SOSiPhone pour firmware 2.x et http://www.frenchiphone.com qui indiquent pas mal de petites astuces, dont la procédure à suivre pour Jailbreaker votre iPhone.

Ubuntu communique avec l'iphone

Ces manipulations on été testées avec un iPhone fournis par Orange. Testé à l'origine avec le firmware 1.1.2 et plus récemment avec le firmware 1.1.4.

Pré-requis

  • Un iPhone Jailbreaké (voir remarque plus haut)
  • Une connexion Wi-Fi

Configurer le Wi-Fi de l'iphone

Il faut d'abord que la connexion Wi-Fi de l'iPhone aie toujours la même adresse IP.

Vous pouvez donc soit fixer une IP statique à votre téléphone, ou alors spécifier une IP à réserver pour l'iPhone à votre serveur DHCP, ce qui fait que le DHCP attribuera toujours cette adresse à votre iPhone (Ceci se gère dans la configuration de votre routeur/box/etc.)

Pour spécifier une IP fixe sur l'iPhone, ouvrez le menu Réglages → Wi-Fi → {votre réseau wifi}.

Appuyez sur la flèche bleue de votre réseau puis allez dans l'onglet « Statique ». Appuyez sur « Adresse IP » et attribuez lui une adresse IP de votre réseau (comme ici : 192.168.1.4). Les autres champs doivent déjà être remplis, il n'est donc pas nécessaire de les modifier.

Pour utiliser le DHCP tapez sur l'onglet DHCP pour connaître l'adresse IP que le DHCP vous a attribué.

La meilleure méthode est alors de réserver une adresse IP pour votre iPhone sur votre serveur DHCP.
Pour ce faire, rendez vous dans la configuration de votre routeur ou "box" (Livebox, Freebox etc.) et référez vous à sa documentation pour savoir comment faire.
Le principe est d'associer une adresse IP à « l'adresse MAC » de votre iPhone.
Vous trouverez cette adresse MAC dans le menu Réglages → Général → Informations. Il s'agit du paramètre Adresse Wi-Fi.

Vérification du fonctionnement du Wi-Fi

Sur l'iPhone, vous devez avoir l'icone Wi-Fi à coté du nom de réseau GSM au lieu du E du réseau Edge (Internet par GSM). Ouvrez une page web avec Safari. Si tout s'affiche bien, l'iphone accède bien au Wi-Fi :

Sur votre PC, ouvrez un terminal (ou une console) et faites un « ping » sur l'adresse IP de l'iPhone :

ping 192.168.1.4 -c 4
le -c 4 permet de n'effectuer que 4 requêtes PING

Si la commande vous renvoie quelque chose comme ce qui suit, votre PC communique par Wi-Fi avec votre iPhone !

PING 192.168.1.4 (192.168.1.4) 56(84) bytes of data.
64 bytes from 192.168.1.4: icmp_seq=1 ttl=64 time=79.9 ms
64 bytes from 192.168.1.4: icmp_seq=2 ttl=64 time=104 ms
64 bytes from 192.168.1.4: icmp_seq=3 ttl=64 time=27.6 ms
64 bytes from 192.168.1.4: icmp_seq=4 ttl=64 time=48.4 ms

--- 192.168.1.4 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 27.604/65.200/104.876/29.523 ms

L'iPhone répond au ping.

Néanmoins l'iPhone désactive le wifi lorsque celui-ci est en veille, vous pouvez alors enlever le verrouillage auto : Sur l'iPhone, menu "Réglages > Général > Verrouillage auto. > jamais" (Attention à l'économie d'énergie).

FIXME : Chez moi ce n'est pas le cas, l'iPhone répond au ping et j'y accède en Wi-Fi, même lorsqu'il est en veille … à vérifier donc

Petite précision : lorsque l'iphone est en charge (sur secteur ou relié en usb à l'ordinateur) le wifi reste activé même en veille. Donc on ne peut pas se connecter à l'iphone quand il est en veille avec la désactivation automatique, excepté si il est en charge. J'espère avoir résolu ton problème…

Fin de la configuration de l'iPhone

Vous devez ensuite installer et activer un serveur SSH comme openssh sur votre iPhone. Ceci ce fait via le système d'installation de logiciels tiers disponible après Jailbreak (« Installer »), et définir le mot de passe root utilisé pour se connecter au téléphone par SSH.

Comme indiqué précédemment, cette manipulation ne rentre pas dans le cadre de cette documentation.

Configurer Ubuntu

Afin de faciliter la communication avec votre iPhone, vous allez éditer le fichier /etc/hosts pour y entrer l'association iPhone/adresse IP. Ainsi vous n'aurez plus à taper l'adresse IP mais seulement iphone, ce qui est plus pratique ;-). Bien sûr cette étape est optionelle.

Ajoutez-y donc la ligne :

192.168.0.16 iphone

(en remplaçant l'adresse IP par celle de votre iPhone bien sûr)

Pour chaque connexion utilisant ssh il vous sera demandé une authentification. Par défaut : login = root ; Les mots de passes sont dottie pour le firmware 1.0 et alpine pour 1.1.1 à 1.1.4.

La commande passwd du paquet BSD subsytem ne fonctionne pas correctement, le sprinboard redémarre sans arrêt et il sera nécessaire de réinitialiser l'iPhone. Des méthodes existes pour changer ce mot de passe mais il conseillé d'utiliser une application telle que "Services" pour arrêter le serveur ssh lorsque vous êtes sur un réseau publique ou "trop" ouvert.

ipod-convenience (méthode 1)

ipod-convenience offre une méthode propre et relativement simple pour connecter ubuntu à votre iphone. Celui-ci permet aussi de générer le FirewireGuid.

Ajoutez la ligne suivante à la liste de vos dépots via le menu "Système > Administration > Sources de logiciels > logiciels de tierces parties > Ajouter" :

deb http://ppa.launchpad.net/ipod-touch/ubuntu gutsy main

Mettez à jours la liste des logiciels puis installez le paquet apt://ipod-convenience Pendant l'installation l'assistant de configuration va demander de renseigner les paramètres de montage :

  1. l'adresse IP de l'iphone (ou l'alias que l'on a configuré précédemment)
  2. le point de montage : celui-ci est un dossier qui va être créé pour recevoir l'iphone. Indiquez par exemple /media/iphone

configuration de ipod-convenience

Branchez votre iphone sur une prise usb, ceci est nécéssaire pour générer le hash (firewireGUID) utilisé par la base de données iTunes. 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 :

iphone-mount
iphone-umount

Il vous sera alors demandé le mot de passe ssh.

Problème éventuel

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

Autres méthodes

sftp

Ouvrir une fenêtre nautilus (dossier personnel par exemple) et remplacer l'adresse par :

sftp://iphone

Il vous sera demandé les identifiants de connexion à ssh. Vous avez maintenant un iPhone ou iPod-touch / disque dur externe à peu de frais.

Se connecter à un serveur

Lancer « Se connecter à un serveur » de Nautilus (sous Gnome), disponible dans le menu Raccourcis. Un équivalent à ça sous KDE ?…

Sshfs

Vous aurez alors besoin d'un dossier qui permettra de monter l'iPhone sur Ubuntu. Dans un terminal créez le dossier /media/iphone :

 sudo mkdir /media/iphone/ -m 777

Ajoutez ensuite votre nom d'utilisateur au groupe fuse

 sudo adduser $USER fuse 

Les commandes suivantes permettent respectivement de "monter" et "démonter" l'iphone sur Ubuntu, les logiciels pourront alors communiquer avec. Donc soit vous les inscrivez dans chacun de ces logiciels (par exemple Amarok) soit vous créez des commandes de connexion automatisées via nautilus_scripts.

 #version <= 1.1.2
 sshfs root@iphone:/var/root/Media /media/iphone/ 
 #version >= 1.1.3
 sshfs root@iphone:/var/mobile/Media /media/iphone/
 #démonter :
 fusermount -u /media/iphone

Au montage la commande vous demandera votre mot de passe ssh. L'iphone apparaîtra alors sur votre bureau comme un disque dur.

Amarok [musique]

Configuration

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.

Si vous avez correctement suivis les instructions précédentes, la liste de lecture de votre iPhone doit apparaître dans l'onglet "Périphérique" de Amarok. Vous pouvez ainsi transférez vos musiques (et fichiers) dedans.

Si vous avez utilisé la méthode avec ipod-convenience vous pouvez ajouter "iphone-mount" à la commande de pré-montage et "iphone-umount" à la commande de pré-déconnexion. Aussi vous pouvez définir 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".

Gtkpod [musique]

Configuration

Montez l'iPhone avec la méthode vue précédemment puis ouvrez gtkpod.

  • 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.
  • Notez le modèle : iPhone.

Gtkpod doit pouvoir communiquer correctement avec l'iPhone.

Encoder des vidéos

Sans utiliser de script, juste avec ffmpeg

ffmpeg -i video.avi -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -bufsize 4096 -g 300 -acodec aac -ab 192 -s 480x320 video.mp4

Funambol [organiseur]

Funambol propose une suite de logiciels open-sources permettant de synchroniser contacts, agenda, tâches "over-the-air" (bien que le terme ne semble pas être tout à fait exact).

Ce que sait faire Funambol avec l'iphone : synchroniser les contacts. La synchronisation du calendrier, tâches et notes sont prévu.

Fonctionnement

  • Centralisation des données (contacts, agenda …) sur un serveur SyncML.
  • Synchronisation de l'iphone.
  • Synchronisation d'un organiseur quelconque (thunderbird, sunbird, evolution …).

Installation

Sur un iPhone Jailbroken

Installer funambol via l'installeur puis configurer le serveur SyncML.

Sans Jailbreak

Ouvrir Safari et se connecter à http://my.funambol.com (vous devrez utiliser le portail de funambol comme serveur SyncML).

Un serveur

Vous avez quelques réticences à stocker vos informations dans les bases de données d'une société tiers, pas de problème : la page funambol vous explique de manière simple comment installer un serveur à la maison et comment configurer votre iPhone et vos différents organiseurs.

Bugs et Dépannage

  • gtkpod ne gère pas encore les vidéos encodé en mp4/v2.
  • La liste de lecture de l'iphone est mal mise à jours lors de l'ajout de nouvelles musiques : essayez la méthode avec ipod-convenience.
  • Les images de pochettes ne sont pas importés : essayez la méthode avec ipod-convenience.
  • Impossible monter l'iphone le message suivant apparait :
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

Comme indiqué : le repertoire de montage n'est pas vide. Prenez garde à ce que votre iphone ne soit pas monté / connecté (si nécessaire éteignez-le) ouvrez votre repertoire de montage (/media/iphone) et supprimez son contenu (celui-ci doit contenir tout au plus 2 liens symbolique et un repertoire plus ou moins vide)

Projets annexes

  • lprod - Exportations de vidéos sur Ubuntu pour appareils mobiles (pda / iPod / iPhone …) beta tests en cours.
  • iPhone dev Linux[en] - Communauté de développeurs indépendants(?) iPhone.
  • iPhux[en] iPhone on Linux - interface de gestion d'iPhone sur linux (projet mort?)
  • MNPLight[fr] Move And Play Light - Un application destinée à la synchronisation sans passer par iTunes (musique, contacts, agenda …) Ce n'est pas très sexy encore ni ergonomique et trop de manipulations qui peuvent sembler dangereuses pour les données sont à réaliser.

Synchronisation avec iTunes et vmware-player

Il est possible de synchroniser l'iPhone à travers une machine virtuelle en suivant le tutoriel de bilbo858 sur le forum.

Néanmoins des bugs résident, ne tentez pas de restauration ou de mise à jour du firmware depuis cette méthode sous peine de perdre vos données et rendre votre iPhone inutilisable.

Contributeurs : _Enchained - esion - Jekkil


iphone.txt · Dernière modification: 2008/11/17 11:03 par 213.95.41.13
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL