COPYRIGHT SUR IMAGES

alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011 - 9 oct. 2006 à 06:44
 namursite - 28 mars 2014 à 16:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39862-copyright-sur-images

genial merci
namurmerci Messages postés 1 Date d'inscription samedi 28 juillet 2007 Statut Membre Dernière intervention 25 avril 2010
25 avril 2010 à 13:51
Gigantesque merci
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
24 oct. 2006 à 19:38
Merci de tout vos conseil, je mettrais à jour s'il y a encore quelque chose à modifier! ;)
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
21 oct. 2006 à 19:08
tiens =>http://www.php.net/manual/fr/function.getimagesize.php,
tu pourra voir les details de cette fonction.

@++
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
21 oct. 2006 à 15:22
Je ne sais pas où tu as entendu cette annerie. Getimagesize() est faite pour obtenir les infos d'une image et elle le fait très bien et très rapidement.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
21 oct. 2006 à 12:54
Ok mais d'après certains, il parait que la page est plus longue à charger avec ceci qu'avec l'autre solution!
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
21 oct. 2006 à 09:21
getimagesize() renvoit un tableau numérique avec tous les informations de l'image. Tu n'as juste à pointer un élément du tableau pour récupérer une information
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
21 oct. 2006 à 07:50
Merci du compliment, je fais de mon mieu!

Et de ce qui est de la fonction getimagesize(), j'ai vue qu'il faut mettre le chemin de l'image donc qu'il fautcertainement la relire!
Sa prendrai plus de temps que de le faire directement sur l'image édité, avec imagesx() et imagessy()...
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
20 oct. 2006 à 18:57
La fonction renvoit aussi le type de l'image qu'il faut absolument vérifier pour s'assurer que c'est bien une image.
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
20 oct. 2006 à 18:40
Au fait, bravo pour ton travail alvinp, c'est tres bien d'avoir su ecouter et prendre en compte nos explications, sa demontre que tu as envie d'avancer et et d'apprendre correctement ! En plus, le code est beaucoup plus sympa a lire et a comprendre (meme si il reste quelques modifs mais rien de grave, juste des petites optimisations (getimagesize() a la place de imagex() et imagey() par exemple. Tu gagnes une ligne et sa evite d'avoir trop de variable a gerer -laz fonction te renvoi un tableau plus simple a manier)

@++
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
20 oct. 2006 à 18:36
emilia123 >
"cela ne coute rien de rajouter 1 quand on tape (mise à part peut être accroite le risque de se féler un doit en tentant le combo 'shift +' :))))"
Tu as raison, t'en qu'a faire, autant en rajouter un et etre sur, sa ne fait aps de mal et sa permet meme d'accelerer certaines verifs donc pourquoi s'en priver ? C'est vrai que j'hesitais souvent a mettre 2 ou 3 = puis au final, autant en mettre 3 ... Je vais changer mes habitudes de ce pas ;-) (tant pis pour la felure.. sa fera une blessure de guerre, sa peut toujours impressioner les filles ^^ lol )

"En tout cas bravo à jean84 parce que rare sont ceux qui teste à fond ce qu'ils disent et qui ne disent pas juste "ca marche pas" ou "c'est null ca plante"."
Pour etre honnete a 100%, je dirais que je ne verifie malheureusement pas toujours a fond :-( , mais j'essaye de faire un effort quand j'ai le temps ;-)

@++
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009
19 oct. 2006 à 22:54
bonsoir à tous,

Biensur ce == ne fait pas qu'une applie soit bourrée de faille de sécurité...
mais il existe des fonctions (interne à PHP) qui retourne 0 ou false comme résultats.. sans parler des fonctions persos
ex strpos

si on utilise cette fonction pour vérifier la présence d'une chaine non désirée (ex <script></script>) dans une chaine, une simple vérification avec"==" pourrait laisser passer la chaine en question.

Il est sur qu'il faut plusieurs élements pour s'exposer à un danger, mais:
- cela ne coute rien de rajouter 1 quand on tape (mise à part peut être accroite le risque de se féler un doit en tentant le combo 'shift +' :))))
- avec les scripts en libre accès, il est assez facile de vérifier la présence d'un mauvais test
- prendre de bonnes habitudes le plus tôt possible ne pourra que servire pour la suite..

En tout cas bravo à jean84 parce que rare sont ceux qui teste à fond ce qu'ils disent et qui ne disent pas juste "ca marche pas" ou "c'est null ca plante".

bonne continuation

Em.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
19 oct. 2006 à 12:43
Bien ;)

C'est très utile des explications comme celles là :D
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
19 oct. 2006 à 10:50
Emilia > Je suis heureux que tu sois honnete : "il est vrai que parfois on peut passer à coté de vérification donc potentiellement à coté de faille.". J'insite sur le POTENTIELLEMENT...

"$ma_variable_bien_initialisee=0;
if($ma_variable_bien_initialisee=="mon_mot_de_passe_super_securisé"){ echo " bienvenue avec ton mot de passe surper sécurisé";}"
C'est vrai que ton exemple est parlant mais il n'empeche que c'est utopique (quoi que si certains code ainsi, tant pis pour eux). Remarque que l'on peut se demander ce que tu veux faire quand tu initialise une variable a 0 ? A false ? Ou la valeur numerique (int) 0 ? Parce que 0 est une valeur tellement generique qu'il est evident que tous vos scripts peuvent fonctionner ... maintenant si on met la valeur a FALSE ou a NULL, quelle sera le resultat ? Et bien le test ne passera pas...
=> http://www.info-party.c4.fr/test.php

Pareille pour webdeb : quel interet de verifier si une variable est a 0 ? Tu peut a peu pres tout faire sur une variable ayant cette valeur. Lui passer empty(), sa passera pas meme si elle est initialise, isset() ? Il te diras qu'elle n'est pas initialise...

