App Store : 76 % pour iOS 10

Les chiffres officiels d’Apple sont tombés.

76 % des utilisateurs utilisent iOS 10 (fin 2016). Soit une progression de 13 % en 2 mois. 18 % sont sur iOS 9 (fin 2015). Et seulement 6 % sont sur une version inférieure.

En étant compatible iOS 9 et supérieurs, vous pouvez atteindre 94 % des utilisateurs.

Mais, objectivement, 76 % est aussi très bien si vous souhaitez utiliser des fonctionnalités récentes !

Une nouvelle toujours réjouissante pour les développeurs. 🙂

À titre de comparaison du côté Android, si vous souhaitez être compatible avec 60,7 % des utilisateurs, vous devez fonctionner sur les versions 5 (mi-2015) et supérieures. Pour passer au-delà des 75 %, il faudra accepter d’être compatible Android 4.4 (fin 2013). Et pour passer au-delà des 90 %, il faudra passer à la version Android 4.2 (fin 2012). La dernière version (7) sortie fin 2016 est présente sur 0,4 % des appareils. Et si on veut les deux dernières versions (6 et 7), on atteindra au mieux 26,7 % des utilisateurs.

Ce qui est pénalisant côté développement mobile l’est également pour la partie web. Les versions inférieures à Android 4.4 ayant par défaut un navigateur obsolète.

Mais bon. Côté iOS, on reste au top technologiquement. Et ça, c’est une super nouvelle !

Source : https://developer.apple.com/support/app-store/

Délai supplémentaire pour le HTTPS chez Apple

Votre app sort bientôt et n’est pas encore 100% HTTPS ? (pas bien !)

Apple vous donne un délai supplémentaire. Initialement, l’échéance était au 1er janvier 2017. Cette échéance a été repoussée.

Une fois cette échéance passée, toute application mobile devra communiquer en HTTPS et non plus en HTTP. Question de sécurité et de confidentialité.

https://developer.apple.com/news/?id=12212016b&1482372961

Les nouveautés Apple 2016 en synthèse

Cette semaine, nous avons pu découvrir les nouveautés présentées par Apple :

  • watchOS 3
  • iOS 10
  • tvOS 10
  • macOS 10.12

Quelle sont les opportunités offertes aux développeurs cette année ? Faisons un très rapide tour d’horizon.

Sur toutes les plateformes

Les 4 plateformes ont beaucoup de choses en commun.

Swift 3

Le fameux langage Swift passe de la version 2 à la version 3. XCode 8 permettra de passer facilement de l’un à l’autre. Sachant que la compatibilité avec Swift 2.3 sera conservée de sorte à ce que la migration puisse se faire en douceur.

XCode 8

XCode 8 propose plein de nouveaux outils. Et, grosse nouveauté, XCode permet enfin de concevoir officiellement des extensions pour l’éditeur.

La sécurité

Les exigences en matière de sécurité ont été relevées.

D’après TechCrunch, les connexions aux serveurs devront se faire en HTTPS dès le 1er janvier 2017. Sinon, les apps ne pourront pas être validées.

Et de nombreux mécanismes similaires ont été mis en place pour renforcer la sécurité.

De nouveaux algorithmes de sécurité sont disponibles. Les plus risqués sont devenus obsolètes.

On peut aussi faire un copier-coller sécurisé entre 2 appareils.

Plus de détails ici : https://developer.apple.com/security/

La confidentialité

Là encore, Apple ne rigole pas. Le niveau d’exigence en matière de confidentialité des données a été relevé, même si on est globalement sur des aspects techniques gérés par l’OS en lui-même.

C’est notamment le cas pour l’intelligence artificielle qui permet de retrouver les photos : l’algorithme mis en place est exploitable sans avoir à transmettre d’informations précises. C’est la technologie Apple qui gère. Et, en un sens, c’est tant mieux.

Les performances

Sur watchOS, les applications se lanceront (enfin) instantanément.

De manière générale, les performances ont été améliorées. Notamment au niveau des connexions à Internet : un système de priorité est maintenant intégré au système.

Sur ces différents aspects, aucun travail complémentaire n’est nécessaire du côté des développeurs.

SiriKit : Siri accessible aux développeurs

Les applications iOS pourront être commandées par Siri. Dans des cadres pré-définis :

  • appels audio / vidéo (Skype)
  • envoi de messages (WhatsApp)
  • paiements (Leetchi, MacDo ?)
  • recherche de photos (Instagram)
  • entrainements (Runtastic)
  • réservation de véhicule. (Uber)

Les interactions permettront d’interpréter le message et afficher un contenu personnalisé (sauf sur Carplay, pour garder le regard sur la route)

Les suggestions pro-actives

Dans iOS 9, on pouvait intégrer les suggestions dans Spotlight et les recherches dans Safari.

iOS 10 va plus loin en intégrant notamment les recherches basées sur la géolocalisation.

On peut également intégrer les trajets via un service d’auto-partage.

Si on recherche un album audio, l’application pourra suggérer un morceau.

Intégration dans l’app Messages

Messages – l’application utilisée pour envoyer des SMS et des iMessage –  a été optimisée et enrichie en termes de fonctionnalités.

Les développeurs pourront ainsi proposer, via un App Store spécifique, des fonctionnalités supplémentaires :

  • des stickers pour agrémenter les messages
  • des applications permettant l’interaction au sein de l’app de messagerie.

Cela peut-être utilisé, par exemple, pour proposer un restaurant à un ami et lui proposer de choisir son menu. Une fois que l’ami a validé son repas, on valide soi-même le sien, on paye (via Apple Pay) et c’est fait.

Des notifications push plus riches

De nombreuses possibilités ont été ajoutées au sein des notifications push.

Les alertes locales peuvent être conditionnées par une date et un lieu par exemple.

Et l’apparence des alertes peut également être personnalisée.

La reconnaissance vocale

