summaryrefslogtreecommitdiff
path: root/content/Informatique
diff options
context:
space:
mode:
Diffstat (limited to 'content/Informatique')
-rwxr-xr-x[-rw-r--r--]content/Informatique/sailfish.rst143
1 files changed, 99 insertions, 44 deletions
diff --git a/content/Informatique/sailfish.rst b/content/Informatique/sailfish.rst
index 2a88cc9..18593e6 100644..100755
--- a/content/Informatique/sailfish.rst
+++ b/content/Informatique/sailfish.rst
@@ -7,31 +7,28 @@ Développement d'application pour Sailfish OS
:date: 2015-12-31
:tags: Libre, Programmation
-:summary: |summary|
:logo: /images/sailfish/sailfish.jpg
+:summary: Petite revue du développement et de la sécurité du système
+ d'exploitation Sailfish, suite à la diffusion de ma première
+ application.
.. figure:: {filename}/images/sailfish/sailfish.jpg
:figwidth: 150
:figclass: floatleft
- :alt: Goban
+ :alt: Logo de sailfish OS
-|summary|
-.. |summary| replace::
- J'ai publié cette semaine ma première application pour Sailfish OS. Il
- s'agit du système qui tourne sur les téléphones Jolla. Ce petit jeu permet
- de charger des problèmes de go déjà préparés, pour ensuite les tester et
- rechercher la solution.
-
-La première version a été publiée sur le site openrepos.net_ la semaine
-dernière, pour la première version du jeu avec les fonctionnalités que je
-souhaitais.
+J'ai publié cette semaine ma première application pour Sailfish OS. Il s'agit
+du système qui tourne sur les téléphones Jolla. Ce petit jeu permet de charger
+des problèmes de go déjà préparés, pour ensuite les tester et rechercher la
+solution. La première version a été publiée sur le site openrepos.net_ la
+semaine dernière, pour la première version du jeu avec les fonctionnalités que
+je souhaitais. C'est l'occasion de faire une petite revue du développement pour
+Sailfish OS.
.. _openrepos.net: https://openrepos.net/content/chimrod/tsumego
-C'est l'occasion de faire une petite revue du développement pour Sailfish Os.
-
Présentation
============
@@ -67,22 +64,27 @@ Le développement se fait donc en QML, et un binding python est également dispo
Des exemples sont fournis, permettant de lancer quelques applications,
-principalement en QML et javascript. La partie C++ est limitée au lancement de
+principalement en QML et javascript ; la partie C++ est limitée au lancement de
l'application.
-Des incohérences sont autorisées par l'éditeur et le compilateur dans
-l'agencement des composants — par exemple il est possible de mettre un
+On peut remarquer des incohérences autorisées par l'éditeur et le compilateur
+dans l'agencement des composants — par exemple il est possible de mettre un
composant « page » dans un autre composant « page » ce qui provoque des erreurs
à l'affichage ou dans le comportement. Quand on a pris l'habitude des langages
fortement typés où le compilateur bloque tout programme mal structuré, ça
-agace…
+agace… Il s'agit d'un problème dans l'éditeur Qt Creator et non sur le système
+mais pour un développeur qui ne connaît pas, ce genre de problème met du temps
+avant d'être compris et résolu.
La documentation
----------------
La documentation ne couvre que la partie composant graphique de QML. Les
composants propres au système Sailfish OS sont bien décrits et l'aide est
-intégrée à Qt Creator sans qu'il soit nécessaire d'aller chercher sur le net.
+intégrée à Qt Creator sans qu'il soit nécessaire d'aller chercher sur le net
+(la documentation autrefois disponible en ligne a été retirée lors de la
+dernière diffusion de l'environnement de développement ; on trouve donc de
+nombreux liens qui pointent désormais inaccessibles… )
Par contre, le fonctionnement des binding python (par exemple) n'est pas
couvert, et il est nécessaire de parcourir le code des autres projets pour
@@ -99,6 +101,27 @@ La compilation
Il n'y a donc aucune difficulté pour tester packager, diffuser une application.
+Bilan
+-----
+
+Je n'ai eu aucun problème à installer et lancer l'environnement de
+développement. Tout fonctionne correctement dès l'installation sans rien avoir
+à configurer.
+
+Les technologies utilisées sont plutôt bien choisies (au moins pour quelqu'un
+qui a déjà son PC sous linux), et actuelles. Je pense que le pari d'avoir
+choisi Qt est gagnant, autant pour l'équipe de développement du système, qui
+dispose déjà d'un environnement bien construit que pour le développeur
+d'application qui trouve facilement de la documentation pour son besoin.
+
+L'émulateur tourne dans une image virtualbox. Il est possible de se connecter à
+la machine via ssh, ce qui permet d'accéder au système, il n'y a pas de
+limitation d'accès et il est possible d'être root comme sur le téléphone.
+
+Sur mon poste, l'environnement est beaucoup plus lent que le téléphone, il est
+parfois nécessaire d'attendre un moment avant de charger une page et qu'une
+animation se termine.
+
La sécurité
===========
@@ -112,7 +135,10 @@ La sécurité
.. _David Goehring: https://www.flickr.com/photos/carbonnyc/2294144289
.. _creativecommons: https://creativecommons.org/licenses/by/2.0/
-Oups ! Contrairement à un système android, dans lequel les applications
+Gestion de droits
+-----------------
+
+**Oups !** Contrairement à un système android, dans lequel les applications
affichent les droits qu'elles requirent (avec plus ou moins de succès bien
sûr), ici rien de tout ça : le développeur est maître à bord de son
application, et celle-ci tourne avec les droits de l'utilisateur en disposant
@@ -120,27 +146,56 @@ pleinement du système.
On dispose donc d'un accès à l'ensemble des fichiers, aux connexions réseaux
etc. Ça rend le développement bien sûr plus facile, mais ça signifie qu'il faut
-rester vigileant quand on télécharge une nouvelle application.
-
-Bilan
-=====
-
-Je n'ai eu aucun problème à installer et lancer l'environnement de
-développement. Tout fonctionne correctement dès l'installation sans rien avoir
-à configurer.
-
-Les technologies utilisées sont plutôt bien choisies (au moins pour quelqu'un
-qui a déjà son PC sous linux), et vraiment actuelles. Je pense que le pari
-d'avoir choisi Qt est gagnant, autant pour l'équipe de développement du
-système, qui dispose déjà d'un environnement bien construit que pour le
-développeur d'application qui trouve facilement de la documentation pour son
-besoin.
-
-L'émulateur tourne dans une image virtualbox. Il est possible de se connecter à
-la machine via ssh, ce qui permet d'accéder au système, il n'y a pas de
-limitation d'accès et il est possible d'être root comme sur le téléphone.
-
-Sur mon poste, l'environnement est beaucoup plus lent que le téléphone, il est
-parfois nécessaire d'attendre un moment avant de charger une page et qu'une
-animation se termine.
-
+rester vigileant quand on télécharge une nouvelle application. En fait le
+comportement est identique à la situation que l'on peut rencontrer sur son
+poste d'utilisateur : l'utilisateur installe ce qu'il veut sur son ordinateur,
+et ce qu'il installe relève de sa responsabilité…
+
+Pour l'instant, une grosse partie de la sécurité repose sur la faible
+utilisation du système, mais à terme, le problème risque de prendre de plus en
+plus d'importance…
+
+La diffusion
+------------
+
+Il n'est pas difficile de diffuser son application une fois prête. Le site
+openrepos permet facilement d'ouvrir un compte et fournir un espace pour
+envoyer ses applications. Du côté utilisateur, il suffit d'activer le compte du
+développeur pour pouvoir installer l'ensemble de ses applications.
+
+Par contre, le *open* du nom indique juste que le site est ouvert à tout le
+monde : aucune obligation de diffuser son code source (ni même aucune garantie
+que le code que l'on télécharge correspond à celui affiché…). Cela veut donc
+dire qu'il faut être prudent lorsqu'on télécharge une application. Pour
+l'instant je n'ai pas entendu parler de compte diffusant des malwares (la
+faible part de marchés des téléphones jolla doit aider), mais c'est un gros
+avertissement pour l'ensemble des utilisateurs.
+
+.. admonition:: Bémol
+
+ Il faut quand même avoir autorisé l'installation d'applications depuis des
+ dépôts tiers pour pouvoir installer les applications depuis ce catalogue.
+
+ (mais qui aujourd'hui n'a jamais installé une application
+ depuis un catalogue non officiel ?)
+
+Quelles solutions ?
+-------------------
+
+La sécurité est une affaire de contraintes et de confiance. Contrainte pour
+garantir qu'une application ne sort pas du cadre qui lui a été accordée, et
+confiance de l'utilisateur vers l'application qu'il utilise (ou vers la chaîne
+qui relie l'application au développeur). Pour l'instant aucun des deux points
+n'est satisfaisant.
+
+Pour autant, il n'existe pas de solution parfaite : les droits accordés aux
+applications android n'empêchent pas la diffusion de malwares sur le système,
+et les développeurs échangent avec les utilisateurs sur les `forums de maemo`_,
+ce qui permet de garder une proximité.
+
+.. _forums de maemo: http://talk.maemo.org/forumdisplay.php?f=52
+
+Tout ça pour dire que cette solution n'est peut être pas viable à grande
+échelle, mais elle n'est pas non plus catastrophique *pour l'instant*. Pour
+autant je n'ai pas vu de discussions qui vont dans le sens de mettre en place
+davantage de contrôles sur les applications sur les catalogues d'applications.