Quand on parle de failles, on montre des exemples concrets, pas des trucs tailles expres pour laisser passer, lol, sinon c'est trop facile ^^
Le but est d'avancer, pas faire peur ...
Mais si vous avez des exemples precis (autre qu'avaec 0) a montrer, je serais le premier a dire que j'ai eu tord :-)

Code :

<?php

echo 'Test de l\'operateur == avec $ma_variable_bien_initialisee=0
';
$ma_variable_bien_initialisee = 0;
if ( $ma_variable_bien_initialisee == "mon_mot_de_passe_super_securisé")
echo " bienvenue avec ton mot de passe surper sécurisé (test n°1)";
else
echo 'Et ben non (test n1)';

echo '

Test de l\'operateur == avec $ma_variable_bien_initialisee=FALSE
';
$ma_variable_bien_initialisee = FALSE;
if ( $ma_variable_bien_initialisee == "mon_mot_de_passe_super_securisé")
echo " bienvenue avec ton mot de passe surper sécurisé (test n°2)";
else
echo 'Et ben non (test n2)';

echo '

Test de l\'operateur == avec $ma_variable_bien_initialisee=NULL
';
$ma_variable_bien_initialisee = NULL;
if ( $ma_variable_bien_initialisee == "mon_mot_de_passe_super_securisé")
echo " bienvenue avec ton mot de passe surper sécurisé (test n°3)";
else
echo 'Et ben non (test n3)';

echo '

Test de l\'operateur == avec $ma_variable_bien_initialisee=0 et verification avec isset()
';
$ma_variable_bien_initialisee = NULL;
if ( isset($ma_variable_bien_initialisee) )
echo " bienvenue avec ton mot de passe surper sécurisé (test n°4)";
else
echo 'Pas initialise .... (test 4)';

echo '

Test de l\'operateur == avec $ma_variable_bien_initialisee=0 et verification avec empty()
';
$ma_variable_bien_initialisee = NULL;
if ( !empty($ma_variable_bien_initialisee) )
echo " bienvenue avec ton mot de passe surper sécurisé (test n°5)";
else
echo 'Vide ... (test 5)';
?>
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
19 oct. 2006 à 06:46
Je rappel que le style a été créé sous firefox, donc internet explorer ne donnera pas le même résultat!

Je vais essayer de faire un style rien que pour internet explorer mais je ne suis sûr de rien...
Il parait qu'internet explorer ne respecte pas tout des languages et c'est pour cela que sa ne ressemble pas à firefox!
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
18 oct. 2006 à 17:54
J'ai fait ce test et c'est super!
J'y prend note...

Parcontre pourriez vous m'aider pour une partie du code qui affiche l'image sans l'enregistrer et le problème c'est que l'image ne s'affiche pas mais le lien est à la place!!

# // Cette condition sert à afficher directement une image avec copyright (par lien)
# if($_GET['choix'] == 'gen'){
# $fichier = $_GET['fichier'];
# if(file_exists($repertoire.'/'.$fichier)){
# //$ext = strtolower(substr($fichier, strrpos($fichier, '.') + 1)); // Renvoi les caractères après le point
# $ext = pathinfo($fichier, PATHINFO_EXTENSION); // Fonction de php qui renvoi l'extension d'un fichier
# $ext = mise_majmin($ext,'maj');
#
# // Lecture de l'image et mise en variable
# if($ext 'JPG' or $ext 'JPEG')
# header ('Content-type: image/jpeg');
# $image = imagecreatefromjpeg($repertoire.'/'.$fichier);
# if($ext == 'PNG')
# header ('Content-type: image/png');
# $image = imagecreatefrompng($repertoire.'/'.$fichier);
# if($ext == 'GIF')
# header ('Content-type: image/gif');
# $image = imagecreatefromgif($repertoire.'/'.$fichier);
#
# $imagex = imagesx($image); // Nombre de pixel en longueur
# $imagey = imagesy($image); // Nombre de pixel en hauteur
#
# // Positionnement du texte
# switch($posx){
# case 'g': $x = 20;
# break;
# case 'c': $x $x ($imagex - (50 + (strlen($copyright) * $taille))) / 2;
# break;
# case 'd': $x = $imagex - (50 + (strlen($copyright) * $taille));
# break;
# }
# switch($posy){
# case 'h': $y = 20 + $taille;
# break;
# case 'm': $y = ($imagey - 50) / 2;
# break;
# case 'b': $y = $imagey - $taille;
# break;
# }
# $height = imagefontheight($taille); // Ccalcul de la taille d'une chaine (approximatif)
# $couleur = imagecolorallocate($image, 255, 0, 0); // On met une couleur en variable R,V,B
# $couleur2 = imagecolorallocate($image, 0, 0, 0); // On met une couleur en variable R,V,B
# imagettftext($image, $taille, 0, $x, $y, $couleur, $skin.'/'.$police, $copyright); // Ecriture du premier texte sur l'image
# imagettftext($image, $taille, 0, $x + 1, $y + 1, $couleur2, $skin.'/'.$police, $copyright); // Ecriture du deuxième texte sur l'image
#
# // On affiche l'image
# if($ext 'JPG' or $ext 'JPEG')
# imagejpeg($image);
# if($ext == 'PNG')
# imagepng($image);
# if($ext == 'GIF')
# imagegif($image);
#
# imagedestroy($image); // On détruit l'image pour vider la variable et la mémoire
# }
# exit();
# }
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
18 oct. 2006 à 12:42
>> Lol mais je trouve sa ridicule les constantes, j'ai regardé et j'ai remarqué qu'elles ne peuvent être modifié aussi!

Le script ne peut pas modifier leur valeur une fois qu'elles sont fixées dans la fonction define(). Si la valeur de ta variable $police ne change pas pendant l'exécution de ton script alors, d'un point de vue algorithmique, c'est une constante. Donc utilise une constante. A quoi ça sert de différencier constantes et variables dans les langages de programmation sinon?

