ZTE Open C : quelle version de Firefox OS ?

Le ZTE Open C est venu rejoindre ma petite famille des appareils sous Firefox OS, en remplacement du Geeksphone Keon qui a rendu l’âme.

Tablette Flatfish, Geeksphone Keon et Geeksphone Peak
Tablette Flatfish, Geeksphone Keon et Geeksphone Peak

Je l’ai acheté chez LDLC (80€ -20€ de remboursement=60€). A l’origine, il est livré sous Firefox 1.3 (firmware B02), mais non rooté.

ZTE Open C
ZTE Open C

J’en suis très content. C’est un téléphone d’entrée de gamme mais sur lequel Firefox OS tourne très bien. Seul petit reproche : l’appareil photo n’est vraiment pas terrible, je trouve.

Voici mon petit retour d’expérience sur les différentes versions de Firefox OS que j’ai pu mettre dessus.

Sommaire

Comme je ne serai pas l’utilisateur principal du téléphone, j’ai surtout cherché à avoir un OS stable.

Firefox OS 1.3 B02 et B03

Sur le téléphone d’origine, il y a une petite application de mise à jour qui permet de le passer au firmware B03 (au lieu du B02). D’après le changelog, le B03 corrige quelques problèmes de stabilité.

Pour le rooter, il suffit de suivre la procédure proposée par le fabricant : http://www.ztefrance.com/downloads/Pack_root_du_ZTE_Open_C.zip (uniquement sous Windows, hélas. J’ai essayé sans succès de le faire depuis Virtualbox)
Problème : ça fait repasser au firmware B02, et la mise à jour en B03 ne fonctionne plus.

Pour remettre le B03, on peut suivre la procédure http://furious-therapy.fr/zte_open_c/upgrade_root.html
C’est ce que j’ai fait mais ça fait perdre le rootage…

Au final, on a 2 solutions en Firefox OS 1.3 :

  • avoir les correctifs du firmware B03 sans être root
  • être root mais en restant en B02

Je n’ai pas beaucoup testé la version B02 rootée.

Sur la version B03 (non rootée), j’ai eu quelques problèmes : une fois impossible de raccrocher, une autre fois impossible de le faire sortir de veille.

Firefox OS 2.0 (image pour le Flame)

La version 2.0 m’a parue plus stable. Même si elle n’est pas encore officiellement finalisée par Mozilla.

Pour passer le téléphone en version 2.0, j’ai suivi la procédure décrite par Paul Rouget :

http://paulrouget.com/e/openc/

Il suffit d’utiliser les images compilées par Mozilla pour le Flame, qui sont compatibles avec le ZTE Open C. J’ai utilisé celle de http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g32_v2_0-flame/. Je n’ai pas eu besoin du font fix.

Il y a parait-il des différences matérielles entre les modèles français et américains du ZTE Open C (au niveau de la caméra, au moins). Mais apparemment l’image 2.0 de Mozilla est bien compatible avec le modèle français.

Le problème, c’est que Mozilla ne semble plus compiler de version 2.0 récente dans ce répertoire : la dernière version date du 8 octobre 2014 (c’est celle que j’ai installée). Plus précisément, ils ne compilent plus pour la version « Jelly Bean », mais uniquement pour la version « Kit Kat » (suffixe -kk dans les répertoires du FTP). Et, d’après ce que j’ai compris, le ZTE Open C ne supporterait que la version « Jelly Bean ». Les images des répertoires « flame-kk » ne seraient donc pas utilisables dessus.

Une demande est ouverte pour que Mozilla compile officiellement des images pour le ZTE Open C : https://bugzilla.mozilla.org/show_bug.cgi?id=1068647. Ce serait vraiment cool, mais pour l’instant ce n’est pas le cas.

En tous cas, je n’ai quasiment rencontré aucun problème avec cette version (une seule fois : un plantage à la réception d’un appel).

Firefox 2.0 (compilé à la main)