Une nouvelle API permet, au sein d’une application, de transformer un fichier audio en texte.

C’est ce qui est utilisé dans la nouvelle application téléphone pour transformer les messages audio du répondeur en messages texte.

Amélioration de la recherche dans les apps

Dans iOS 9, le contenu des apps pouvait être référencé.

Avec iOS 10, on va plus loin. Tout en conservant le respect de la vie privée.

Amélioration des widgets

iOS 9 a permis de créer ses propres widgets. iOS 10 améliore les choses, en profitant des améliorations du système d’exploitation en lui-même.

Intégration Apple Pay améliorée

Apple Pay arrive en France en juillet ! (plafond à 300 €, et non 20 € comme les autres paiements sans contact)

De nouveaux modes de paiement ont été intégrés. On peut également maintenant payer directement depuis watchOS ou depuis un site web.

CallKit

iOS 10 propose une interaction améliorée aussi bien pour les apps de VoIP que pour l’intégration générale avec le système.

Par exemple, des extensions permettant le blocage des appels ou l’identification des appelants. Ce qui ouvre des possibilités intéressantes.

Actualités

L’application Actualités a été améliorée. De nouvelles options sont présentées ici : https://newsresources.apple.com.

Les comptes pour abonnés à la TV

La gestion des abonnées aux chaînes de TV peut être gérée directement dans les apps.

Utile, surtout sur AppleTV, pour proposer du contenu réservé aux abonnés.

Les extensions d’apps

Là, c’est du lourd.

On peut étendre le système avec encore plus de possibilités :

  • Accès aux appels
  • Suggestions dans Plans et Siri (+ interface personnalisée)
  • Messages
  • Contenu des notifications
  • Services liés aux notifications
  • Packs de stickers (pour Messages)
  • D’autres améliorations, notamment pour les claviers personnalisés.

Autres améliorations

Les photos RAW et les LivePhotos sont maintenant gérées dans les apps.

Core Data a été (un peu) amélioré.

Core Image a été amélioré, avec 9 nouveaux filtres et une gestion des couleurs étendue.

Core Motion permet d’accéder au podomètre.

GameKit et GameplayKit ont également connu quelques améliorations.

HealthKit commence à atteindre un certain niveau de maturité.

HomeKit permet d’accéder à de nouveaux appareils connectés et va un peu plus loin.

Metal propose un meilleur rendu avec de meilleures performances.

Il en va de même pour SceneKit, ReplayKit, UIKit, et les autres.

Les fonctionnalités dépréciées

Tout ce qui concerne iAd va doucement vers la sortie.

CloudKit a connu quelques changements dus au partage de documents. Le code est à ajuster.

Quelques éléments liés à Core Data et SpriteKit passent aussi à la trappe.

Au niveau des notifications, ça évolue aussi.

Au final, on s’en sort bien si on a respecté les recommandations présentées avec iOS 9 et précédents.

Conclusion

En intégrant ces nouvelles possibilités et intégrations avec l’OS, Apple donne un nouveau souffle aux apps.

A chacun de savoir saisir les opportunités offertes par ces nouvelles fonctionnalités.

Les apps Android : merci, au revoir

Après 3 ans de développement Android, il me semble bon d’en arrêter là.

Morin Innovation ne concevra plus aucune autre application Android que celle où elle est engagée (que mes clients actuels se rassurent, le job sera fait).

Les raisons de cette décision

Cette décision n’a pas été prise à la légère. Elle est le fruit de plusieurs mois de réflexion.

Un niveau qualitatif insuffisant

Bien que le travail des ingénieurs Google soit tout à fait honorable, la plateforme Android ne répond pas à autant de critère de qualité que ses concurrents.

La conséquence immédiate de cette légèreté : les utilisateurs sont moins bien servis, et les clients sont déçus lorsqu’ils comparent avec les autres plateformes.

Malgré une tentative louable, Android n’atteint absolument pas le niveau requis. A quelque niveau que ce soit.

Les outils ne sont pas terribles : on a toujours l’impression d’avoir une version « beta », ce qui nuit à la productivité.

Le kit de développement est correct dans le sens où il est complet. Pour le reste, c’est basique, mais acceptable.

L’ergonomie est très moyenne.

D’autant qu’il faut composer avec les anciennes versions Android, ce qui ne garantit pas une cohérence optimale. Ça fait des lustres qu’on nous promet des améliorations : rien ne vient. On doit être compatible avec des OS datant de 2012 (4 ans!). Autant dire, une éternité dans le monde mobile.

Bref : la qualité est moyenne et en plus ça prend plus de temps, donc ça coûte plus cher pour tout le monde.

La cerise sur le gâteau : la sécurité

Après une étude approfondie d’un problème qui est d’actualité, il s’avère que la sécurité Android est au niveau minimum. Même sur les versions récentes du système (et celles en développement aussi d’ailleurs).

Je ne souhaite pas que les informations concernant les utilisateurs de mes apps soient divulguées ou du moins facilement accessible. Je me suis fait entendre dire plus d’une fois : « Oui, mais on s’en fout de la sécurité des données des utilisateurs. Qui s’en préoccupe ? ». C’est pour moi un manque de respect. On se doit d’offrir le meilleur.

Je souhaite également éviter la propagation des informations sensibles concernant les développements réalisés pour mes clients. Je protège tous mes appareils (chiffrage de disque, etc) et les codes sources que je partage avec mes clients sont stockés sur des plateformes sécurisées, dont l’accès nécessite une sécurité à facteurs multiples (envoi d’un code par SMS pour accéder aux données protégées, certificats SSL pour accéder au code source, identification par signature GPG des développeurs, etc).

De la même manière, je fais en sorte de ne stocker aucun identifiant dans mes codes sources, de sorte à ne pas donner le moindre indice à un potentiel hacker.

Et je met également en application, dans la mesure du possible, l’intégralité des recommandations OWASP disponibles.