>> Peut tu me donner les avantages d'utiliser des constantes?

C'est plus logique d'utiliser une constante à la place d'une variable quand c'est le cas. L'accès en lecture est plus rapide pour une constante qu'une variable théoriquement.

++
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
18 oct. 2006 à 10:59
Lol mais je trouve sa ridicule les constantes, j'ai regardé et j'ai remarqué qu'elles ne peuvent être modifié aussi!

Peut tu me donner les avantages d'utiliser des constantes?

Et je vais testé ce petit bout de code pour voir ;)
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
18 oct. 2006 à 09:54
Test ça tu vas être surpris :

<?php

$var = '0'; // Déclaration d'une chaîne de caractères

// Test de la valeur. On cherche à savoir si la chaîne de caractères à la même valeur que le chiffre 0
if( $var == 0 ) {

echo 'Binevenue dans votre espace admin !';
}
else
{
echo 'Ahaha ! Tu cherches à me pirater ?';
}
?>

Tu constates que la condition renvoie vraie et donc que tu t'exposes à une sacrée faille de sécurité. Maintenant teste avec le triple égal pour comprendre l'intérêt du test sur le type de ta variable.

Au passage, je remarque que tu ne veux toujours pas utiliser de constantes à la place de tes variables d'entête.

++
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009
18 oct. 2006 à 07:09
bonjour,

non cela ne va pas mettre faux justement.
le code donné est vérifié sur php "4.3.quelque chose".
PHP a du mal à comparé du texte avec des chiffres (comparaison simple avec == ) , ce qui est logique si l'on réflechi.
dire est ce que une phrase est égale à 0 ou 1.. quelle est la réponse valide?
Il essaye (en gros) alors de modifier le type de la varible pour que la comparaison soir possible.

c'est pour cela qu'il y a le "===". si les types sont différents, au lieu d'essayer de s'arranger, php renvoit faux.

ce problème peut survenir lorsqu'un fonction peut retourner plusieurs types de retour.
Si la fonction, par exemple, génère du texte, ou sinon qui renvoi false (0) en cas s'erreur, il pourrait y avoir des surprises si jamais le texte retourné est égale à "0".
le test "==" qui suivrait pour gérer les erreurs pourrait être trompé.

voili voilou, petite reflexion apres une petite nuit.

Em.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
18 oct. 2006 à 06:41
Heu...

Mais si c'est si y a du texte d'un côté et des chiffres de l'autres sa va forcement mettre 'faux'!

Et de toute façon pour utiliser '===' il faudrait préciser le type de la variable à chaque fois non?
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009
18 oct. 2006 à 01:46
bonsoir,

Je tiens à intervenir sur le ===

il est vrai que parfois on peut passer à coté de vérification donc potentiellement à coté de faille.

ex de problème:
$ma_variable_bien_initialisee=0;

if($ma_variable_bien_initialisee=="mon_mot_de_passe_super_securisé"){ echo " bienvenue avec ton mot de passe surper sécurisé";}

et bin on aura un super message de bienvenu quand on va visiter la page=> faille de sécurité.
avec le == php test pas le type de la variable et du coup se "trompe" dans certain cas.
avec il vérifi le type et la valeur... du texte comparé avec un chiffre> cela aurait renvoyé "faux".

Em.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
17 oct. 2006 à 06:37
Lol merci mais j'ai rien comprit :D

Pouvez-vous me dire pourquoi mon script 'rename.php' ne fonctionne pas?
Pourtant j'ai l'impression que tout ce passe bien!
sepultura666 Messages postés 7 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 16 octobre 2006
16 oct. 2006 à 09:33
Alors moi je vais vous dire un truc arrêtezde vous battre pour ces EXTENSIONS !!! lol

Mes remarques, très bon code, mais quelque peu, fouillis... Trop de choses mal gérées...Revoiston code en l'optimisant. Faut toujours pense au serveur, le pauvre quand on va lui balancer çà dans les dents à chaque execution du script il va morfler :)

Sinon en ce qui concerne les extensions,savais-tu que, quand tu "envoi" un fichier par un formulaire, ou autrement, je sais plus (çà fais longtemps que j'ai pas fais mumuse avec la GD2) tu as un truc qui est : $_FILES['image']['type'] ou imageestlenom de ton champ formulaire (ou bien je crois que tu peux faire le fopen et le placer dans image, je sais plus). Bref l'avantage avec çà que c'est que tu récupère directement le REEL type du fichier image (admettons, un .php dissimulé en .jpg... et hop... ou une erreur de la part de ton copain, un jpg renommé en gif ou png !, ou encore au niveau rapiditiéde ton code, si c'est un jpeg ou un jpg, ou un pjpeg ? tu fais trois tests ?)

Bref y'a des tas de choses pour pas se casser la nenette, alors pouruqoi se la casser... lol
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
15 oct. 2006 à 13:15
Le style peut être choisi sous firefox avec l'extension 'StyleSheet Chooser Plus' sinon changer directement dans la source ;)

Je compte rajouter des options comme le texte du copyright et les positions possibles...
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
13 oct. 2006 à 22:27
J'ai ajouté une partie qui permet d'afficher l'image avec copyright sans l'enregistrer!

Mais lors du test, il m'affiche le lien de l'image édité, pouvez-vous m'aider?
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
13 oct. 2006 à 16:02
Cela ne marche pas avec ma version de php!

Je voulais savoir si il y avait autre chose que j'ai oublié de rajouter ou modifié dans la source?

Merci
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
13 oct. 2006 à 13:02
Si tu as PHP5.2.0 ou supérieur tu peux faire ceci :

<?php
$file = 'chemin/bidule/truc/monFichier.html';
echo pathinfo($file, PATHINFO_FILENAME);
?>

Sinon tu récupéres la chaîne qui se retrouve après le dernier point à partir du code précédent utilisant PATHINFO_BASENAME.

