PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Yannic Arnoux : Retour d'expérience Ubuntu Touch

samedi 12 décembre 2015 à 20:40

L'article peut sembler opportuniste par rapport aux rumeurs d'abandon de Firefox OS mais il n'en est rien (je le jure votre honneur). C'est seulement que j'ai eu la chance de toucher un Nexus 4 (merci Papa) et j'en ai profité pour tester le système Ubuntu Touch pendant une semaine dans mon utilisation quotidienne. En effet, ce téléphone est un des téléphones de référence pour la société Canonical, toujours maintenu alors que leur OS, très discret, fêtera bientôt sa 3ème bougie. Depuis le lancement de Ubuntu Touch, trois téléphones ont été commercialisés : deux modèles du constructeur espagnol BQ qui semblent très appréciés par la communauté Ubuntu et un modèle assez puissant, le MX4 du constructeur chinois Meizu.

A proposCa commence donc par l'installation du système qui est assez simple car d'une part le Nexus 4 a un booloader facile à déverrouiller et Ubuntu Touch est basé sur un Android, on utilise donc des outils Android (adb, fastreboot) pour flasher le système. Ensuite les outils Canonical interviennent, la voie simple consiste donc à s'installer une version Desktop de Ubuntu 14.04 ou supérieure sur un PC afin d'obtenir ces outils facilement. Je me suis donc basé sur la documentation officielle du Ubuntu Developer et sur cet article qui apporte quelques précisions pour le Nexus 4. On a le choix entre deux canaux de mise à jour système : stable ou développement. Pour me faire une idée la plus juste du système et ne pas la fausser avec des bugs d'une version en cours de développement, j'ai choisi la version stable. Ce qui est intéressant avec Ubuntu Touch, c'est que la version mobile fait partie intégrante du développement de Ubuntu, il ne s'agit d'un développement à part, déconnecté de la version Desktop. Après une installation fraîche, on a donc un téléphone en version 15.04 et on reçoit des OTA (mise à jour) régulièrement. On devrait d'ailleurs bientôt basculer en version 15.10. Canonical a une vision précise de ce qu'il veulent obtenir avec leur système et cela s'appelle Convergence. Un système mobile qui, une fois connecté à un clavier / souris en bluetooth et à un moniteur se transforme en Ubuntu Desktop capable d'exécuter les applications usuelles comme Libre Office ou Gimp.

Pour moi, Convergence est un rêve de Geek et on a du mal à imaginer le quidam moyen utiliser son téléphone comme ordinateur. Et pourtant c'est un des principaux avantages de Touch : on n'a pas un système Unix-like castré mais un système GNU/linux complet. Je me suis plusieurs fois surpris à buter sur la manière de faire certaines choses parce que l'interface graphique n'est pas encore complète sur certains point et qu'il faut raisonner ligne de commande avec les outils usuels : du shell script (SH ou BASH) et des tâches CRON. Mais je m'emballe, faisons d'abord un petit tour en images du système.

L'écran de déverrouillage et ses statistiques amusantes :

ubuntu unlock
ubuntu unlock

L'écran principal avec ses applications en rang d'oignons:

ubuntu application
ubuntu application

Les applications favorites sur la gauche en faisant glisser le bord gauche de l'écran

et les applications lancées en faisant glisser le bord droit de l'écran :

ubuntu unity
ubuntu tasks

Les paramètres système et un aperçu du magasin d'applications :

ubuntu settings
ubuntu store

A part la particularité du tirage des bords d'écran pour faire apparaître la barre latérale ou passer d'une application à l'autre mais on pige vite le coup, on est dans une interface classique, on n'est pas perdu. Les paramètres sont similaires à ce qu'on peut trouver sur d'autres systèmes, le magasin Ubuntu Store est plus conséquent que ce à quoi je m'attendais. De ce que j'ai lu sur les forums de discussion Ubuntu, l'équipe Canonical a mis le focus sur le système dans un 1er temps, les applications viendront ensuite. Voici une liste de ce qui marche et de ce qui dysfonctionne sur le Nexus 4 en 15.04 OTA 8:

Deux sujets ont exigé de mettre le nez dans la ligne de commande car ils ne sont pas (encore) configurables par l'interface graphique : les sonneries personnalisées et la synchronisation des contacts et du calendrier.

D'abord il nous faut un accès SSH sur la bête. On active le mode développeur depuis les paramètres du téléphone et on se connecte avec adb shell pour activer le service SSH Ensuite on copie la clef publique de notre PC sous GNU/Linux dans le téléphone. Ca donne en gros les étape suivantes lues sur AskUbuntu

adb shell android-gadget-service enable ssh
adb shell mkdir /home/phablet/.ssh
adb push ~/.ssh/id_rsa.pub /home/phablet/.ssh/authorized_keys
adb shell chown -R phablet.phablet /home/phablet/.ssh
adb shell chmod 700 /home/phablet/.ssh
adb shell chmod 600 /home/phablet/.ssh/authorized_keys

Partant de là, on peut se passer de adb et se connecter directement en SSH sur le téléphone avec l'utilisateur phablet. Comme par défaut sur Ubuntu, le compte root est désactivé et l'utilisateur phablet doit utiliser sudo pour obtenir les super-pouvoirs. Ces pouvoirs ne permettent pas de modifier un fichier du système qui est en dehors du répertoire /home/phablet car par sécurité les partitions sont montées en lecture seule. Donc on sera souvent amené à remonter la partition en lecture-écriture avec la commande suivante :

sudo mount /dev/loop0 / -o remount,rw

On va configurer la synchronisation de nos contacts et du calendrier vers Owncloud par les protocoles de sychronisation cardav et caldav en s'inspirant de cette discussion sur AskUbuntu. D'abord on configure syncevolution :

# les valeurs username, password et syncurl doivent être adaptées
syncevolution --keyring=no --configure --template webdav username=yax password=??? syncurl="mycloud.madyanne.fr" target-config@owncloud
syncevolution --configure --template SyncEvolution_Client sync=none syncURL=local://@owncloud username= password= peerIsClient=1 owncloud

# on configure la synchro des contacts
syncevolution --configure database=https://mycloud.madyanne.fr/remote.php/carddav/addressbooks/yax/contacts backend=carddav target-config@owncloud contacts
syncevolution --configure sync=two-way backend=contacts database="Personnel" owncloud contacts

# on configure la synchro du calendrier
syncevolution --configure database=https://mycloud.madyanne.fr/remote.php/caldav/calendars/yax/personnel backend=caldav target-config@owncloud calendar
syncevolution --configure sync=two-way backend=events database="Personnel" owncloud calendar

# on lance une 1ère synchro qui donne priorité au serveur Owncloud
syncevolution --sync slow owncloud contacts
syncevolution --sync slow owncloud calendar

Ce qui manque juste, c'est une synchronisation périodique avec Owncloud par exemple une fois par heure. D'abord j'ai naïvement ajouté deux lignes dans la CRONTAB :

syncevolution owncloud contacts
syncevolution owncloud calendar

Et bien ça ne marche pas car syncevolution utilise DBUS et qu'en lançant hors shell utilisateur, les variables d'environnement DISPLAY et DBUS_SESSION_BUS_ADDRESS ne sont pas initialisées. Il faut donc récupérer ces valeurs dans le shell script qu'on va lancer en CRON, merci Alexandre. Donc finalement c'est ce script qu'on va mettre sous CRON :

#!/bin/sh
export DISPLAY=:0.0 
export DBUS_SESSION_BUS_ADDRESS=$(ps -u phablet e | grep -Eo 'dbus-daemon.*address=unix:abstract=/tmp/dbus-[A-Za-z0-9]{10}' | tail -c35)
syncevolution owncloud contacts
syncevolution owncloud calendar

Amusant non ? J'ai joué pas mal avec la synchronisation des calendriers et des contacts et je peux dire que syncevolution tient bien la route. Le dernier détail indispensable pour moi, c'était de récupérer ma sonnerie habituelle ; il n'y a pas encore la possibilité de télécharger une sonnerie personnalisée. Après le chantier de la synchronisation, c'est un jeu d'enfant : il suffit de la convertir au format OGG et de la placer dans le répertoire /usr/share/sounds/ubuntu/ringtones/.

