Janvier, Février, Mars 2008

Nouvel An, bonnes résolutions et tout le tralala:
le chocolat, plus jamais ça;
du codage, à tous les étages…

Mon programme s’était donc étoffé d’une base MySql, et je commençais donc à connaître les joies de l’insertion de mes données en base. Toutefois, on en fait vite le tour, dès lors que le principe est compris.
(NB: A noter que Wamp a, en natif, PhpMyAdmin pour créer et administrer sa base, mais je pense qu’il faut tout de même de bonnes bases SQL pour pouvoir faire ce que l’on veut)
De plus, je n’avais guère l’impression que cela me rapprochait de mon but, un site de gestion de ressources d’un certain type.

Cela impliquait de manipuler des photos. Et pas de n’importe quelle manière: il fallait que je puisse agencer ces photos entre elles, afin de composer une nouvelle image.
Après un certain temps à chercher, je me suis aperçu que les browsers actuels ne connaissaient pas 36 formats de photos: il y avait .jpg, .gif et .png.
Or, cela ne m’allait pas… J’avais besoin de les agencer, et comment agencer des photos qui sont obligatoirement à 4 cotés perpendiculaires 2 à 2, à part à faire du Tetris avec des carrés et des rectangles?

Je sentais bien que j’allais une fois de plus me heurter à des choses insolubles: il allait falloir créer un nouveau type de photo, que des browsers internationalement connus devraient connaître en natif. Autant dire mission impossible pour le moment…
Je reportais donc ce point après mon rachat de Google, dans un futur assez lointain…

De plus, mon cher utilisateur du site, avec son appareil photo à 12M de pixels, et son haut débit en fibre optique de chez lui, n’allait pas s’amuser à redimensionner les photos sous petits formats. Il fallait donc que je le fasse moi-même.
Et là, sur le net, j’ai encore trouvé de bons sites qui expliquaient ce genre de choses.

Comme déjà évoqué auparavant, Php possède une bibliothèque de gestion des images, dite « gd ».
Sur les sites suivants, j’ai pu trouver des scripts – parfois presque tout faits – que j’ai implémenté en recodant ma partie:

http://www.asp-php.net/scripts/asp-php/vignette.php

http://www.tayo.fr/redimensionner-une-image-php-aide.php

Une fois adapté, voilà que mon site me permettait de bien modifier la taille des photos tel que je le souhaitais.

Mais ces photos sont sur un site distant, sur le disque dur de mon utilisateur!!! Il fallait donc aller les chercher…
Toujours avec internet – quel outil, mes aïeuls!!!! – j’ai pu répondre à mon problème:

http://www.asp-php.net/ressources/bouts_de_code.aspx?id=809

http://www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers

Le fin du fin est tout de même venu de celui-ci, terriblement complet pour les deux questionnements précédents:

http://www.asp-php.net/ressources/bouts_de_code.aspx?id=684

En fait, plus je cherchais, et plus je trouvais des bouts de codes à adapter.
Et mon site progressait doucement, mais sûrement.

Toutefois, il restait toujours aussi peu « dynamique », dans le sens, un clic, une action. Il fallait toujours soumettre les pages avant d’arriver à la nouvelle page ou de recharger la page actuelle…

De plus, je commençais à penser que ma gestion de combobox devait, elle aussi, être dynamique et dépendre du contexte.
Et je commençais à lire des articles sur XML , dont:

http://www.commentcamarche.net/php/phpxml.php3

http://eusebius.developpez.com/php5dom/

Et à implémenter des solutions de fichiers XML pour afficher mes menus déroulants.
D‘ailleurs, le dernier site m’a permis de comprendre, un peu mieux, enfin, ce que tout le monde n’arrête pas d’appeler « l’arbre DOM ». C’est très intéressant et très instructif, à lire absolument.

Comprendre DOM et sa manipulation en Php 5 peut être très utile, car cela simplifie vraiment le codage, même si des subtilités m’échappent encore. Et j’ai horreur de reprendre un code sans l’avoir complètement compris!!!

Néanmoins, tout ce code me posait un problème de taille: le Php lui-même…

En effet, le Php ne tourne que sur le serveur, c’est à dire sur la machine sur laquelle vous avez installé votre site.
Dis comme cela, je sais, cela ne fait pas peur…
Mais si j’ajoute que le redimensionnement d’image que j’ai implémenté prend pas mal de puissance processeur, et que mon but est de faire venir beaucoup de gens sur mon site, reconnaissez que vous avez la « schtouille » de votre vie!!!!

Et oui, tout coder en Php implique donc une gestion de la puissance machine que je n’avais pas… Et cela n’allait qu’empirer vu ce que je voulais faire. Et à ce jour, je n’ai toujours pas trouvé de programme qui « analyse » la charge machine (processeur, mémoire surtout) d’un processus particulier.
Il fallait donc que je déporte un maximum de choses sur la machine cliente, c’est à dire chez l’utilisateur du site…

Avant la coupure qui suit, je voulais préciser que les sites que je donne sont ceux que j’ai conservés, mais que j’en ai lu tellement plus, et édité des tonnes en papier.
Les 3 premiers mois de l’année 2008 furent donc très « studieux »…
Le problème avec ce genre de façon de faire, c’est que plus on creuse, plus on s’enfonce!
C‘est à dire que l’on ne peut décidément pas être expert en tout et, que là, j’étais en train de faire 10 métiers différents, jamais de manière approfondi, toujours en surface, et que cela me frustrait terriblement de voir à quel point je pouvais être ignorant, et loin de mon but…

J‘inclus vite fais un billet sur le développement et on revient en cogitations!!!