++
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
13 oct. 2006 à 06:50
Re, j'ai essayé mais sa m'affiche le nom avec l'extension et je voudrai isoler juste le nom :D
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
12 oct. 2006 à 23:06
<?php
$file = 'chemin/bidule/truc/monFichier.html';
echo pathinfo($file, PATHINFO_BASENAME);
?>

++
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
12 oct. 2006 à 22:36
Encore des questions :: pathinfo pour avoir le nom du fichier sans l'extension sa serai quoi svp
J'ai essayer en changeant EXTENSION par FILENAME mais sa ne fonctionne pas!
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
12 oct. 2006 à 21:31
Pour les constantes c'est là : http://www.php.net/define
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
12 oct. 2006 à 19:42
D'accors, mais l'histoire de constante et tout, je ne connais pas forcement :D
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
12 oct. 2006 à 19:28
Le mieux serait d'améliorer toute ta source en reprenant tous les conseils que l'on t'a donnés :)
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
12 oct. 2006 à 06:36
Maintenant, quand j'aurais du temps de libre, je ferai de façon à ce que sa puisse rentrer dans l'image même si la taille est petite (si sa marche avec un calcul biensur)

Et puis je rajouterai deux ou trois petits trucs...
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
12 oct. 2006 à 06:31
Ok merci beaucoup, je vien de comprendre que j'ai utilisé le même nom de variable pour la création de l'image et l'affichage de mes données :)
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
12 oct. 2006 à 05:33
tiens, elle est la ton Resource id :
$affichage = $image."

\n";
tu affiche la ressource.
Les br se ferme aussi, mais j'ai pas tout lu les commentaires. Je crois que tu restes en HTML4 alors c'est correct.
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
12 oct. 2006 à 05:32
tu dois faire un echo d'une ressource (image , genre echo $im) pour avoir un Resource id

n'existe pas, il faut fermer les balises directement />

Si tu utilises eval, tu peux être quasiment certain que le monde va bondir et dire "OMG ce n'est pas bien"... Fait attention à ce genre de fonction. Je dirais que eval est utilisé vraiment que pour de la production interne ou tout est contrôlé... et non une source disponible sur le web. C'est extrêmement dangereux.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 22:54
J'ai pas trouvé, sa créer les images comme si de rien était mais il n'affiche pas tout ce que je souhaite!

Et je n'arrive pas à savoir exactement d'où sa peut venir...

Enfin, je regarderai vos messages demain et Merci ;)
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 21:41
Je vois de regarder de suite, mais je n'ai pas trouvé en regardant vite fait et en fesant une recherche aussi!
Mais j'ai rien trouvé...
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
11 oct. 2006 à 20:57
Es-tu allé voir la doc officielle de la fonction à l'adresse http://www.php.net/imagettftext ?
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 20:29
J'ai un gros problème :D

J'ai fait des modifications de partout mais pas à l'endroit où je vois apparaitre un truc que je n'ai jamais vue!

C'est du côté des imagettftext(), il me note sur la page :: Resource id #10

Sa fait depuis un moment que je cogite...
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
11 oct. 2006 à 19:28
@Jean84

Merci pour Epersy-Avenir ;) Pour ce qui est de Webmaster-Debutant, je l'ai développé à l'époque quand ... j'étais débutant lol. Cela fait déjà plus de 4 ans que ce site existe. Je suis actuellement entrain de le refondre complèetement (nouveau design, codage xhtml / css, tutoriels réecrits proprement...). Le but sera d'en faire un site de référence dans le domaine du webmastering en proposant un contenu sérieux et du code propre dans les tutoriels. Donc pas de panique, la nouvelle version est prévue (je l'espère) avant la fin de l'année. Peut-être comme cadeau de Noël qui sait ^^

++
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 19:07
Lol a oui quand même, mais apparement j'avance assé vite...
Je crois que ce soir sa sera refait mais y aura toujours quelque chose à modifier!

Je compte sur vous :D
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
11 oct. 2006 à 17:25
Prends ton temps, y a pas le feu ! Des fois y a des sources qui sont mis a jour un an apres leur sorties ! Donc pas de probleme ...
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 17:08
Ok merci, et j'ai toujours des problèmes au niveau des alignements mais je me débrouille!
Dés que c'est bon je le republie mais je pense que sa attendra ce week car j'avance lentement :D
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
11 oct. 2006 à 16:31
"l'inclusion externe je connais, mais je me demandais si celà existé en interne (dans le fichier lui même)"

Y a une soluce, pas super propre mais peut toujorus servir : eval()
Tu mets le code que tu veut utiliser a repetition dans une variable et tu la passe en parametre a eval(). Y a aussi create_function qui permet de .. creer une fonction !! lol

Voila les liens :
http://www.php.net/manual/fr/function.create-function.php
http://www.php.net/manual/fr/function.eval.php

A toi de juger celui qui conviendra le mieux pour ton utilisation

@+
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
11 oct. 2006 à 16:25
Pas mal le site : http://www.epersy-avenir.com
Ce qui me chagrine c'est que le site pour un client respecte sa alors que ton propre site http://www.webmaster-debutant.net/ en comporte une floppee. Apparement vous y etiez plusieurs a travaille dessus car la facon d'ecire les balises n'est meme pas la meme. Un coup y a des majuscules un coup des minuscules... ou alors le site est ancien et tu preferes garder le design ? En tout cas, vu le design de ce site, je prefere garder mes tableaux ... ^^ C'est vachement bô !
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 16:13
l'inclusion externe je connais, mais je me demandais si celà existé en interne (dans le fichier lui même)...

Je revois la source mais lentement :D
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
11 oct. 2006 à 16:08
include() include_once() require() require_once() pour inclure des scripts php (ou des bouts de code).
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
11 oct. 2006 à 15:59
>> Enfait rapporter un bout de code tapé au début, pour ne pas avoir à le reécrire!

Oui ! Tu mets ce code dans un fichier séparé et tu l'inclus quand tu en as besoin.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 14:02
Oh encore un truc :D
C'est directement mon pc, et si il te domande à te logguer ::
login test
mdp test
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 14:01
Enfait rapporter un bout de code tapé au début, pour ne pas avoir à le reécrire!

Sinon j'arrive pas trop à faire comme les tableau en css, sa minerve :D

Tu veux voir? --> http://172.185.124.49/yo/
Je l'ai fait que sur scanné je crois,
Avec internet explorer sa ne donne pas pareil qu'avec firefox...
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
11 oct. 2006 à 11:30
>> Peut-on faire des include ou comme des includes plutôt mais à l'intérieur de la page php (pour repporter du code)?

Qu'est ce que tu entends concrètement par là ?
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 09:35
Oh, j'ai oublié une question très importante!!

Peut-on faire des include ou comme des includes plutôt mais à l'intérieur de la page php (pour repporter du code)?
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
11 oct. 2006 à 09:23
>> Mais pour les balises je ne savais pas qu'il falait les fermer, sur aucune source elles y sont les balises de fermeture .

L'espace ne sert à rien. Certains programmeurs préfèrent ne pas le mettre, d'autres le font comme moi. Je trouve ça plus clair à relire. Cet espace est complètement facultatif.

>> Et encore merci, tu m'apprend des trucs :D

Bah de rien ;) C'est comme ça que l'on apprend !
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
11 oct. 2006 à 08:33
Ha oui, je vois!!
Efectivement c'est plus lisible, je vais me perfectionner la dedans alors.
Mais pour les balises je ne savais pas qu'il falait les fermer, sur aucune source elles y sont les balises de fermeture .
Mais si c'est le bon codage, alors je le ferai. Parcontre, a quoi sert l'intervale qu'il y a entre l'ouverture et la fermeture??