Après une semaine d'utilisation quotidienne, j'ai trouvé le système crédible et agréable à utiliser. Qu'ils rajoutent un clavier physique et ce sera le meilleur du monde (troll inside !). Ubuntu Touch s'améliore régulièrement. Les développeurs se sont imposés un rythme de 6 semaines pour livrer une OTA. L'inconnue pour moi c'est comment Canonical espère monétiser son système et combien de temps ils réussiront à le pousser sans que ce soit rentable. En tout cas techniquement, c'est un petit bijou qui fait du pied aux Unixiens, un bol d'air frais quand les systèmes alternatifs au couple Android / IOS jettent l'éponge ou déposent le bilan l'un après l'autre.

Gravatar de Yannic Arnoux
Original post of Yannic Arnoux.Votez pour ce billet sur Planet Libre.

alterlibriste : L'art de tourner les talons

samedi 12 décembre 2015 à 16:35

Étant sur Diaspora* à l’origine et encore majoritairement pour suivre l’actualité de Firefox OS, j’ai pu voir ce que cela pouvait donner sur tous les réseaux sociaux un peu plus populaires. Une vache pète et c’est le feu au poudres.

Mardi soir, Techcrunch annonçait que Mozilla allait arrêter de vendre des téléphones avec Firefox OS. On n’a pas tardé à voir apparaître des Firefox OS, c’est fini! Et tout les charognards de se précipiter sur la victime, d’enfoncer le clou et de pointer les dernières nouvelles pas bien reluisantes chez Mozilla, histoire d’achever la bête. De son côté, Mozilla qui ne brille jamais pour la clarté de sa communication (il y a plus qu’un maillon manquant maintenant), fait un petit communiqué très laconique pour dire que l’Internet des objets c’est trop bien et que Firefox OS sera un bon support (autrement dit, ne dément pas formellement). C’est encore Numéréma qui, après avoir attendu d’avoir le maximum d’informations, fait la meilleure synthèse, à savoir que l’on ne comprend plus rien à l’orientation de Mozilla.

Bien sûr, pendant ce temps, tous les tweeters et blogueurs en herbe se sont fait un plaisir à tirer dans un sens ou dans l’autre, les quelques malheureux FirefoxOS Enthousiastics sont déçus mais y croient encore, dumoins à sa communauté, enfin à l’éventuelle possibilité d’un fork ou d’une hypothétique reprise. Mais que faire lorsque cela va jusqu’à : Commencez à penser à changer de navigateur ? Pourquoi pas la fin du monde ?

