RAPPORT EXERCICE 7

Utilisation de classes PHP

Classe PHP

Point de départ
Conception et élaboration d'un dispositif interactif ou encore un dispositif qui met en valeur des données.

Objectifs
- choisir une classe avec du potentiel
- savoir intégrer et faire tourner la classe dans une application propre
- savoir modifier de façon élémentaire une classe PHP
- veiller à l’absence d’erreur

Démarche téchnique et conceptuelle:
J’ai investi pas mal de temps dans la recherche d’une classe PHP qui me conviendrait. Après quelques tests et comparaisons, je me suis finalement décidée pour la classe FPDF qui permet de créer de fichiers PDF sans utiliser la librairie PDFlib. Cette classe m’a convaincue, d’une part par sa bonne documentation et ses exemples sur son site web, d’autre part grâce à son grand potentiel créateur et ses applications diverses.
Pendant ma recherche, je suis aussi tombée sur un joli script en PHP d’un type allemand qui a créé une chouette galerie de photos. Cette galerie permet l’affichage de l’ensemble des photos qui se trouvent dans un répertoire spécifié, soit en petit format (thumbnails), soit en grand format image par image.
J’ai repris ce script, l’ai simplifié et un peu corrigé (messages d’erreurs !). J’avais encore l’envie de pouvoir télécharger des images depuis le bureau de l’ordinateur. Pour cela, il m’a fallu un « upload » script. J’en ai trouvé un assez rapidement et l’ai repris sans réfléchir au danger qu’impliquait son utilisation. Les lacunes au niveau de la sécurité ont provoqué une intervention d'urgence de l’expert du forum.
Après ces modifications, j’ai donc tranquillement pu continuer mes bricolages. Le grand défit consistait à intégrer la classe FPDF. La syntaxe avec les flèches m’a troublée au début. Il m’a fallu un moment pour me familiariser avec le code. Les exemples et la documentation m’ont beaucoup aidée.
L’affichage d’une seule photo en PDF me paraît encore une tâche simple. Plus difficile était l’affichage des toutes les photos en petit format (thumbnails). Pour cela il m’a fallu une fonction qui crée un array avec tous les noms des photos du répertoire et trouver un calcul qui place les thumbnails verticalement et horizontalement au bon endroit, une tâche qui sera encore à perfectionner puisque je n’ai réussi qu’à placer mes propres exemples où la taille des photos ne varie que peu.