Je suis parti de la procédure proposée ici : http://alterlibriste.free.fr/index.php?post/2014/09/06/Compiler-Firefox-OS

La première étape de récupération des sources est vraiment longue. Et surtout il ne faut pas se tromper dans les lignes de commande.

Dans mon cas, je voulais compiler une version 2.0 (que j’utilise déjà sur mon Peak et qui me parait tout à fait stable maintenant).

Il faut d’abord prendre le fichier openc.xml de la procédure, et le modifier pour mettre « v2.0 » à la place de master sur les lignes de gecko et gaia (lignes 16 et 20). Voici le fichier résultat, à nommer openc-2.0.xml :

<?xml version="1.0" ?>
<manifest>

  <remote fetch="https://android.googlesource.com/" name="aosp"/>
  <remote fetch="git://github.com/mozilla-b2g/" name="b2g"/>
  <remote fetch="git://github.com/mozilla/" name="mozilla"/>
  <remote fetch="git://github.com/apitrace/" name="apitrace"/>
  <remote fetch="git://codeaurora.org/" name="caf"/>
  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
  <default remote="caf" revision="jb_3.2" sync-j="4"/>

  <!-- B2G specific things. -->
  <project name="platform_build" path="build" remote="b2g" revision="b2g-4.3_r2.1">
    <copyfile dest="Makefile" src="core/root.mk"/>
  </project>
  <project name="gecko.git" path="gecko" remote="mozillaorg" revision="v2.0" />
  <project name="rilproxy" path="rilproxy" remote="b2g" revision="master"/>
  <project name="librecovery" path="librecovery" remote="b2g" revision="master"/>
  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="master"/>
  <project name="gaia" path="gaia" remote="mozillaorg" revision="v2.0"/>
  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="master"/>
  <project name="moztt" path="external/moztt" remote="b2g" revision="master"/>
  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="master" />
  <project path="external/valgrind" name="valgrind" remote="b2g" revision="fxos" />
  <project path="external/VEX" name="vex" remote="b2g" revision="fxos" />

  <!-- Stock Android things -->
  <project groups="darwin" name="platform/prebuilts/clang/darwin-x86/3.1" path="prebuilts/clang/darwin-x86/3.1"/>
  <project groups="darwin" name="platform/prebuilts/clang/darwin-x86/3.2" path="prebuilts/clang/darwin-x86/3.2"/>
  <project groups="darwin" name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7"/>
  <project groups="darwin" name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.7"/>
  <project groups="darwin" name="platform/prebuilts/gcc/darwin-x86/host/headers" path="prebuilts/gcc/darwin-x86/host/headers"/>
  <project groups="darwin" name="platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" path="prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1"/>
  <project groups="darwin" name="platform/prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/darwin-x86/x86/i686-linux-android-4.7"/>
  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1"/>
  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2"/>
  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6"/>
  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6"/>
  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7"/>
  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7"/>
  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7"/>
  <project name="device/common" path="device/common"/>
  <project name="device/sample" path="device/sample"/>
  <project name="platform/abi/cpp" path="abi/cpp"/>
  <project name="platform/bionic" path="bionic"/>
  <project name="platform/external/aac" path="external/aac"/>
  <project name="platform/external/bison" path="external/bison"/>
  <project name="platform/external/bsdiff" path="external/bsdiff"/>
  <project name="platform/external/bzip2" path="external/bzip2"/>
  <project name="platform/external/checkpolicy" path="external/checkpolicy"/>
  <project name="platform/external/dhcpcd" path="external/dhcpcd"/>
  <project name="platform/external/dnsmasq" path="external/dnsmasq"/>
  <project name="platform/external/dropbear" path="external/dropbear"/>
  <project name="platform/external/e2fsprogs" path="external/e2fsprogs"/>
  <project name="platform/external/elfutils" path="external/elfutils"/>
  <project name="platform/external/expat" path="external/expat"/>
  <project name="platform/external/fdlibm" path="external/fdlibm"/>
  <project name="platform/external/flac" path="external/flac"/>
  <project name="platform/external/freetype" path="external/freetype"/>
  <project name="platform/external/gcc-demangle" path="external/gcc-demangle"/>
  <project name="platform/external/genext2fs" path="external/genext2fs"/>
  <project name="platform/external/giflib" path="external/giflib"/>
  <project name="platform/external/gtest" path="external/gtest"/>
  <project name="platform/external/harfbuzz" path="external/harfbuzz"/>
  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng"/>
  <project name="platform/external/icu4c" path="external/icu4c" revision="a8f744cec5125866672e131f328cc5a6e35c9173"/>
  <project name="platform/external/iproute2" path="external/iproute2"/>
  <project name="platform/external/ipsec-tools" path="external/ipsec-tools"/>
  <project name="platform/external/iptables" path="external/iptables"/>
  <project name="platform/external/jack" path="external/jack"/>
  <project name="platform/external/jhead" path="external/jhead"/>
  <project name="platform/external/jpeg" path="external/jpeg"/>
  <project name="platform/external/junit" path="external/junit"/>
  <project name="platform/external/libgsm" path="external/libgsm"/>
  <project name="platform/external/liblzf" path="external/liblzf"/>
  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp"/>
  <project name="platform/external/libnl-headers" path="external/libnl-headers"/>
  <project name="platform/external/libogg" path="external/libogg"/>
  <project name="platform/external/libpng" path="external/libpng"/>
  <project name="platform/external/libselinux" path="external/libselinux"/>
  <project name="platform/external/libsepol" path="external/libsepol"/>
  <project name="platform/external/libvpx" path="external/libvpx"/>
  <project name="platform/external/mdnsresponder" path="external/mdnsresponder"/>
  <project name="platform/external/mksh" path="external/mksh"/>
  <project name="platform/external/netcat" path="external/netcat"/>
  <project name="platform/external/netperf" path="external/netperf"/>
  <project name="platform/external/openssl" path="external/openssl"/>
  <project name="platform/external/ping" path="external/ping"/>
  <project name="platform/external/ping6" path="external/ping6"/>
  <project name="platform/external/protobuf" path="external/protobuf"/>
  <project name="platform/external/safe-iop" path="external/safe-iop"/>
  <project name="platform/external/sepolicy" path="external/sepolicy"/>
  <project name="platform/external/skia" path="external/skia"/>
  <project name="platform/external/sonivox" path="external/sonivox"/>
  <project name="platform/external/speex" path="external/speex"/>
  <project name="platform/external/sqlite" path="external/sqlite"/>
  <project name="platform/external/stlport" path="external/stlport"/>
  <project name="platform/external/strace" path="external/strace"/>
  <project name="platform/external/svox" path="external/svox"/>
  <project name="platform/external/tagsoup" path="external/tagsoup"/>
  <project name="platform/external/tinyalsa" path="external/tinyalsa"/>
  <project name="platform/external/tinyxml" path="external/tinyxml"/>
  <project name="platform/external/tinyxml2" path="external/tinyxml2"/>
  <project name="platform/external/tremolo" path="external/tremolo"/>
  <project name="platform/external/webp" path="external/webp"/>
  <project name="platform/external/webrtc" path="external/webrtc"/>
  <project name="platform/external/yaffs2" path="external/yaffs2"/>
  <project name="platform/external/zlib" path="external/zlib"/>
  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji"/>
  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm"/>
  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy"/>
  <project name="platform/libcore" path="libcore"/>
  <project name="platform/libnativehelper" path="libnativehelper"/>
  <project name="platform/ndk" path="ndk"/>
  <project name="platform/prebuilts/misc" path="prebuilts/misc"/>
  <project name="platform/prebuilts/ndk" path="prebuilts/ndk"/>
  <project name="platform/prebuilts/qemu-kernel" path="prebuilts/qemu-kernel" />
  <project name="platform/prebuilts/sdk" path="prebuilts/sdk"/>
  <project name="platform/prebuilts/tools" path="prebuilts/tools"/>
  <project name="platform/system/extras" path="system/extras"/>
  <project name="platform/system/media" path="system/media"/>
  <project name="platform/system/netd" path="system/netd"/>
  <project name="platform/system/security" path="system/security"/>
  <project name="platform/system/vold" path="system/vold"/>

  <!-- Flame specific things -->
  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon"/>
  <project name="device/qcom/common" path="device/qcom/common" revision="b2g_jb_3.2"/>
  <project name="device-flame" path="device/t2m/flame" remote="b2g" revision="b77e4c83cc51dcd1dcb31cff9815a1141528f687"/>
  <project name="kernel/msm" path="kernel" revision="b2g_jb_3.2"/>
  <project name="platform/bootable/recovery" path="bootable/recovery" revision="b2g_jb_3.2"/>
  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="b2g_jb_3.2"/>
  <project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="b2g/jb_mr1_rb2.17"/>
  <project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="b2g/jb_mr1_rb2.17"/>
  <project name="platform/external/dbus" path="external/dbus" revision="b2g/jb_mr1_rb2.17"/>
  <project name="platform/external/libnfc-nci" path="external/libnfc-nci"/>
  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8"/>
  <project name="platform/frameworks/av" path="frameworks/av" revision="b2g_jb_3.2"/>
  <project name="platform/frameworks/base" path="frameworks/base" revision="b2g_jb_3.2"/>
  <project name="platform/frameworks/native" path="frameworks/native" revision="b2g_jb_3.2"/>
  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="b2g_jb_3.2"/>
  <project name="platform/hardware/qcom/audio" path="hardware/qcom/audio" revision="b2g_jb_3.2"/>
  <project name="platform/hardware/qcom/camera" path="hardware/qcom/camera" revision="b2g_jb_3.2"/>
  <project name="platform/hardware/qcom/display" path="hardware/qcom/display" revision="b2g_jb_3.2"/>
  <project name="platform/hardware/qcom/gps" path="hardware/qcom/gps" revision="b2g_jb_3.2"/>
  <project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="jb_3.2.5_rb1.7"/>
  <project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="jb_3.2.5_rb1.7"/>
  <project name="platform/hardware/ril" path="hardware/ril" revision="b2g_jb_3.2"/>
  <project name="platform/system/bluetooth" path="system/bluetooth" revision="b2g_jb_3.2"/>
  <project name="platform/system/core" path="system/core" revision="b2g_jb_3.2"/>
  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="master"/>
  <project name="platform/system/qcom" path="system/qcom" revision="jb_3.2.5_rb1.7"/>
  <project name="platform/vendor/qcom/msm8610" path="device/qcom/msm8610" revision="b2g_jb_3.2"/>