Et c’est là que je voudrais en venir. Il y a un art certain chez les libristes et probablement la plupart des geeks d’encenser un jour et de troller peu après. Mais surtout, si un projet montre des difficultés, de surtout lui mettre le pied sur la tête pour qu’il meure plus vite. Et si c’est le cas, il faut surtout s’enfuir car c’est tout juste si le code qui occupe votre machine ne risque pas de vous contaminer dans ses relents mortifères. Vous pensez vraiment que ce qui vous a rendu bien service devient du jour au lendemain l’ennemi à abattre parce qu’il n’évoluera plus ou peu ? Cela peut-être vrai pour un logiciel dont la sécurité était primordiale ou que vous avez à gérer la sécurité de tout un parc et qu’une faille vient d’être découverte mais pour le petit amateur dans son coin qui ne voit que son nombril ? Regardez le nombre de poste encore sous XP même dans les commerces ou bornes publiques (et donc qui gèrent de l’argent ou des choses un peu plus sensibles que nos données personnelles. Cela ne veut pas dire que c’est bien, mais ça se fait et avec un décalage bien plus important que nos éventuels quinze jour sans mise à jour de sécurité.

Souvenez-vous, il y a deux ans et demi, je venais d’ouvrir ce blog en ayant choisi Dotcleår parce que cela me semblait le juste milieu entre un monstre qui fait plus que ce dont j’ai besoin et un projet un peu trop minimaliste ou à l’avenir incertain. Peu de temps après, au premier mot de départ du chef de projet, Cyrille, alors sous Dotcleår, passait sous Wordpress en moins de 24h. Le projet a pourtant continué son bonhomme de chemin sans faire de bruit. Moi, j’aurais bien poursuivi les mises à jour mais comme je suis chez Free (parce que je considère que mon abonnement devrait aussi comporter mon hébergement) et que la version de php n’évolue plus, je ne peux pas les faire. Est-ce pour autant que le blog ne fonctionne plus ? Non. Je ne profite pas des dernières évolutions et améliorations de l’interface. C’est tout.

Est-ce que si Firefox OS mourrait dans l’instant mon ZTE, arrêterait de fonctionner ? Non. Si cette annonce avait eu lieu il y a un an quand la version 2.2, si prometteuse était truffée de bug alors que la 1.3 manquait cruellement de fonctionnalités, cela aurait été gênant. Le système est maintenant presque mature et si une communauté, à laquelle j’appartiendrais, décidait de reprendre le flambeau pour finir d’éliminer les bugs, au moins c’est elle qui déciderait des évolutions en évitant de faire deux pas en avant, un pas en arrière comme le fait actuellement Mozilla sur tous ses projets. Et quand bien même cela ne se ferait pas, que Firefox OS est définitivement mort, j’irai au bout de mon téléphone qui me donne entière satisfaction. Et il respecte plus mes convictions sur le respect de la vie privée que les téléphones dépendant de Google, Apple et Microsoft.

Bien entendu, cela sera difficile de convaincre quelqu’un d’adopter un système à l’avenir incertain, mais comme je le disais dans mon billet précédent, fournissez à l’utilisateur moyen un système qui fonctionne avec ce dont il a besoin et il se fichera pas mal de savoir d’où ça vient, où ça va et comment ça marche. Donc si quelqu’un veut me refourguer des Open C à pas cher, je pourrais toujours en faire de bons cadeaux de Noël...

Gravatar de alterlibriste
Original post of alterlibriste.Votez pour ce billet sur Planet Libre.

Articles similaires

Boutor : CodeBlocks avec des répertoires avec des accents

samedi 12 décembre 2015 à 16:11

Sous Ubuntu, depuis la dernière mise à jour (15.10), Code::Blocks me pose des soucis. J’avais pour habitude de mettre mes projets Code::Blocks en c++ sous le répertoire /home/boutor/Modèles/cpp/

Jusqu’à aujourd’hui pas de soucis.

Lors de la compilation les fichiers objets ne sont pas générés (.o) , ce qui fait que la liaison plante et donc on n’obtient pas d’exécutable.

On obtient une sortie typique comme suit :

Build started on: 12-12-2015 at 16:02.02
Build ended on: 12-12-2015 at 16:02.02
————– Build: Debug in Shallow (compiler: GNU GCC Compiler)—————
g++ -Wall -fexceptions -I./include -g -c /home/ben/Modèles/cpp/Shallow_Magnet/main.cpp -o obj/Debug/main.o
g++ -Wall -fexceptions -I./include -g -c /home/ben/Modèles/cpp/Shallow_Magnet/src/grid.cpp -o obj/Debug/src/grid.o
g++ -Wall -fexceptions -I./include -g -c /home/ben/Modèles/cpp/Shallow_Magnet/src/tinyxml2.cpp -o obj/Debug/src/tinyxml2.o
g++ -o bin/Debug/Shallow_Magnet obj/Debug/main.o obj/Debug/src/grid.o obj/Debug/src/tinyxml2.o
g++: error: obj/Debug/main.o: Aucun fichier ou dossier de ce type
g++: error: obj/Debug/src/grid.o: Aucun fichier ou dossier de ce type
g++: error: obj/Debug/src/tinyxml2.o: Aucun fichier ou dossier de ce type
g++: fatal error: no input files
compilation terminated.
Process terminated with status 1 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))

Si vous lancez la compilation dans un terminal en recopiant les lignes fournies par l’onglet Build Log, les fichiers objets sont bien créés. Par exemple cette ligne-là :

g++ -Wall -fexceptions -I./include -g -c /home/ben/Modèles/cpp/Shallow_Magnet/main.cpp -o obj/Debug/main.o