Ceci est possible sur iOS, au sein de Ruby on Rails, mais pas vraiment sur Android dont la plateforme ne correspond plus aux critères de sécurité actuels. Pour ceux qui en doutent, je rappelle à leur bon souvenir le temps qu’il a fallu au FBI pour accéder à un appareil Apple moyennement protégé alors que la sécurité Android saute en quelques heures tout au plus.

De plus, en quelques heures (2 minutes devant l’ordi qui va fonctionner tout seul pendant quelques heures), on peut récupérer une version du code source allant de lisible à difficilement compréhensible. Mais il est extrêmement compliqué et coûteux de réellement bien protégé une app Android. A contrario, une app iOS ou Windows est sécurisée par défaut. Le code source n’est pas accessible. Et, de surcroit, il est possible de ne pas y intégrer d’informations sensibles.

À l’instar de la qualité d’usage, qui est peut être subjective, la qualité en matière de sécurité est un critère on ne peut plus factuel. Et cette réalité va en grandissant au fur et à mesure que le temps passe.

Je ne prendrai pas cette responsabilité.

Les alternatives

Les alternatives pour les clients et les utilisateurs sont les suivantes.

Pour les clients

Honnêtement, il y a beaucoup de faux dans les téléchargements et exécutions d’apps Android. J’ai moi-même vu des statistiques Analytics avec des applications étant téléchargées et non lancées. Ou des applications étant lancées une fraction de seconde. Ce n’est pas un comportement d’utilisateur « normal » et encore moins un comportement « rentable ».

Autant disposer d’applications natives de très bonne qualité et un très bon compromis pour la version web. Le HTML5 fait aujourd’hui de très bonnes choses dans un cadre relativement sécurisé. Certes, cela ne permet pas forcément de disposer de toutes les possibilités du natif, mais cela reste mieux qu’une app de qualité moyenne.

Si vous souhaitez vraiment avoir une app Android, je vous recommande donc de consulter un développeur Android avec un niveau senior et de très solides compétences dans le domaine de la sécurité. Pour vous et pour vos utilisateurs.

Pour les utilisateurs

Vous avez un Android et entendez des promesses d’amélioration depuis des années ? C’est normal : la publicité et le marketing, c’est le domaine de Google.

Quand vous téléchargez une app, assurez-vous qu’elle est très bien protégée (Comment ? Je l’ignore) et utilisez l’authentification à multiples facteurs quand c’est possible.

Sinon, si vous avez un budget à partir de 500 € en appareil nu (sans abonnement), l’iPhone SE est une petite bombe. Vous pouvez avoir des iPhone chez Free Mobile pour moins de 20 € par mois. Et chez Orange, avec un abonnement, on peut avoir un iPhone à partir de 1 €. Un iPhone SE sera au top pendant environ 3-4 ans.

Les Windows Phone récents (surtout Windows 10) tiennent bien la route aussi en matière de sécurité.

Si vous êtes sur Android, de manière générale, préférez les applications web aux applications natives : elles ont plus de chances d’être sécurisées.

Et l’avenir ?

L’avenir s’annonce radieux. 🙂

Morin Innovation va se focaliser sur un développement web (sites + services web) de bonne qualité grâce à Ruby on Rails.

Le tout fonctionnant en parfaite harmonie avec des applications Apple (iOS, tvOS, watchOS, macOS OS X) répondant aux mêmes critères de qualité et de sécurité.

Je continuerai de faire de la veille sur Android, notamment pour assurer un niveau de sécurité adéquat vis à vis des services web que je mettrai en place. Mais c’est tout.

L’expérience Android se termine ici.

Merci Google et au revoir.

Statistiques des OS mobiles avril 2016

Il est toujours utile de connaître les versions des OS mobiles en cours d’usage afin de déterminer le niveau de compatibilité (et de sécurité) des apps et sites web que l’on conçoit.

Avec iOS 9 (fin 2015) et Android 4.2 (fin 2012), vous pourrez atteindre 80 % du marché.

Avec iOS 8 (fin 2014) et Android 4.1 (mi-2012), vous pourrez atteindre 90 % du marché.

Le détail dans la suite de l’article.

IOS

Les dernières versions de iOS sont iOS 8 (fin 2014) et iOS 9 (fin 2015)

Les derniers chiffres officiels annoncent ceci :

  • 84 % pour iOS 9 (+ 5 % en 40 jours)
  • 11 % pour iOS 8 (- 5 % en 40 jours)
  • 5 % pour les autres versions (stable depuis plusieurs années)

La version permettant d’atteindre plus de 80 % du marché est iOS 9 (84 %).

La version permettant d’atteindre plus de 90 % du marché est iOS 8 (95 %).

Android

Les dernières version de Android sont Android 5 Lollipop (fin 2014) et Android 6 Marshmallow (fin 2015).

Les derniers chiffres officiels annoncent ceci :

  • 4,6 % pour Android 6 (+ 3,9 % en 4 mois)
  • 35,8 % pour Android 5 (+  3,2 % en 4 mois)
  • 59,6 % pour les autres versions (- 7,1 % en 4 mois)

La version permettant d’atteindre plus de 80 % du marché est Android 4.2 Jelly Bean (sortie fin 2012, 87,3 % du parc).

La version permettant d’atteindre plus de 90 % du marché est Android 4.1 Jelly Bean (sortie mi-2012, 95,1 % du parc).

Vous souhaitez savoir qui connait vos mots de passe ?

Le titre est un peu racoleur, mais il fait suite à une expérience menée récemment par Morin Innovation.

Selon l’appareil et le réseau que vous utilisez, des informations sensibles vous concernant (mot de passe, coordonnées bancaires, coordonnées sécurité sociale, etc) peuvent être interceptées de manière manuelle ou automatique.

La démarche précise ne va pas être évoqué ici : inutile de donner aux hackers en herbe les techniques de piratage qu’ils pourraient eux-même utiliser.

Première faille : ne pas mettre à jour