Et encore merci, tu m'apprend des trucs :D
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
10 oct. 2006 à 19:49
Jean84, j'ai oublié aussi un argument sympa concernant le couple html/css ou xhtml/css. Le voici :

En construisant un squelette (x)html épuré de toute mise en forme, cela te permet de pouvoir skinner à ta guise ton site et de lui faire plusieurs design par exemple. On dit que l'on séparer le fond de la forme. Le fond dans une page web correspond au contenu (titres, menus, paragraphes, liens, listes...) et la forme correspond aux différents à comment ton contenu est présenté (gras, italique, souligné, couleur, background, bordures...). En séparant ton code html brut dans un document html et ta mise en forme dans une feuille de styles, cela te permet d'avoir un contenu entièrement accessible et lisible sans mise en forme. Dans la feuille de styles externe tu stockent toutes les instructions qui mettent ta page en forme. C'est à dire le placement des blocs entre eux, les couleurs de tes textes, l'affichage de tes menus... En faisant plusieurs feuilles de styles, tu peux faire plusieurs design sans rien toucher au code html brut.

Avec les tableaux tout cela est impossible. Une fois que tu as placé du texte dans une cellule du tableau, celui ci restera dedans et tu ne pourras plus le placer ailleurs comme tu veux.

Compare un site en mise en page avec tableaux avec celui ci par exemple : http://www.epersy-avenir.com
J'ai réalisé ce site pour un client. Il est valide XHTML / CSS et WAI. Si tu regardes le code source tu t'apercevras qu'il n'y a aucun tableau pour mettre le design et le texte en forme. Tout se trouve dans une feuille de styles externe. Si tu désactives les styles CSS avec l'extension webdevelopper de Firefox par exemple (si tu l'as installée bien sûr) ou bien en enregistrant le code source sur ton disque dur mais en ayant supprimé la balise <link> qui importe le fichier CSS, tu verras que le contenu n'a aucune mise en forme et est complètement accessible en suivant l'ordre dans lequel il apparaît dans le code source.

Je te laisse regarder pour te convaincre et me donner tes commentaires ;)

++
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
10 oct. 2006 à 19:21
@Jean84

>> Pour les ===, autant je suis d'accord que l'execution est plus rapide, autant que des failles puissent se cree, j'en doute fortement. C'est un peu comme le monstre du lokness, tout le monde en parle, personne ne l'a vut... ^^

Il faudrait approfondir le sujet. Je n'ai pas cherché de mon côté mais je suis sûr que ça peut régler des failles de sécurité. Je ne m'avance pas plus. Peut-être ai-je tord !

Pour les tableaux c'est clair que je ne peux que te convaincre. Quand on voit le nombre d'arguments que l'on peut avancer à ce sujet. Au début j'étais comme toi ! Réticent à l'idée de me séparer des tableaux mais quand j'ai vu ce que l'on pouvait faire sans et en mieux, je n'ai pas hésité à franchir le pas.

@Alvinp

>> Et en parlant du html v4.... je garde ma façon de faire, car si plusieurs languages existent c'est par rapport au niveau et la compréhension du navigateur soit au niveau serveur, soit au niveau client!!

Il n'y a rien côté serveur !!! HTML est un langage statique qui n'est interprêté que par ton navigateur. Donc IE, Firefox, Opera, AvantBrowser... L'affichage ne dépendra que de ces logiciels mais en aucun du serveur. C'est d'ailleurs pour cela que tu peux tester tes pages web en local sur ton navigateur alors que pour PHP il faut un serveur intégrant un interprêteur PHP pour exécuter le code.

Que tu codes en html 4 ou bien en xhtml 1.0 ou xhtml 1.1 c'est pareil. Tu fais du code html. Les balises sont les mêmes à peu de choses près puisque certaines balises comme font, b, i ne sont plus vraiment tolérées. On dit qu'elles sont devenues obsolètes. La seule chose qui change c'est le fait de coder proprement. C'est à dire en respectant certaines règles de syntaxe et de logique que voici :