</manifest>

Puis lancer la première étape :

git clone git://github.com/mozilla-b2g/B2G.git
cd B2G
BRANCH=v2.0 ./config.sh flame ../openc-2.0.xml

Ensuite on peut lancer la compilation :

export PRODUCTION=1
export GAIA_APP_TARGET=production
./build.sh gecko

(J’ai aussi dû installer le package « unzip » qui était nécessaire à un moment donné pour la compilation)

… sauf que je n’ai pas réussi à aller plus loin. La compilation échoue avec le message d’erreur suivant :

make: *** Pas de règle pour fabriquer la cible « gaia-prefs », nécessaire pour « out/target/product/flame/system/gecko ». Arrêt.

Après discussion sur IRC, je ne suis pas le seul à avoir ce problème, qui se produit depuis fin novembre.

Je n’ai pas creusé plus, puisque j’ai découvert à ce moment-là les builds communautaires :

Firefox 2.0 (builds communautaires)

Depuis le 30 novembre 2014, il y a des images compilées par la communauté pour le ZTE Open C version FR (c’est-à-dire acheté chez LDLC ou Leclerc) : http://builds.firefoxos.mozfr.org

Au choix : version 2.0, 2.1 ou 2.2.

L’installation se fait très simplement, en déposant le fichier update-*.zip à la racine de la carte SD, et en le redémarrant en mode « recovery » (voir les instructions sur le site : il faut d’abord rooter le téléphone).