J’ai déplacé le répertoire contenant mon projet Code::Blocks à la racine de mon /home/ et là, la compilation a fonctionné. Le problème vient en fait du « è » dans Modèles. Je n’ai pas trouvé la réelle origine du problème. En attendant si vous êtes bloqués, enlevez les caractères spéciaux dans votre arborescence pour Code::Blocks.

Par défaut je n’en met jamais, mais ce répertoire est créé par défaut. Donc je l’utilisais.

 

 


Gravatar de Boutor
Original post of Boutor.Votez pour ce billet sur Planet Libre.

elementary OS : Sortie de Freya 0.3.2

samedi 12 décembre 2015 à 15:15

Juste à temps pour les vacances; la version mineure 0.3.2 d’elementary OS Freya vient d’être rendue publique et se concentre sur la résolution de problèmes liés principalement à l’UEFI et au SecureBoot, des mises à jour de traduction et quelques nouvelles fonctionnalités font leurs apparitions.

EFI & SecureBoot

Avec l’aide incroyable d’Antoni Norman (aka Pinguy), Cody a presque complètement réécrit le système de construction d’image ISO utilisé depuis la version 0.3.1. De nombreux tests ont été effectués sur pléthores de configurations matériels : du 64-bits avec ou sans UEFI, sur des machines disposant d’un BIOS classique, avec ou sans connexion internet, avec SecureBoot d’activé ou en Legacy Boot. Bref, le message : “GRUB boot error!” c’est du passé.

Internationalisation & Traductions

L’équipe de développement a travaillé en étroite collaboration avec Leonardo Lemos et Maxim Taranov (alias PNG) pour améliorer le support des traductions dans elementary OS. Certains éléments ne pouvaient être traduits et le sont maintenant. Il a été rapporté que l’installateur pouvait rencontrer quelques soucis avec les langues autres que l’anglais ou l’espagnol (ndt : le français a aussi été impacté). L’équipe a donc décidé d’inclure un pack de 22 langues additionnelles, faisant ainsi sensiblement augmenter la taille du téléchargement mais apportant les corrections aux problèmes cités précédemment. Pour faire court, cette version et les suivantes d’elementary OS seront mieux traduites !

Nouvelles fonctionnalités

Les développeurs n’ont pas pu résister à l’envie de nous montrer quelques améliorations et fonctionnalités : Le menu Applications affiche séparément vos applications de la section paramétrage lors d’une recherche. Il est maintenant possible d’utiliser certaines actions offertes par vos logiciels comme “Composer un message” depuis Geary ou “Nouveau Document” via Scratch tout cela depuis le menu Applications. Certains utilitaires ne seront plus affichés tel que le Gestionnaire d’archive ou l’outil de gestion de polices de caractères; ils seront toujours disponibles depuis l’application Fichiers ou lors d’une recherche, l’équipe a indiqué que leur présence encombrer le menu Applications. Des correctifs ont été apportés aussi sur d’autres éléments visuels dont certains été liés aux applications utilisant le thème sombre d’elementary, un travail a été aussi réalisé sur les ombres des fenêtres, du panneau Application ainsi que pour d’autres éléments.

Raccourcis d'actions sous Freya 0.3.2

Plus de 5 millions de téléchargements

Une nouvelle étape a été franchie: depuis que le projet a déménager de Sourceforge en Juin, il a été enregistré plus de 1.2 million de téléchargements sur le serveur d’elementary. C’est plus d’un petabyte de données! Merci à Digital Ocean qui est l’hébergeur. Au total, elementary OS aurait été téléchargé 5.3 millions de fois !

Comment mettre à jour ?

Si vous êtes déjà sur elementary OS Freya, il n’y a pas grand chose à faire. Les mises à jour sont déjà disponibles, exécutez l’application Gestionnaire de Mises à Jour et appliquez les dernières updates. Si vous n’utilisez pas elementary OS, allez récupérer l’ISO d’elementary OS Freya 0.3.2 directement sur le site officiel !

Remerciements!

