Dans ce tutoriel je vous propose de découvrir Glide. Un outil qui vous permettra de gérer les redimensionnement d'images au travers d'appels HTTP.
Redimensionnement à la demande
Il existe plusieurs options lorsqu'il s'agit de générer les différents formats d'images nécessaires au fonctionnement de votre application.
- Lors de l'upload d'une image, on génère les différents formats d'images.
- Dans le template, lorsque l'on génère l'URL vers l'image on vérifie si le format existe et on le génère si nécessaire.
- A la demande, le redimensionnement se fait au travers d'une requête HTTP (exemple
image.jpg?w=500&h=200).
Glide permet d'implémenter rapidement cette troisième solution. Pour l'utiliser on commence par installer la dépendance.
On peut ensuite créer un "serveur" qui aura pour rôle d'interpréter une requête pour renvoyer une image redimensionnée en retour.
Ce serveur peut ensuite être utilisé pour la conversion.
Sécuriser via une signature
Si vous vous contentez de passer tous les paramètres au systèmes vous courrez le risque de voir votre sysème exploité par des personnes mal intentionnées. Pour remédier à ce problème il est possible de signer les URLs afin de vous assurer que les paramètres ne sont pas alterés.
Il sera ensuite possible de vérifier la requête lors de la réception
Et voila ! Vous pouvez aussi ajouter une protection supplémentaire en limitant la taille maximale des images.
Intégration dans les frameworks
Glide peut être intégré facilement dans les frameworks les plus populaires. Ces librairies offre une meilleur communication avec les objets Request et Response propre à chaque framework.