- Toutes tes balises en minuscules
- Toutes balises ouvertes doit être fermées même les monobalises comme qui devient
- L'imbrication des balises doit être respectée. Par exemple : blabla n'est plus toléré
- Respect de l'imbrication des balises de blocs (h1,h2..., div, p, blockquote) entre elles et des balises en ligne (inline comme span, strong, em...) aussi
- Ne plus utiliser de mise en page tableaux
- La sémantique des balises doit être utilisée au mieux
- Les règles d'accessibilité sont aussi importantes. Il faut donc penser à les mettre en avant

Pour la syntaxe, le html4 ou le xhtml se base sur la rigueur de la syntaxe xml.

>> Je trouve que ce que j'utilise est parfaitement bien dés que celà marche à la fois sur Firefox et IternetExplorer...

Pour ce qui de l'affichage entre navigateurs, si tu codes correctement tu devrais avoir le même affichage (ou à peu de choses près. Ex: décalage d'une bordure de 1px).

Pour plus d'informations sur la programmation en html4 ou xhtml je vous conseille ces deux sites :

- http://www.alsacreations.com
- http://www.openweb.eu.org

++

Hugo.
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
10 oct. 2006 à 17:32
Vous livrez une bataille sur le php, lol
Je n'en connais pas autant que vous, mais je serai utiliser les bon conseils.

Et en parlant du html v4.... je garde ma façon de faire, car si plusieurs languages existent c'est par rapport au niveau et la compréhension du navigateur soit au niveau serveur, soit au niveau client!!
Je trouve que ce que j'utilise est parfaitement bien dés que celà marche à la fois sur Firefox et IternetExplorer...

Merci beaucoup!
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
10 oct. 2006 à 17:13
Arf ! Sa fait plaisir comme reponse ;-)
Globalement pour le pathinfo(), je connaissais pas l'astuce, merci donc.
Pour les benchmarks, il est evident que ce sont des scripts tailles pour la compete qui font des miliers de boucle. Il n'empeche que, quoi qu'on en dise, lorsque tu travaille en production (je sais pas si tu l'as deja fait), on peut atteindre des fois certaines valeurs de benchmark. D'ou donc l'idee d'apprendre a coder proprement, mais sur ce point, encore une fois nous sommes d'accord :-)
Pour les tableaux, j'avoue pour ma part que tu m'a franchement convaincu, faudra juste que je trouve un modele de remplacement (ou du moins limiter la taille et l'utilsiation des tableaux dans un premier temps, un peu comme quand on veuit arreter de fumer en douceur ....)
Pour les ===, autant je suis d'accord que l'execution est plus rapide, autant que des failles puissent se cree, j'en doute fortement. C'est un peu comme le monstre du lokness, tout le monde en parle, personne ne l'a vut... ^^

@++
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
10 oct. 2006 à 10:18
@Jean84

>> Non. Mettre des ' a la place " et plus rapide, quoi qu'on en dise. Et meme si sa ne se sent que sur de grosses applis, mieux vaut apprendre correctement et s'impsoer de bonnes regles avant d'etre au pied du mur. En plus c'est le B-ABA en php. Tape benchmark php sous google et constate le resultat, je l'ai pas invente pour l'occasion

Je travaille de toute façon de cette manière. Je mets toujours mes chaînes statiques entre apostrophes et mes chaînes dynamiques entre guillements. Je concatène aussi mes instructions echo() avec des virgules pour améliorer les performances. Les tests de benchmarks que l'on voit sur Internet ne montrent pas toujours la réalité. La vitesse d'exécution d'un script dépend de beaucoup de paramètres. En règle générale, lorsque tu fais un script, tu n'affiches pas 1000 fois ou 10 000 fois la chaîne 'Hello World' par exemple. Les benchmarks restent des calculs et de la théorie et de l'expérimentation pour la plupart. Ils démontrent des choses dans un cas de figure donné. Lorsque tu conçois une application, c'est sur elle qu'il faut faire des benchmarks pour tester ses performances. Certes je suis d'accord qu'il faille se baser sur des tests plus ou moins théoriques mais il ne faut pas en faire une généralité. Par exemple, programmer en orienté objet ou en procédural n'aura pas les mêmes impacts sur le temps d'exécution du code.

>> Demande a Rasmus Lederdof, c'est dans une video conference lors des dev-days qu'il preconaisait cela. Je ne fait que l'ecouter (sa reste Mr Papa du PHP donc...).

Faudrait que je vois ça, tu m'intéresses en disant ça !

>> surtout que pathinfo() renvoi un tableau qu'il faut encore traiter derriere (ce qui n'est vraiment pas lourd mais necessite quand meme un certains travail)

Faux ! Retourne lire la doc de pathinfo(). Pathinfo() retourne un tableau si tu ne lui précises pas de paramètres optionnels. Si tu fais :

<?php
$extension = pathinfo('index.html', PATHINFO_EXTENSION); // retourne html
?>

Il te retourne une chaîne de caractères qui est l'extension du fichier.

>> formulaires, je savais pas que comparer deux variables avec des au lieu de engendre des failles de securite....

Si le triple égal a été inventé, ce n'est pas pour rien. Logiquement si tu fais :

<?php

$a = '1';
$b = 1;

if( $a == $b ) {
echo 'Vrai !';
}
else
{
echo 'Faux !';
}
?>

Dans ce script (que je n'ai pas testé), le résultat retourné devrait être 'Vrai !' puisque les deux valeurs sont les mêmes mais pas les types de variables. Il y'a donc une sacrée différence. Je n'ai pas vérifier pour les failles mais je pense que sur certaines applications, si tu ne vérifies pas en plus le type tu risques d'avoir des failles. Je pensais ça lorsque un visiteurs avait la possibilité d'entrer des données à tester. En plus, selon les benchmarks (à prendre à la légère je le rapelle), le triple égal se trouve plus rapide lors de son exécution plutôt que le double égal du fait qu'il s'intéresse tout de suite à un type précis.

>> M'enfin sa reste un deconseil car ils sont bien au courant que tout le monde le fait, et que sa depanne grave... un petit tableau pour centrer tout un site, sa fait pas de mal ;-)

Non pas tout le monde ! Pas moi :) De plus en plus de personnes se mettent à la programmation html en suivant les standards et les recommandations du W3C. Il y'a plusieurs raisons à ne pas utiliser les tableaux pour présenter un document web entier :

1/ La sémantique : elle indique qu'un tableau ne doit recevoir que des données tabulaires à présenter. En aucun cas il ne devrait permettre de construire une charte graphique. Il existe des balises faites pour ça (entre autres les
). Comme pour les titres, des balises ont été prévues pour ça : h1, h2, h3... Les balises servent à donner un sens au contenu du document html, donc il faut respecter cette première règle.