2 cerises sur le gâteau :

  • la procédure proposée ne supprime pas les données existantes (j’ai vérifié)
  • les images sont configurées pour permettre ensuite les mises à jour « OTA » (Over The Air, c’est-à-dire que la mise à jour est proposée sur le téléphone quand elle est disponible, et qu’elle est installable directement depuis le téléphone). Cela dit, je n’ai pas encore eu l’occasion de le tester

Merci à dattaz et djib de leurs réponses sur IRC.

Au final, j’ai mis la version 2.0 (compilée le 23/11/2014). Elle semble très bien fonctionner. Dommage que, pour des raisons légales, on n’ait pas droit au logo Firefox pour le navigateur, mais c’est un tout petit détail.

Je n’ai rencontré qu’un seul petit souci une fois : impossible de déverrouiller l’écran quand je le sors de veille. Un redémarrage résout le problème. Ca ressemble à https://bugzilla.mozilla.org/show_bug.cgi?id=1100874 . J’ai eu le même problème une fois ou deux sur le Peak (en version 2.0 aussi), donc il s’agit probablement d’un petit bug dans Gaia, qui devrait se corriger pour la finalisation de la v2.0.

Edité le 19/12/2014 : si vous avez déjà installé plusieurs versions sur votre téléphone, je vous conseille vivement de refaire le « rootage » du téléphone avant de mettre un build communautaire, avec la procédure fournie par ZTE (celle hélas disponible uniquement sous Windows). En effet, les fichiers update*.zip des builds communautaires ne flashent que Gecko et Gaia, pas les couches basses du système (Kernel linux etc). Je suis tombé sur des problèmes liés à ça, qui ont été apparemment résolus par le re-rootage et réinstallation du build communautaire. Notamment à la réception d’un appel, un délai de 5s environ avant que le correspondant entende ma voix… Merci à quentinp pour les conseils sur IRC.