L’équipe de développement remercie leurs soutiens sur Bountysource, Patreon et ailleurs pour directement financer leur travail ! Si vous souhaitez apporter votre contribution financière au projet ementary OS jetez un coup d’œil à cette page. Si vous êtes devenus maitre Jedi en langage Vala ou tout simplement développeur et que chasser des bugs tel Boba Fett ne vous fait pas peur : alors rendez-vous sur la page Bountysource du projet, vous pourrez apporter votre contribution et récupérer quelques espèces sonnantes et trébuchantes.

Source: http://blog.elementary.io/post/134884577281/freya-032-released

Le billet Sortie de Freya 0.3.2 a été publié sur le site de la elementary OS -

Gravatar de elementary OS
Original post of elementary OS.Votez pour ce billet sur Planet Libre.

Nicolas Lœuillet : CMS, frameworks : recensement des versions de PHP (décembre 2015)

vendredi 11 décembre 2015 à 12:00

J'ai annoncé hier que wallabag 2 ne serait pas compatible avec PHP <= 5.4, en conseillant vivement aux personnes qui avaient un serveur avec une version de PHP <= 5.4 de le mettre à jour.

Pour quelle raison wallabag ne sera pas compatible ? Car wallabag implémente Rulerz (pour avoir un joli moteur de règles) qui utilise les générateurs (source).

Suite à une discussion avec Pierrick de Piwigo.com (qui me conseille de ne pas aller trop vite pour ne pas se couper une part non négligeable d'utilisateurs), j'ai décidé de faire le tour des applis PHP pour voir si on était dans le vrai ou pas avec wallabag.

Petit rappel : PHP 5.4 n'est plus maintenu (même les failles de sécurité) depuis le 3 septembre 2015. Faut-il aussi vous rappeler que PHP 5.3 n'est plus maintenu depuis août 2014 et pour PHP 5.2, c'est depuis le 6 janvier 2011 (il y a bientôt 5 ans) ? (source)

C'est facile de dire de mettre à jour son serveur, mais comment faire quand on est sur du mutualisé ?

Jetons un œil du côté de certains hébergeurs

OVH

Possible d'installer PHP 5.4, 5.5 et 5.6 (source)

Web4all

Possible d'installer PHP 5.2, 5.3, 5.4, 5.5 (source)

Alwaysdata

Possible d'installer PHP (accrochez-vous) ... 4.4.9 et de 5.2.5 à 7.0.0 (source).

Non, je ne reviendrai pas sur PHP 4.4.9 (mort depuis 7 ans et 4 mois). NON.

Bilan

OK, je n'ai pas fait le tour de 10.000 hébergeurs, mais on voit quand même qu'il existe des hébergeurs grand public qui ont des versions correctes de PHP. Donc si votre hébergeur actuel ne vous propose pas PHP 5.5, contactez-le ... ou quittez-le. Ce n'est pas à vous de payer les lenteurs de votre hébergeur.

CMS & frameworks

Frameworks

50% PHP 5.3 et 50% PHP 5.5

CMS

80% PHP 5.5 et 20% 5.6

Autres applications

50% PHP 5.2 et 50% PHP 5.5

Conclusion

Nous avons donc :

En annonçant donc que wallabag v2 ne serait pas compatible avec PHP <= 5.4, je me situe dans les 73% des applis / frameworks présentes dans cet aperçu.

OK, des personnes ne pourront pas installer wallabag v2 du premier coup, mais ça leur permettra peut-être de se dire qu'il serait temps de changer de crèmerie.

Je suis bien évidemment pour avoir un maximum d'utilisateurs et se dire que potentiellement, on perd 30% d'utilisateurs, c'est beaucoup. Mais j'estime également que nous avons un rôle en incitant les gens à mettre à jour leurs plateformes.
En dehors d'avoir le dernier gadget à la mode dans notre application (nous ne forçons pas les gens à avoir PHP 7 par exemple), c'est surtout une question de sécurité : les anciennes versions de PHP ont des failles de sécurité qui ne seront jamais corrigées.

Gravatar de Nicolas Lœuillet
Original post of Nicolas Lœuillet.Votez pour ce billet sur Planet Libre.