2/ L'accessibilité : pour des personnes ayant des déficiences visuelles et notamment celles qui utilisent un navigateur spécial (braille par exemple), la mise en page tableau est un réel problème. En effet, le contenu ne se trouve plus dans un ordre correct de lecture. Il se retrouve dispatché un peu partout dans la page ce qui oblige le visiteur "handicapé" à faire des efforts de lecture à travers le document et des efforts mobiles avec sa souris. Pour des personnes paralysées ou ayant peu de motricité, cela leur demande un effort considérable alors que pour nous, bouger une souris ce n'est rien.

3/ Le poids de la page : il est fortement réduit lorsque tu codes proprement un document sans mise en page tableaux. Pour la même page codée des deux manière, tu peux avoir plus de 30% de gain de poids. Ce n'est pas négligeable même si le haut débit commence à s'installer un peu de partout dans le monde. Il existe toujours énormément de "contrées" reculées en France et les pays en voie de développement ne disposent pas encore de lignes suffisament puissante pour afficher des grosses pages.

4/ La portabilité : en codant sans mise en page tableaux (et en séparant fond et forme avec les css), tu peux permettre à ton site d'être visible sur différentes plateformes telles que : écran de pc, PDA, Téléphones portables via le WAP, impression papier... C'est un sacré atout quand même.

5/ La maintenance : c'est quand même plus facile de relire et de se repérer dans un code propre qui dispose de moins de code. Plus besoin de trop chercher où placer son contenu comme avant quand il fallait remonter les arborescences d'imbrication de tableaux.

Cette liste n'est pas exhaustive mais il y'a beaucoup de bons côtés à programmer ses sites sans mise en page tableaux. Le seul point négatif reste la différence d'affichage entre les navigateurs (notamment IE) mais elle est minime et tend à s'améliorer avec IE7 et les standards du W3C.

@Flachy-Joe

Oui c'est joli et ça respecte l'indentation mais tu ne respectes pas la logique de séparation du code PHP du code HTML. De plus, ce n'est pas du tout optimisé pour ton interprêteur PHP. Dans ce sens, PHP manque de rigueur puisqu'il est trop laxiste sur la façon de coder et de mettre en forme le code HTML.
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
10 oct. 2006 à 08:32
En quoi c'est moche ? Et pourquoi ça "martiriserait" l'interpreteur ? Il ne fait que sauter ce code en l'envoyant en bloc au client. Je trouve plutôt débile de lui envoyer des données qui n'ont pas besoin d'être traitées.
En plus ça permet d'avoir la coloration syntaxique du code HTML. En indentant corectement, il n'y a aucun souci de relecture.
Et faire plein de fichiers à inclure de quelques lignes renderait "moche" la structure du site, il y en aurait un gros tas dans un dossier ?
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
9 oct. 2006 à 22:50
Webdeb >
"Pour ce qui est des performances, je suis d'accord que les mettres entre quotes simples c'est plus rapide mais ça se joue sur un chouilla de microsecondes et encore ce n'est pas vrai pour tous les scripts. Ca l'est surtout sur des grosses applications."
- Non. Mettre des ' a la place " et plus rapide, quoi qu'on en dise. Et meme si sa ne se sent que sur de grosses applis, mieux vaut apprendre correctement et s'impsoer de bonnes regles avant d'etre au pied du mur. En plus c'est le B-ABA en php. Tape benchmark php sous google et constate le resultat, je l'ai pas invente pour l'occasion

"Pourquoi utiliser les fonctions de chaîne de caractères alors que tu peux le faire avec une fonction native ? Tu veux réinventer la roue ?"
- Demande a Rasmus Lederdof, c'est dans une video conference lors des dev-days qu'il preconaisait cela. Je ne fait que l'ecouter (sa reste Mr Papa du PHP donc...). Je suis d'accord que c'ets mieux en terme de code et plus compacte d'utilser des focntions natives mais ce n'est pas parce qu'elles sont natives qu'elles sont plus rapides, surtout que pathinfo() renvoi un tableau qu'il faut encore traiter derriere (ce qui n'est vraiment pas lourd mais necessite quand meme un certains travail)

"Mieux vaut les mettre que pas du tout ! Ca évite tout risque de faille de sécurité :)"
- Des failles de securite ?? Wahou... moi qui suis parano comme pas deux et verifie la moindre variable dans mes formulaires, je savais pas que comparer deux variables avec des au lieu de engendre des failles de securite.... Faudra me donner un lien pour le confirmer parce que sa me parait gros, voir meme enorme !

"Les tableaux ne sont pas faits pour de la mise en page mais pour présenter des données tabulaires comme des stats par exemple."
- C'est vrai que j'ai lu wue le w3c deconseille l'utilisation des tableaux pour la mise en page car cela consommait beaucoup de ressource du cote du client (les navigateurs ont semblent-ils beaucoup de mal avec sa). M'enfin sa reste un deconseil car ils sont bien au courant que tout le monde le fait, et que sa depanne grave... un petit tableau pour centrer tout un site, sa fait pas de mal ;-)

