La problématique :

Si comme moi vous gérer un site web avec un formulaire, où vos utilisateurs ont la possibilité d'uploader un fichier, vous avez sûrement entreprise la réflexion de savoir ce qu'il peut être uploadé. On connait tous (enfin les developpeurs) la possibilité de filtrer par type mime, mais ce filttrgae n'est pas assez "fin" pour filtrer une photo de charme. Imaginez le webmaster qui propose un site avec un formulaire de photo et dont la thématique est dédié aux jeunes enfants.... Ca la foutrait mal de pouvoir uploader une image d'Ana POLINA ou Nikita BELLUCCI ou Jade LAROCHE :) (je suppose que vous les connaissez toutes :) )
Nous allons voir ici un cervice web qui sait analyser le contenu d'une image, et qui la classe

Le service interrogé :

Le service interrogé s'appelle uploadfilter.io. Le service prend en paramètre une URL du média à détecter et retourne à l'utilisteur un code compris entre 0 et 2, classant l'image dans une catégorie. Deux types de réponses sont renvoyées :

  • Un niveau de nudité, valeur compris entre 0 et 1. Une image "safe" (propre, clean, visible par tous) est une image dont cette valeur ne dépasse pas 0,2 (ce qui laisse supposer le large marge d'image "non safe")
  • Un niveau de classification pouvant prendre 3 valeurs différentes : 0, 1 et 2. Seules les valeur 0 sont "safes".

Il est donc possible, amis développeurs, de tester sur deux cas de tests différents, entendons nous bien : soit le niveau de nudité, soit le niveau de classification.

Notons aussi qu'il est tout a fait possible de tester une image POSTEE, c'est a dire au moment de l'upload par exemple. Je ne m'attarderai pas sur ce cas mais encore une fois, je trouve la documentation d'uploadfilter.io claire est extrêmement bien faite (j'ignore le script de doc utilisé, que l'on voit souvent, mais j'aime bien)

Le résultat :

https://api.uploadfilter.io/v1/nudity?url=https://i0.wp.com/bonjourmadame.fr/wp-content/uploads/2019/05/190528-lavande.jpg?w=730&apikey=MA_CLEF_API

Et voila, fini les tests visuels des images uploadées depuis vos formulaires web.
N'oubliez pas que ce service ne vous renvoie pas un booléen mais bien une valeur numérique du média testé, ce qui vous permet de tolérer certaines images.