Vous utilisez Windows XP « parce que c’était mieux avant » ? Sachez que Windows XP ne reçoit plus de mises à jour. Les nouvelles failles trouvées ne sont donc plus corrigées. C’est un terrain de jeu idéal pour récupérer vos informations personnelles.

Il en va de même pour les anciennes versions de OS X, le système du Mac, dont la mise à jour est gratuite.

Et c’est également la même chose sur les smartphones.

Bien choisir son smartphone

Les smartphones de plus de 4 ans représentant environ 5 % des utilisateurs, et tous les 2 ans en moyenne.

Si votre iPhone a plus de 5 ans, il ne reçoit plus les mises à jour du système iOS. Les iPhone 4S et plus récent ont toujours droit à leur mise à jour. Et sont donc protégés au maximum possible.

Si vous vous orientez vers Android, vous avez le choix entre plusieurs milliers d’appareils. Choisissez plutôt du haut de gamme. Le Galaxy S2 peut être mis à jour avec la dernière version d’Android en passant par l’outil CyanogenMod (si vous êtes un peu geek, vous devriez vous en sortir sans soucis). Les modèles de moyenne gamme ont des mises à jour pendant environ 1 à 2 ans. Les modèles d’entrée de gamme sont bien souvent déjà obsolètes à la sortie.

Pour ce qui est de Windows Phone, environ 80 % des appareils reçoivent des mises à jour récentes, dont la dernière version Windows 10. Les versions Windows 8.1 reçoivent malgré tout des mises à jour de sécurité. Ce qui est plutôt intéressant.

L’étude de la sécurité s’est limitée aux mises à jour concernant Windows Phone tant la part de marché reste – encore – mince.

Le navigateur web

Utilisateurs d’Internet Explorer : toutes les versions inférieures à la version 11 sont obsolètes.

Les autres navigateurs sont mis à jour automatiquement et de manière régulière.

« HTTPS » ne signifie pas toujours « sécurité absolue »

Quand vous vous connectez sur un site en HTTPS, la connexion est sécurisée. Les données qui transitent entre votre ordinateur / smartphone et le site ne sont pas visibles.

Une personne (ou un robot) malintentionnée qui « observerait » la connexion ne verrait passer que des chiffres et lettres sans aucune cohérence.

On distingue les connexion HTTPS par un petit cadenas dans l’adresse du site (la barre en haut), souvent en vert, à gauche ou à droite de l’adresse.

HTTPS

Cependant, les certificats sont parfois obsolètes. En conséquence de quoi un pirate peut interférer entre vous et le site web. En gros, il se fera passer pour le site web vis à vis de vous. Et il se fera passer pour vous vis à vis du site web. Ainsi, il pourra récupérer les informations déchiffrées.

Les techniques modernes et les navigateurs modernes permettent justement d’éviter ça.

Dans Chrome, vous pouvez distinguer un site véritablement sécurisé :

Morin_Innovation

Et un site à la sécurité douteuse :

RSI_–_Authentification_et_Developer_Tools_-_http___localhost_8080_rwd_maiffr_dist_www_transverse_services_simulateur_html

Attention : de nombreuses banques et autres organismes « de confiance » utilisent des procédés obsolètes en matière de sécurité.

Comment aller sur Internet en toute sécurité ?

Il y a 2-3 règles simples pour être en sécurité sur Internet.

Disposer d’un appareil à jour

En allumant votre PC / Mac / Smartphone / What else vérifiez vos mises à jour.

C’est un premier niveau de protection.

Utiliser votre propre ordinateur et votre propre réseau

Les ordinateurs des lieux publics sont des cibles faciles pour les pirates. Ils peuvent souvent se mettre en intermédiaire : l’accès aux connecteurs réseaux n’est pas forcément sécurisé, ce qui permet d’intercepter les communications si on maîtrise la chose.

Et les ordinateurs des lieux publics sont rarement à jour.

Connectez-vous soit chez vous, soit chez un proche. Eventuellement sur une box de votre fournisseur d’accès ou un procédé similaire reconnu.

A défaut, utilisez votre connexion 3G/4G.

Les applications mobiles (ça fait mal…)

L’étude de la sécurité qui a été faite a été réalisée sur des applications mobiles iOS et Android.

La responsabilité de la sécurité dépend à la fois du système d’exploitation et du concepteur de l’application.

La faille courante sur mobile

La faille la plus courante sur mobile n’est pas d’essayer de casser la sécurité de la connexion à un service, mais de baisser le niveau de sécurité pour le rendre obsolète et ainsi récupérer les informations.

En gros, en utilisant un appareil Android « rooté » (ou non mis à jour) ou un iPhone « jailbreaké », on peut faire croire au site web que nous n’avons pas la capacité de mettre en place le niveau de sécurité maximum. On demande donc à communiquer au travers d’une connexion sécurisée obsolète.

Et là, le pirate peut se mettre entre les deux.

IOS : sécurisé par défaut

Les applications iOS sont sécurisées par défaut. Elles sont compilées, chiffrées et le système bloque beaucoup d’accès de sorte à protéger vos données.

Si vous êtes encore sur iOS 8 (il en reste quelques uns), passez rapidement à iOS 9. La dernière mise à jour permet de forcer la sécurité des connexions des applications mobiles grâce à une technologie appelée ATS. Cependant, certains développeurs désactive cette fonctionnalité par paresse de la mise à jour.

Pour le reste, on peut réaliser des applications ne contenant aucun identifiant dans le code (pour se connecter au serveur) et donc totalement sécurisées.

On peut éventuellement renforcer la sécurité avec des techniques complémentaires, au cas où iOS aurait une faille non connue permettant de casser les mécanismes de sécurité en place. Mais, si c’était le cas, le FBI n’aurait pas fait de procès à Apple pour accéder aux informations d’un iPhone.

