Salut !
Je suis développeur Web et Android. J’ai implémenté tout à fait normalement une technologie récente de Google dans l’app Android que je suis en train de concevoir. En gros il s’agit de télécharger un gros modèle de deep-learning, et de l’appliquer sur une image pas trop grande que l’utilisateur fournit (laquelle est découpée en nombreuses sous-images pour pouvoir appliquer le modèle sur chacun de ces chunks).
J’avais testé de très nombreuses fois cette techno sur mon appli, le seul bug que j’avais constaté était un crash de l’appli faute de RAM (trop de sous-images créées, trop gros modèle appliqué dessus, bref c’est ingérable). Une augmentation très considérable de la chaleur du smartphone avait également été constatée. Mais ce n’est pas très grave : Google a conçu Android de sorte à crash l’appli dès lors qu’elle essaie d’utiliser davantage de RAM que l’infime portion qui lui est allouée , et DE PLUS, l’appli ne peut pas faire surchauffer le portable, Android interrompant l’appli qui fait ça (enfin sur ce point précis je ne suis pas sûr de moi). De toute façon j’avertis l’utilisateur à divers endroits que l’appli, si une trop grosse image lui est confiée, risque de crash et de faire chauffer son téléphone comme un jeu (bien qu’elle utilise normalement le CPU et non pas le GPU, ce qui je précise aussi).
Récemment, deux mises à jour majeures de cette techno ont été publiées par Google : on est ainsi passé de la v20 à la v22. Il a fallu que je change mes sources pour pouvoir continuer à utiliser cet outil, mais il y a 99% d’équivalence. Le code que j’utilise est tout ce qu’il y a de plus banal, j’ai juste suivi la doc, je ne suis pas un pirate, ni un bidouilleur ni rien.
Suite à cette mise à jour, j’ai testé cette fonctionnalité de deep-learning appliqué sur une image de taille modeste sur mon smartphone de test. Puis sur une autre image (ce point est important). Et là, bim, l’appli ne crashe pas MAIS le smartphone s’éteint direct. J’interromps l’appli via android studio. Je relance le smartphone : il redémarre, et gèle à l’écran de démarrage, puis se relance tout seul avec succès. Par la suite, je refais exactement la même utilisation avec mon appli pour être sûr que c’est cette fonctionnalité qui a fait buguer le truc. Suite à quoi, le smartphone s’éteint direct de nouveau sans crash de l’appli. Cette fois je n’interrompts pas l’appli avec Android Studio, mais je débranche uniquement le câble qui relie le smartphone à l’ordi/AndroidStudio. Résultat : mon smartphone est resté éteint. Impossible de le rallumer. Quand je le mets à charger, la loupiotte de chargement batterie ne s’allume plus. Bref il est pété de chez pété de chez pété. (ou alors il est resté allumé, l’écran est resté éteint, ce qui expliquerait pourquoi la loupiotte de chargement ne s’allume plus).
Je précise que je dispose de 26 modèles de deep-learning, je les charge tous d’un coup, et j’utilise le bon (celui que l’utilisateur veut utiliser).
J’insiste sur le fait que je n’ai pas écrit de ligne de code bizarre, je ne fais que suivre la doc de Google.
Et pourtant, le résultat est que mon appli peut complètement foutre HS un smartphone.
J’ai rétabli l’ancienne version de l’outil de Google, et re-testerai mon appli sur mon nouveau smartphone que je recevrai dans un mois.
Je souhaite rendre publique sur GitHub le code de cette fonctionnalité.
Mes questions sont :
-
Premier cas : Une fois publiée sur le Playstore, mon appli a pété entre 1 et 10 000 smartphones. Qui va devoir rembourser les utilisateurs et être traduit en justice : moi, qui n’ai fait qu’utiliser de la bonne façon l’outil de Google et qui DE PLUS a publié publiquement le code sur GitHub, ou bien Google, qui a fait de la bonne grosse merde ?
-
Second cas : Une fois publiée sur le Playstore, mon appli ne pète aucun smartphone (effectivement, j’utilise l’ancienne version de l’outil, qui a priori ne cause pas ce bug). Dans ce cas toutefois, les utilisateurs observent une surchauffe de leur smartphone et le fait que l’appli crash car elle demande trop de RAM. La surchauffe concerne a priori le CPU et non le GPU car mon appli n’est pas un jeu. Les utilisateurs peuvent-ils me traduire en justice ou demander des frais de remboursements parce que cette surchauffe et ces crashs à répétitions détruisent petit à petit leur smartphone (ce qui reste à prouver, normalement Android est censé empêcher ça) ?
-
Puis-je attaquer Google en justice pour me faire rembourser mon smartphone ?
Je suis quand même bouche bée. Je viens de créer une appli tout à fait légale sans une once de code chelou. Et elle agit comme un putain de virus qui peut détruire des smartphones entiers quoi, WTFFFFFF……………. C’est absurde comme histoire, j’ai du mal à y croire moi-même !
Merci d’avance, bonne journée.