Edité le 02/01/2015 : après quelques semaines d’utilisation, j’ai quand même eu quelques bugs avec cette version 2.0 communautaire (je ne sais pas s’ils se produisent dans les autres versions) :

Edité le 25/06/2015 : ces bugs sont maintenant en majeure partie résolus. Voir mon dernier article sur le sujet.

Sauvegarde/Restauration des données

On l’a vu, certains modes de mise à jour écrasent toutes les données. Donc il peut être nécessaire de les sauvegarder avant.

Et, dans tous les cas, faire une sauvegarde est toujours une bonne idée de temps en temps, et en particulier avant ce genre de manipulations…

Au début, je me contentais de faire un « adb pull /data » mais la restauration était un peu hasardeuse.

Il y a mieux : https://github.com/Mozilla-TWQA/B2G-flash-tool/blob/master/backup_restore_profile.sh

Ce script sauvegarde uniquement le nécessaire, et sait le restaurer proprement.

Conclusion

Firefox OS 2.0 tourne vraiment bien sur ce petit téléphone. Le côté « entrée de gamme » se voit surtout dans la qualité de l’appareil photo. Pour le reste, je le trouve nickel. A voir sur la durée, mais ça fait vraiment pas cher pour avoir un smartphone complet sous Firefox OS.

C’est surtout la présence des builds communautaires qui a fini de me convaincre. C’était nécessaire pour avoir un moyen simple d’installer des versions plus récentes que celle proposée par le constructeur.

Bref, je prévois d’en acheter 2 autres pour de la famille…

Edité le 25/06/2015 : j’ai écrit un nouvel article sur le sujet, avec des informations plus récentes