Sauf si vous ne mettez pas à jour votre iPhone, et si le développeur ne se donne pas la peine de respecter les règles de sécurité par défaut ou n’utilise pas les outils à disposition, votre iPhone est globalement très bien sécurisé.

Ce qui est normal : après tout, vous payez le prix fort – entre autre – pour que vos données soient en sécurité.

Android : sic!

Avant d’être accusé de quoi que ce soit, je tiens à préciser que j’ai lancé plusieurs appels sur la toile ces derniers jours et ils sont restés sans réponse. Si vous avez des réponses à me donner, n’hésitez pas, je complèterai l’article.

J’ai testé plusieurs applications Android, dont celles d’organisations qui devraient protéger la sécurité de leurs utilisateurs. Je ne les citerai pas, par bienveillance et parce que l’erreur est humaine. Et, de toutes manières, il est très difficile de faire mieux que pas terrible avec Android. Je vais expliquer précisément pourquoi.

En premier lieu, j’ai pu découvrir le code source de toutes les applications téléchargées. Et donc récupérer les identifiants de connexion au service web permettant de gérer les données.

J’ai même eu accès à un service d’envoi automatique de SMS. Bref, ça craint. Imaginez que je sois un pervers un peu taré et que j’utilise ce service pour envoyer des SMS salaces : qui se ferait accuser ?

En plus, une faille Android anéantit la sécurité mise en place sur les autres appareils.

Certaines techniques permettent de « masquer » le code source, dont l’obfuscation, qui consiste à complexifier artificiellement le code. Sur une dizaine d’apps, une seule était réellement compliquée à lire. Pour les autres, on s’y retrouvait tout de même facilement. Donc, ça craint. Y compris pour le développeur qui n’y peut rien.

On pourrait utiliser, comme avec iOS, des services Google qui permettraient de récupérer les identifiants sensibles via une connexion établie par l’application et exploitable uniquement par l’application. Ça n’existe pas. Et, même si ça arrivait dans la prochaine version, ce ne serait pas compatible avec la majorité des appareils Android avant plusieurs années.

Bref : on est condamné à laisser en clair les informations.

Si toutefois on utilise une bonne technique pour bien cacher les identifiants de connexion au service web, il n’y a malheureusement aucune technique permettant de forcer la protection de la connexion (aucun équivalent à ATS) : en conséquence, on doit utiliser des techniques particulières pour s’assurer qu’il n’y a personne entre notre serveur et notre application.

J’en ai déjà perdu la plupart d’entre vous : c’est normal, ce domaine qu’est la sécurité est très spécifique.

Pour les développeurs, c’est pareil : la plupart ne connaisse pas tellement la sécurité. Vu que le système n’est pas suffisamment sécurisé par défaut, l’application n’est pas sécurisée. Et, encore une fois, inutile de leur jeter la pierre : la sécurité est un domaine très spécifique et doit avant tout être géré par le système en lui-même.

Je ne dis pas qu’Android n’est pas sécurisé : il y a tout pour bien faire. C’est juste que dans plus de 90 % des cas ce n’est pas sécurisé. Et, malheureusement, on ne peut pas y faire grand-chose.

Faut-il responsabiliser l’utilisateur ? Faut-il responsabiliser le développeur d’application ? Faut-il responsabiliser les concepteurs d’Android ?

Ça ne vous a pas coûté cher : vous savez maintenant pourquoi.

Si un jour votre compte est débité ou votre identité falsifiée, vous saurez que vous n’avez pas eu de chance à la roulette russe. Mais vous saurez surtout d’où peut venir le problème.

« C’est malin, j’ai les boules : t’as pas une solution quand même ? »

Hormis mettre votre Android à la poubelle et acheter un Windows Phone ou un iPhone, vous pouvez tout de même protéger un peu plus vos informations personnelles en évitant que vos données soient volées par n’importe qui.

Cette solution est très utile et doit être appliquée quelle que soit votre smartphone ou ordinateur.

Vous savez maintenant qu’un mot de passe de connexion n’est absolument pas une sécurité : n’importe quel pingouin mal luné peut le récupérer en allant voir 3 tutoriels sur le piratage.

Pour autant, il existe une solution : l’identification à plusieurs facteurs.

Le premier facteur est le mot de passe, totalement « has been » aussi compliqué soit-il.

Le second facteur est l’envoi d’un SMS ou l’envoi d’un code dans une application spécifique.

Et là, c’est malin. Car, pour pouvoir accéder à votre compte, le petit malin devra posséder à la fois votre mot de passe (facile) ET votre téléphone sur lequel sera envoyé un SMS ou un code dans une app. Et, si votre smartphone est bien protégé (mot de passe ou mieux : TouchID), le petit malin pourra aller se brosser.

Si vous souhaitez en savoir plus, j’ai rédigé un petit article à ce sujet.

Le plus triste est que – malheureusement – les banques, assurances et autres établissements ayant à leur disposition des informations sensibles vous concernant utilisent rarement ce système d’identification. (par contre, Google, Facebook, Apple, Microsoft et autres le proposent)

Sur ce, dormez tranquilles… On vous surveille ! (rire sardonique)

Je rigole. 🙂 Mais faites attention quand même.

 

Quoi de neuf chez Morin Innovation ?

Après avoir fait des blagues potaches pour le 1er avril, il est toujours intéressant de connaître la – véritable – actualité de l’entreprise.

Et bien, de nombreux projets en cours et à venir. Notamment grâce à Hopwork et aux rencontres Niort Numeric.

Du service web sécurisé et performant

Dans le cadre d’un projet de startup, j’ai mis en place un service web garantissant une sécurité optimale. Pas parfaite, je n’ai pas cette prétention. Mais répondant à de hauts critères en matière de sécurité et de performances.

Ruby on Rails : on passe la 5ème

Le service web étant mis en production cet été, le développement a été réalisé avec Ruby on Rails 5, la dernière mouture du framework web, actuellement dans ses dernières versions beta.