"...codant en html 4.01 ..."
4.01 ?? lol. C'est quoi la mise a jour ? ^^

Flachy Joe > C'est ultra ultra ultra moche de voir sa dans un script ! Certains pousent le vice a le faire dans une boucle :

while ( ... )
{
?>
// code html
<?php
}

Meme si sa "peut" donner une acceleration dans le code, c'est vraiment trop moche de faire et tu martirises ton pauvre interpreteur PHP. Prends en soin, sa peut toujours servir ;-)
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
9 oct. 2006 à 19:59
@Jean84 :

>> pour les extensions, il est conseille d'utiliser les fonctions str. Par contre l'utilisation que tu en fait n'est pas bonne (ou du moins n'est pas parfaite)

Pourquoi utiliser les fonctions de chaîne de caractères alors que tu peux le faire avec une fonction native ? Tu veux réinventer la roue ?

>> La relecture je crois pas mais la vitesse d'execution de ton script, sa c'est clair.

Ne me dis pas que pour toi une floppée d'antislashes c'est lisible !!! C'est super lourd à relire un code avec des échappements en tout genre. Pour ce qui est des performances, je suis d'accord que les mettres entre quotes simples c'est plus rapide mais ça se joue sur un chouilla de microsecondes et encore ce n'est pas vrai pour tous les scripts. Ca l'est surtout sur des grosses applications.

>> Seulement si la variable est suceptible de contenir differents types de donnees (INT, CHAR ou NULL par exemple). Si ce n'est pas le cas, cela ne sert a rien (meme si ce n'est pas grave evidement)

Mieux vaut les mettre que pas du tout ! Ca évite tout risque de faille de sécurité :)

@Flachy Joe :

>> A propos de relecture aussi, pourquoi ne pas remplacer la gros bloc d'"echo" par une fermeture de php "?>" puis une réouverture à la fin "<?php" ? Je crois même que la rapidité du code change...

C'est faisable mais en terme de programmation c'est déconseillé. Tu ne respectes pas trop la logique de séparer le programme php de l'interface html. Quand tu as plusieurs centaines de codes html dans un bloc <?php {?> <?php } ?> ça devient vite le bordel à relire. A la place de faire celà, il est plutôt conseiller d'utiliser des fonctions ou de faire des importations (include) de fichiers.

Pour en revenir à la source de Alvinp, ton code html est vraiment crade ! (excuse moi le terme). Mets toi au goût du jour en codant en html 4.01 ou xhtml valide. Les tableaux ne sont pas faits pour de la mise en page mais pour présenter des données tabulaires comme des stats par exemple.

++
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
9 oct. 2006 à 19:38
Ok je ferai celà ;)
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
9 oct. 2006 à 19:14
A propos de relecture aussi, pourquoi ne pas remplacer la gros bloc d'"echo" par une fermeture de php "?>" puis une réouverture à la fin "<?php" ? Je crois même que la rapidité du code change...
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
9 oct. 2006 à 19:14
Pour le code html, je fais des mise à la ligne à chaque fois pour la mise en page du code...
Et seul les guillemets permettent ceci, enfin je crois!
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
9 oct. 2006 à 19:03
Merci de m'avoir donner tout ces conseilles!
Je vais essayer de faire de mon mieu pour les appliquer, et je republie dés que c'est bon ;)
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
9 oct. 2006 à 15:58
Salut !

Je ne suis pas d'accord avec quelques conseils cites plus haut (c'est pas contre toi Webdeb, loin de la) :
- pour les extensions, il est conseille d'utiliser les fonctions str. Par contre l'utilisation que tu en fait n'est pas bonne (ou du moins n'est pas parfaite)
> $Extension substr($strrev($Chaine), 0, strpos('.', $Chaine));

- "Mets ton code html entre apostrophes plutôt que des guillemets afin de faciliter la relecture de ton code."
La relecture je crois pas mais la vitesse d'execution de ton script, sa c'est clair.

- "Pour les tests d'égalité, préfère aussi à"
Seulement si la variable est suceptible de contenir differents types de donnees (INT, CHAR ou NULL par exemple). Si ce n'est pas le cas, cela ne sert a rien (meme si ce n'est pas grave evidement)

Pour tes tests d'extension, prefere l'utilisation d'un esleif() ou au pire d'un switch() (plus lent) que des if() les uns a la suite des autres. Tu gagneras en rapidite car il ne s'embettera pas a tester les autres possibiltes quand il aura deja un resultat (alors que la, si l'extension est JPG, tu te tapes quand meme les verifs pour savoir si c'est un gif ou un png, alors que tu sais que c'est un JPG)

Voila sinon pas trop mal, a part que ta source est pour les debutants et que tu n'as mis quasiment aucun commentaire "utile". Pas mal de personnes cherchent ce genre de source pour apprendre a utiliser GD mais la, avec cette source, sa risque d'etre difficile si tu ne corrige pas ^^

@++
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
9 oct. 2006 à 12:14
Salut !

Plusieurs remarques pour améliorer ton code :

- Utilises plutôt des constantes à la place des variables situées en entête de ton fichier
- Pour récupérer une extension, préfère la fonction native de php pathinfo() avec l'option pathinfo_extension
- Mets ton code html entre apostrophes plutôt que des guillemets afin de faciliter la relecture de ton code.
- Pour les tests d'égalité, préfère aussi à
- Pour les extensions valides (gif, png, jpg), fais plutôt un tableau plutôt qu'une batterie de conditions dans le même if()

Voilà !

++

;)
alvinp Messages postés 167 Date d'inscription mardi 27 juillet 2004 Statut Membre Dernière intervention 31 août 2011
9 oct. 2006 à 06:44
Encore une chose, vous pouvez changer la police en remplacent tout simplement 'police.ttf' par la police de votre choix!