pt
Moulé à la louche depuis 1999
Les trucs qui m'énervent... et je vais pas prendre de pincettes
Internet, informatique, logiciel libre, économie, politique, vie courante et tout le reste...

C'est beau de savoir programmer

Mardi 15 fevrier 2011

On a souvent besoin de montrer une image à quelqu'un par internet, par exemple une capture d'écran. Et j'avoue que j'en ai raz-le-cul des services d'hébergement d'images en ligne. La majorité sont vraiment moisis. Des sites comme imageshack.us sont bourrés de publicité, ceux du genre de imgur.com suppriment des images sans prévenir, quand ce n'est pas carrément des sites qui vous vendent des accès "premium" (WTF???).

Pourquoi ne pas profiter de son espace d'hébergement perso pour ça ?

Et c'est là que c'est beau de savoir programmer: En 40 lignes de php, j'ai re-créé un service similaire d'hébergement d'images personnel. C'est minimaliste, mais ça fait parfaitement le boulot que j'en attends: Une page web pour envoyer une image et pouvoir diffuser l'URL de cette image. En prime, les images sont sur mon serveur et je peux les supprimer quand je veux.



C'est simple à mettre en place: Mettre le mot de passe de votre choix ($PASSWORD) afin que vous seul puissiez envoyer des images, et placer le fichier upload.php sur votre espace web. C'est tout.

Je vois plusieurs aspects intéressants à ce genre de bricolage:
  • Cela me rend un service dont j'avais besoin, tout simplement (et ça ne m'a pas pris longtemps à faire).
  • En publiant le programme, cela rendra service à d'autres.
  • J'offre la possibilité aux internautes de moins dépendre de services d'hébergement externe.
  • Pour ceux qui veulent programmer, cela fait un exemple d'envoi de fichiers en php.

Ce genre de programme illustre une des caractéristiques de l'informatique: C'est une forme d'artisanat. N'importe qui peut bidouiller un service utile en quelques lignes de code. Pas besoin de gros moyens pour commencer.

L'aspect artisanal de l'informatique est aussi sa faiblesse, car on manque de moyens pour industrialiser et fiabiliser la production de logiciels. L'industrie du logiciel est quand même l'une des rares industries qui peut se permettre, dans ses notices d'utilisation, de spécifier que le produit peut très bien ne pas remplir du tout ses fonctions. C'est quand même formidablement gonflé quand on y réfléchit. On imaginerait pas Renault vendre des voitures en indiquant dans la notice qu'elles pourraient très bien ne pas rouler du tout (oui oui, je sais, c'est encore une analogie automobilistique...)

C'est inhérent à l'évolution de l'informatique: La complexité des logiciels et la formidable quantité d'interactions entre logiciels ne permet plus de garantir leur fiabilité (et encore, quand les rayons cosmiques ne se mettent pas de la partie). On imagine mal les millions, les milliards de lignes de code qui se déroulent à une vitesse folle quand on appuie sur le bouton "ON" de son ordinateur. Je trouve même presque miraculeux que ça "tombe en marche" quand on sait la complexité des centaines de milliers de briques logicielles qui discutent entre elles.

Pour résumer: Plug and pray.

Le jour où les ordinateurs répareront tout seuls leurs erreurs matérielles et logicielles est encore très loin.


Mise à jour: Gilles me dit que j'aime réinventer la roue: Il y a des sites comme scriptcopy.com qui recensent ce genre de script. Ce n'est pas totalement faux. Mais la plupart des scripts que je trouve sur ce site sont soit payants, soit ne marchent pas, soit renvoient sur un 404, ou bien son vraiment overkill (je n'ai pas besoin d'un système d'enregistrement, de login, de mots-clés...).

Mise à jour 20 février 2011: Bien sûr je ne suis pas le seul à avoir bricolé ce genre de chose. Je voulais vous signaler celui de Bohwaz.