Comme toujours, l’outil tient ses promesses et propose un socle solide pour le développement en mode agile.

OAuth2 : authentification sécurisée

Le service web étant destiné à une application mobile, l’accès à ce dernier doit être sécurisé tout en conservant une certaine souplesse et de bonnes performances.

Le protocole OAuth2 offre cette possibilité tout en restant sur une architecture standard.

Ajoutez à cela une protection SSL solide, le bon suivi des règles de sécurité OWASP et le tour est joué.

Authenticité des utilisateurs

Quand on échange des données confidentielles, on aime que les personnes sur le réseau soient des personnes de confiance.

La mise en place d’une validation par email et/ou SMS en amont de l’inscription permet de s’assurer – dans une certaine mesure – que les utilisateurs de la plateforme sont de vraies personnes.

Authentification à plusieurs facteurs

Un simple mot de passe peut parfois suffire.

Pour un service web nécessitant un certain niveau de sécurité et de confidentialité, ce n’est pas suffisant.

L’utilisateur à le choix d’activer l’authentification à plusieurs facteurs.

S’il l’active, il reçoit un SMS permettant de valider son identité lors de la première connexion au service sur un même appareil.

Liens courts

Les liens courts permettent de faciliter l’échange de liens : un lien court est facile à recopier et très efficace en QRCode.

En plus, dans un SMS, ça prend moins de place.

Une app iOS moderne sécurisée

IOS offre de nombreux mécanismes de sécurité. Encore faut-il savoir les utiliser à bon escient.

Deeplinking et liens universels

Le deeplinking permet d’ouvrir une app via un format de lien spécifique.

Le lien universel – introduit par iOS 9 – permet d’ouvrir directement une app au bon endroit grâce à un lien vers un site.

Ce procédé permet de renforcer la qualité de l’expérience utilisateur tout en conservant un niveau de sécurité élevé.

Connexion sécurisée aux services web

L’application actuelle est – comme la plupart des applications – connectée à un service web.

Même si la connexion est sécurisée, les identifiants permettant de se connecter aux services web avaient – jusqu’à récemment encore – la fâcheuse habitude d’être intégrés au code source de l’application. Et donc potentiellement récupérables en cassant la sécurité l’application.

Depuis iOS 8, on peut s’affranchir du stockage de ces précieuses données. L’accès au code source en lui-même ne permet pas le piratage car il ne contient pas les identifiants de connexion. (si vous voulez savoir comment je fais, n’hésitez pas à me contacter 🙂 )

Stockage sécurisé des données

IOS propose des mécanismes permettant de sécuriser le stockage des données : autant les exploiter. Toutes les données personnelles de l’app sont chiffrées par le système.

La sécurité des données confidentielles est une question de confiance vis à vis des utilisateurs. Il est essentiel de la garantir.

Accès sécurisé au contenu

Souvent, la sécurité concernant les images et autres contenus stockés sur des CDN se résume à « cacher » l’URL de la ressource en espérant que le contenu ne soit pas vu.

Le système mis en place nécessite l’utilisation d’une signature générée grâce à un identifiant et une clé pouvant eux-même changer. En clair, on ne tombe pas dessus par hasard.

Les performances et l’expérience utilisateur

Ceux-ci sont également essentiels, mais restent plus « classiques ».

On utilise les dernières techniques iOS 8 et iOS 9, avec une bonne dose de Swift, un usage intelligent des différents niveaux d’exécution des tâches et le tour est joué.

To be continued…

Le projet est en cours. D’autres projets vont arriver.

Et, cet été, ce sera – normalement – l’arrivé du successeur de iOS 9 : tout un programme !

À suivre…

Apple, meilleur atout sur mobile

Morin Innovation a commencé le développement mobile fin 2008 sur Nokia puis sur iPhone 3GS. L’entreprise s’appelait alors Kaeli Soft. L’App Store ouvrait juste ses portes. Les délais de validation étaient de 2 mois.

Bref, Apple essuyait les plâtres.

Rapide historique

À cette époque, peu d’utilisateurs étaient équipés de smartphone. Investir dans un smartphone à 500 € semblait être une folie. L’ordinateur personnel faisait pareil et il avait un vrai clavier. Chacun utilisait son téléphone pour téléphoner et son ordinateur pour surfer.

En 2009-2010, j’ai rencontré mon premier vrai succès sur l’App Store pour un de mes clients : 1er sur l’App Store avec plusieurs milliers de téléchargements par jour. À l’époque, c’était énorme.

Au-delà du nom du client, ce qui faisait le succès d’une app était le respect des guidelines Apple. Car la société américaine, qui était encore vouée à l’échec pour les sceptiques les plus téméraires, faisait un travail essentiel pour les développeurs et designers.

En effet, c’était la première fois qu’une société expliquait comment concevoir une application pour qu’elle s’intègre parfaitement dans le matériel, le design du matériel, le design du système et au sein du système. Toute cette mise en musique était orchestré aussi bien au niveau design qu’au niveau technique. L’expérience utilisateur était centrale. Une richesse toujours inégalée aujourd’hui et toujours aussi fascinante.

La suite de l’aventure

Nouvel échec programmé d’Apple : l’iPad. Quelques millions sont tout de même partis.

Le pari était encore plus audacieux qu’avec l’iPhone. En termes d’ergonomie et d’usage, les codes étaient vraiment cassés. La technologie pouvait enfin servir correctement l’homme.

Car c’est bien là-dessus qu’est basé toute la conception de chez Apple. Une technologie doit être vraiment mature avant d’être sur le marché.

L’arrivée des concurrents

Android

Le premier Android est sorti avec un concept génial : une copie de l’interface d’Apple, gérée avec un clavier comme sur Nokia. Un mélange des genres surprenant. Reposant sur la technologie Java du Blackberry et un système Linux probablement pour la facilité d’adaptation.

Google a donc ensuite racheté le smartphone « Frankenstein » pour en faire une copie plus conforme, avec une interface tactile.