8 réflexions sur « ZTE Open C : quelle version de Firefox OS ? »

  1. Hello,

    Merci pour ton billet, ça m’a permis de trouver le site avec les builds communautaires, j’ai ainsi pu retrouver l’appareil photo sur mon open C que j’avais flashé avec un mauvais firmware précédemment :)

    1. De rien, content que ça serve. Il faut surtout remercier les personnes qui ont fait et maintiennent ces builds.

      Si tu avais un mauvais firmware, je te conseille de commencer par refaire le « rootage » du téléphone avec la procédure fournie par ZTE. Histoire d’être sûr d’avoir une base saine avant d’installer la build communautaire.

      Sinon, il y a un bug dans la version 2.0 actuelle (datée du 23/11/2014) : https://bugzilla.mozilla.org/show_bug.cgi?id=1110960 . Ca provoque des ralentissements qui finissent par se sentir (un redémarrage remet tout en ordre). Le correctif a été fait, mais pas encore backporté sur la branche 2.0. J’espère que ce correctif sera dans la prochaine build communautaire.

  2. Bonjour,
    je viens d’acheter un ZTE Open C dans le but de communiquer gratuitement (son et si possible vidéo) avec des amis et surtout avec mes enfants (en bas age) qui sont a l’étranger. (gratuitement mis a part l’abonnement internet bien sur)
    Je suis souvent en déplacement.
    Je comptais utiliser « viber » ou « skype »qui se sont avérés impossible a installer.
    Après quelques recherches j’ai découvert « hello firefox ».
    Pleine d’espoir j’ai tenté de l’utiliser depuis mon ZTE mais la encore impossible:
    « Firefox Hello fonctionne uniquement avec les navigateurs prenant en charge WebRTC ».
    Est ce que je dois juste patienter un peu (quelques jours … semaines) que une nouvelle appli sorte?
    Est ce que je peux bidouiller quelque chose? (je suis pas informaticien)
    Est ce qu’il existe une alternative?
    Est ce que je dois vendre mon ZTE et acheter un autre téléphone?
    Merci d’avance pour vos réponses.
    Bonne journée,
    Frink

    http://www.clubic.com/mobile-world-congress/actu-mwc_2015_itw_firefox_sur_ios_au_2nd_trimestre_hello_bientot_multiplateforme-756457.html

    « A l’occasion de la conférence de Mozilla qui s’est tenue hier à la veille du Mobile World Congress, nous avons interrogé Christopher Lee, le directeur des produits au sein de la fondation. Il revient sur Firefox OS mais aussi les ambitions sur iOS et sur la vie privée.

    Christopher Lee
    Pourriez-vous revenir sur les travaux que vous avez effectués cette année sur Firefox OS ?

    Christopher Lee : L’année dernière nous avons lancé Firefox OS 2.0 avec KDDI pour Fx0. La version que nous sortirons un peu plus tard cette année améliorera considérablement les performances et sera compatible avec les architectures multi coeur. Nous rajouterons également la prise en charge de NFC. Nous étendrons nos travaux sur WebRTC. Nous avons récemment introduit Hello sur Firefox et Firefox OS. Nous souhaitons étendre les communications et les aspects collaboratifs.

    De quelle manière comptez-vous étendre Firefox Hello ? Avec des applications dédiées sur Android ou iOS par exemple ?

    C.L : L’avantage c’est que ce n’est pas limité à un seul navigateur ou à une plateforme spécifique. Vous pouvez l’utiliser avec Chrome par exemple. Par ailleurs cela ne nécessite pas de compte utilisateur. Il suffit de partager un lien.

    Concernant les applications mobiles, nous n’avons rien à annoncer aujourd’hui en ce sens mais il serait tout à fait envisageable de faire usage de leur framework Web et d’activer WebRTC. »

    1. Pour Firefox Hello, c’est encore un peu tôt effectivement.
      Je ne sais pas dans quelle version de Firefox OS ce sera officiellement disponible.
      Apparemment il est possible de commencer à jouer avec, mais je n’ai pas testé : http://www.monptitbloglibre.laurald.fr/installer-firefox-hello-sur-firefoxos-2-1-aurora/

      Je pense que, pour de la visioconférence, le ZTE Open C ne sera pas idéal.
      D’abord parce que la caméra n’est pas d’excellente qualité, et surtout parce qu’il n’y a pas de caméra frontale : si vous regardez l’écran, la caméra du ZTE Open C filmera ce qu’il y a derrière le téléphone, pas votre visage…

      Cela dit, j’ai fait un test rapide avec le site http://appear.in et ça semble fonctionner. En tous cas avec Firefox OS 2.0 et 2.1 (je ne pense pas que ça fonctionne en version 1.3).
      Il suffit d’aller sur leur site, choisir un nom de salon et utiliser l’adresse du salon sur les différents appareils.
      Il est possible, lors du premier accès au salon, de refuser d’activer l’ensemble « caméra + micro », pour n’activer que le microphone. Dans ce cas il n’y a que le son, pas la vidéo, ce qui économise probablement beaucoup de ressources (puissance CPU sur le téléphone, et bande passante sur l’accès Internet).

      Avant de revendre votre téléphone, je pense que cette solution mérite d’être essayée (appear.in avec uniquement le son).
      Et puis demander conseil sur IRC à des gens qui en sauraient peut-être plus que moi sur le sujet : http://builds.firefoxos.mozfr.org/doc/fr/devices/zte-open-c-fr#support

      1. Merci pour votre réponse!
        Je viens de regarder la version du système est 1.3.0.0
        je suis un peu deg puisque je l’ai acheté avant hier, d’avoir entre les mains un truc déjà dépassé! Est ce que je peux mettre à jour la version logicielle?
        Autrement j’ai testé appear.in entre mon ordi et le ZTE, on dirait que ça fonctionne (sans vidéo) mais j’ai du mal a vérifier pour le son

        1. La version 2.0 est à peine finalisée, donc ce n’est pas si anormal.
          Sur la FAQ de ZTE, ils disent :

          ZTE va-t-il fournir une mise à jour vers FFOS2.0 ?
          ZTE étudie la faisabilité d’une mise-à-jour vers FF0S2.0, cependant le planning dépendra de la mise à disposition par la fondation Mozilla. En effet la version 2.0 n’est pas encore prête pour être lancée commercialement sur des produits et devrait l’être début 2015. La version FFOS 2.0 est donc « Code complete » mais nécessite encore du travail pour pouvoir atteindre la qualité nécessaire pour être commercialisée.

          ZTE va-t-il fournir une version 2.0 officielle? On ne sait donc pas.

          Mais il est possible de mettre à jour votre téléphone dans une version plus récente, en utilisant les builds communautaires (voir la fin de cet article).
          Cela dit, testez dans un premier temps appear.in avec le son, sur la version 1.3 : si ça fonctionne et convient à votre besoin, pas la peine de vous embêter.

          Les builds communautaires vous permettent d’utiliser une version plus récente de Firefox OS, avec plus de fonctionnalités… mais aussi avec un peu plus de bugs.
          Rien d’insurmontable, mais il faut le savoir. Il y a plusieurs raisons à cela :
          – certains correctifs bas niveau apportés par ZTE dans leur version 1.3 B03 n’ont a priori pas été fournis en open-source, et ne se retrouvent donc pas dans les builds communautaires
          – les versions 2.x n’étant pas encore officiellement sorties, il est normal qu’elles ne soient pas parfaites (sauf pour la 2.0 qui ne bouge quasiment plus)
          – je trouve qu’il manquerait un canal « stable », en plus des canaux « beta », « aurora » et « nightly », qui permettrait aux moins aventureux d’avoir un téléphone le plus stable possible

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *