W1- PHP
W-WEB-01
CSS_Generator - Bootstrap
Comprendre le traitement d’images et la gestion de
fichiers en PHP
v1.0
CSS_Generator - Bootstrap
Sommaire
1 Sommaire
2 Prérequis
3 Présentation
4 Restrictions
5 Etape 0
6 Etape 1
7 Etape 2
1
Bootstrap
Prérequis
Pour pouvoir suivre ce bootstrap il est nécessaire d’être inscrit au projet CSS_Generator.
Vous devez de plus avoir lu le CSS_Generator.pdf disponible sur votre intranet Epitech.
Enfin, vous devez avoir décommenter la ligne extension=gd.so dans votre fichier de configuration « php.ini ». Vous
pouvez le vérifier en tapant la commande si dessous.
grep -r extension=gd.so /etc/php*
Output :
;extension=gd.so => La ligne est commentée.
extension=gd.so => La ligne n’est pas commentée.
2
Présentation
Le but de ce bootstrap est de vous aiguiller dans le développement du projet css_generator.
Pour ce faire, une suite d’exercices, vous sont proposés.
Ceux-ci représentent les différentes étapes clefs du projet et vous permettront de mieux cerner ce dernier.
Il est fortement conseillé une fois chaque étape terminée de faire vérifier cette dernière par le pangolin référent au pro-
jet.
3
Restrictions
Comme défini dans le sujet, il est strictement interdit d’utiliser :
• La fonction scandir() de PHP
• Les classes itératrices de PHP telles que RecursiveDirectoryIterator
4
Etape 0
Créer une fonction my_merge_image qui prend en paramètre deux chemins d’images au format PNG et qui retourne
la fusion de ces deux images.
Prototype : my_merge_image($first_img_path , $second_img_path);
PHP Manual : Traitement des images et GD.
5
Etape 1
Créer une fonction my_generate_css qui génère un fichier CSS correspondant à la fusion des deux images.
Vous devrez définir suivant votre étape 0 les paramètres de cette fonction.
Prototype : my_generate_css(...);
Site : spritegen.website-performance.org
6
Etape 2
Créer une fonction my_scandir qui récupère tous les noms des fichiers .PNG contenu dans le dossier dont le nom est
passé en paramètre. Cette fonction renvoie un tableau contenant ces noms.
Prototype : my_scandir($dir_path);
Manual PHP : scandir()
Manual PHP : readdir()