En proposant des smartphones à prix cassé en contre-partie de quelques infos personnelles prises ici et là (rien n’est gratuit) et en utilisant une image de rebelle (notre système est ouvert, etc), Google a réussi à s’octroyer la moitié des parts de marché, puis a dépassé Apple sur les ventes. La force du low-cost.

Windows

Après quelques versions assez peu stables du système et après avoir racheté la section mobile de Nokia, Microsoft a réussi à mettre au point un smartphone assez correct avec son Windows Phone 8.

L’ergonomie est unique, basée sur un système de tuiles. Tout en restant assez cohérent au niveau de l’éco-système.

Avec finalement assez peu de parts de marché, Microsoft réussit à rester dans la course tout en restant respectueux des utilisateurs, aussi bien en termes d’expérience utilisateur que de confidentialité, ce qui est tout à son honneur.

Le monde mobile aujourd’hui

Les technologies deviennent convergentes :

  • le web est uniformisé et adapté aux terminaux mobiles
  • les interfaces des applications sont de plus en plus adaptées
  • les applications peuvent maintenant passer du smartphone à l’ordinateur ou la tablette instantanément
  • les réseaux terrestres et mobiles sont de plus en plus performants (Fibre, 4G)
  • les appareils sont très performants
  • les appareils connectés (montres, etc) sont de plus en plus répandus grâce aux évolutions technologiques
  • les assistants virtuels sont disponibles sur les 3 plateformes majeurs (Siri, Now et Cortana)
  • la mobilité fait partie du quotidien.

Google

L’univers Google s’est enrichi en gardant une diversité pesante, chaque constructeur faisant lui-même sa petite cuisine.

On trouve donc des smartphones Android un peu partout, des montres connectées, des TV intégrant Android, des Chromecast, des tablettes Android. Des Android partout, en pagaille.

Un système toujours aussi décousu, qui cherche une certaine uniformité dans son design malgré tout grâce à quelques recommandations faites aux développeurs et designers. Mais, objectivement, c’est un peu compliqué vu la diversité des terminaux.

Des terminaux vendus une centaine d’euros, déjà dépassés à leur sortie et ne pouvant que rarement évoluer. C’est une tromperie pour l’utilisateur qui doit remettre la main à la poche pour rester « presque » dans la course. A moins de vraiment acheter du haut de gamme.

Google excelle sur le web et les innovations « geeks ». Pour le reste, ils ne sont clairement pas à leur place.

Apple

Bien qu’en deuxième position sur le volume, la société californienne reste la plus grosse entreprise du monde.

Les applications sont globalement de bonne qualité et vieillissent bien. Les appareils ne subissent pas l’obsolescence programmée : l’iPhone 4S sorti en 2011 vient de recevoir il y a quelques jours une mise à jour lui permettant d’être non seulement utilisable avec les dernières applications mais également de gagner en performances. On appelle ça un bon investissement.

Les utilisateurs sont majoritairement fidèles à la marque. D’ailleurs, une bonne partie de ceux qui étaient partis sur Android reviennent chez Apple. C’est significatif.

L’iPad continue de ravir ceux qui veulent un écran confortable sans avoir à prendre un appareil utilisé généralement pour le travail.

Le Mac vieillit bien aussi et continue d’évoluer.

La Watch arrive sur un nouveau marché. Elle se positionne en leader absolu, avec plusieurs millions de ventes. Ce qui est plutôt bon pour un produit encore très récent, que les utilisateurs ont encore du mal à s’approprier. Et pourtant, tellement utile au quotidien, quand on ne veut pas sortir son smartphone devant l’assemblée (discrétion oblige), quand on veut exécuter une action facile et rapide (répondre à un SMS, noter un RDV via Siri, répondre sur Skype, confirmer un rappel etc) ou bien si on veut un suivi sport / santé de qualité avec des capteurs plutôt fiables.

L’autre technologie qui renait de ses cendres est l’Apple TV. Ce produit a toujours été un hobby chez Apple. Sauf depuis la dernière version, qui intègre un App Store.

Tous ces appareils fonctionnent de concert : les SMS sont reçus et émis sur l’iPhone, la Watch ou le Mac ; une vidéo – Youtube ou autre – peut être lue sur Mac, iPhone ou Apple TV en toute continuité ; un appel peut être reçu sur le Mac et continuer ensuite sur iPhone sans couper la communication ; on peut répondre à un appel sur iPad ; les documents passent en bluetooth d’un appareil à l’autre sans soucis.

L’écosystème est complet tout en ayant une expérience et une ergonomie cohérente. Un utilisateur d’iPhone n’aura pas à apprendre à utiliser un iPad ou une Watch. C’est naturel.

Microsoft

Le concurrent historique d’Apple a fait un gros travail avec Windows 10. Cette technologie se retrouve sur PC, mais aussi sur XBox One, sur smartphone, sur tablette, sur Raspberry Pi 2, etc. L’expérience utilisateur a été enrichie et est cohérente.

Microsoft conçoit maintenant son propre matériel. On connaissait la tablette Surface, le bracelet Band et la console XBox. On a maintenant le SurfaceBook (concurrent du Macbook) et – a priori – prochainement un « SurfacePhone ». Sans oublier la technologie hologrammes (réalité augmentée diront certains) avec Hololens, fonctionnant également avec Windows 10.

Microsoft pourrait donc surprendre fin 2016 – début 2017.

Et pour les applications ?

Une récente étude a montré qu’il y avait deux fois plus de téléchargements sur Google Play (Android, Google) que sur l’App Store (iOS, Apple). Cette même étude a également montré que les revenus sur App Store était quasiment deux fois supérieurs à ceux de Google Play.

La conclusion est que les utilisateurs Android ne considèrent pas les applications comme un véritable outil, nécessitant d’être acheté comme tout produit. Ce qui peut se comprendre : quand on choisit le low-cost, acheter une application 1 ou 2 € peut être un budget. Et on sait bien que graphiste ou développeur, ce ne sont pas des vrais métiers : pas besoin de rémunérer ces gens. C’est aussi pour ça que les applications gratuites contiennent des pubs : c’est un financement sur la vie privée des utilisateurs. Mais, malgré tout, a priori ça ne suffit pas. D’où la qualité souvent inférieure.

Côté conception, une application de qualité équivalente à une application iOS sur Android coûte généralement au moins deux fois plus cher du fait de la diversité des appareils et l’aspect un peu « bricolé » des outils de développement. Sans garantir une expérience optimale.

Si cette application est réalisée par une agence, soit elle vous facture deux fois plus, soit elle se serre la ceinture, soit elle fait quelque-chose de moindre qualité.

Exception faite pour les jeux vidéos : les technologies comme Unity permettent d’utiliser un même code pour plusieurs plateformes. Etant donné que l’intégration au système n’est pas la priorité pour un jeu vidéo, c’est plutôt légitime.

A contrario, iOS continue tranquillement sa progression. Les optimisations techniques permettent de garder les appareils de plus en plus longtemps dans la course. Surtout depuis qu’Apple conçoit ses propres puces. L’ergonomie s’affine de plus en plus. La convergence des technologies est au rendez-vous. La Watch se démocratise petit à petit du fait des bons retours : il lui manque juste les applications la rendant indispensable. Il n’y a cependant aucun empressement côté Apple : la technologie doit avant tout être maîtrisée et comprise par les concepteurs, à l’instar de ce que l’iPhone a vécu avant sa démocratisation. Une petite mise en garde sur les technologies web : Apple est encore dans la course, mais des améliorations de son navigateur seraient un plus.

Côté Microsoft, le succès de Windows 10 sur PC est au RDV. C’est un excellent produit. Les outils de conception sont cohérents, à l’instar de ce que propose Apple. L’expérience utilisateur n’est pas aussi centrale, mais elle est prise en considération. Windows 10 se met doucement en place. Office 365 rafle la mise un peu partout avec un excellent produit.

Quoi de neuf pour le futur ?

Ceci est une prédiction hasardeuse, à prendre avec des pincettes.

Google va continuer de vendre ses appareils low-cost sans pour autant réussir à uniformiser l’expérience : c’est mécanique. Son côté société « geek » va se renforcer, au détriment du commun des mortels. Mais au bénéfice des technophiles.

Apple va continuer d’évoluer sereinement. Ses systèmes (iOS, watchOS, tvOS, OS X) sont plutôt stables et performants. On pourrait bien voir un enrichissement de l’expérience utilisant les technologies actuelles les plus récentes, notamment 3D Touch.

Microsoft peut se démarquer auprès d’un public professionnel exigeant, notamment grâce à son offre Office 365 qui mets en musique toutes les plateformes, y compris les plateformes concurrentes (Mac, iOS, Android).

On va encore bien s’amuser en 2016 !

Un point sur les parts de marchés des smartphones

Un marché n’est jamais réellement figé mais donne une tendance.

Android en net recul

Google n’a plus vraiment le monopole du low-cost, notamment avec le déploiement massif des smartphones Lumia, à moins de 100 €, qui supporteront la mise à Windows 10.

Le géant du web doit se refaire une santé s’il veut rester leader. Il représente malgré tout 70 % des ventes de smartphone. Un peu moins pour les applications mobiles.

Ceci est également dû au fait que, malgré l’évolution de son système, Android dispose d’un écosystème très diversifié, avec d’anciennes versions du système toujours présentes. La conséquence : les développeurs ne peuvent pas intégrer les nouvelles fonctionnalités au sein de leurs applications, face au risque de perdre de grosses parts de marché rapidement.

IOS est stable

Apple a probablement récupéré quelques parts de marchés qu’elle avait perdu il y a quelques années. Mais cela reste encore une évolution assez peu significative.

Les parts de marché au niveau des ventes restent entre 15 et 20 %, un peu plus en termes de distribution d’applications mobiles.

Windows en forte progression

Alors qu’il était encore à 5 % des parts de marchés l’an dernier, le système de Microsoft profite de la mise en avant du low cost. Les smartphones Windows se sont vendus au point de représenter aujourd’hui quasiment 15 % du parc. Un chiffre en progression constante.

Cette progression pourrait s’accentuer en fin d’année avec l’arrivée des fêtes et la sortie, en parallèle, de Windows 10 mobile. La mise à jour concernera la majorité des appareils disponibles sur le marché.

Tendance

Ceci n’est qu’une estimation, le marché peut changer à la sortie d’un appareil qui change la donne.

Mais la tendance générale est la suivante :

  • recul des smartphones Android
  • progression légère pour iOS
  • forte progression pour Windows.

Il se peut que Google tombe rapidement, en 2016, à 60 % des parts de marché. Suivi de iOS, qui serait autour de 20%. Et Windows, qui pourrait progresser jusqu’à 20 %.

En termes de parts de marché des applications mobiles, Android pourrait bien tomber à 45 %, au profit de iOS (35%) et Windows (30%).

Cette tendance est d’autant plus probable que le système d’applications universelles Windows 10 permettra de disposer d’une même application pour l’ordinateur, la tablette, le smartphone et/ou même la XBox One.

L’actuel succès de Windows 10 sur les ordinateurs confirme cette tendance.

En parallèle, les leaders historiques (Android et iOS) sont face à une certaine stagnation.

Encore une fois, rien n’est joué : un nouveau produit ou une nouvelle fonctionnalité chez Google et/ou Apple peut tout à fait retourner la situation. Cependant, rien ne va en ce sens aujourd’hui.

Cette tendance s’est confirmée sur les statistiques observées sur les applications iOS, Android et Windows conçues par Morin Innovation. 

L’année 2016 s’annonce riche en rebondissements. Et c’est tant mieux.