Requis : espace web personnel & serveur Apache | Grâce au PHP, il est possible de posséder un avatar composé de plusieurs images qui s'affichent aléatoirement. Cela n'a rien de très compliqué, cependant l'astuce nécessite un espace web personnel doté d'un serveur Apache.
Suite à une rapide discussion avec 'Christa, mon premier tuto traitera donc... bah c'est écrit au dessus, bref. Entrons dans le vif du sujet...
Prérequis
Le soucis d'un tel avatar, c'est qu'il faut posséder un espace web possédant un serveur Apache, pour lire le langage PHP. Ça fait beaucoup pour avoir un simple avatar, mais c'est la condition à remplir malheureusement, comme pour tous scripts PHP. Une fois cette étape passée, bah... le plus gros est fait.
Les images qu'on veut voir sur son avatar ! (si si ça peut servir je crois)
Et comment qu'on fait ?
Le principe
Comment réussir à avoir une image aléatoire alors qu'on nous demande de mettre simplement une image ? Si je vous dis qu'il est possible de mettre un script PHP en guise d'image, ça devient alors plus simple à imaginer ! On demande alors au serveur de générer un aléatoire parmi nos images, puis de nous rediriger dessus et le tour est joué. NB : Je n'apprendrais pas les bases du langage dans ce tutoriel, mais peut-être dans un autre si cela sera utile.
Organisation
Tout d'abord, il faut récupérer les différentes images que vous voulez voir apparaitre comme avatar dans un même dossier, histoire de s'y retrouver plus facilement. Le nom n'importe pas vraiment même si ça pourrait permettre d'optimiser les choses... à la condition que tous les avatars à afficher possèdent la même extension. Également, assurez-vous qu'ils soient tous de même format sinon ça peut être... perturbant. Il faudrait passer par les librairies GD pour redimensionner le tout via PHP et tout, enfin des complications inutiles quoi. Pour ce tutoriel, j'utiliserais des icons de dramas trouvés sur Japanese Drama Icons.
Place au script
Pour se faire, on va donc créer un nouveau fichier pour votre avatar. Je ne sais pas avec quoi vous programmez, pour ma part c'est Komodo Edit mais dans mon temps "Windows" j'appréciais la simplicité de Notepad++ mais après c'est au bonheur de chacun comme on dit.
Code:
<?php
// On déclare les différentes images qui apparaitrons dans un tableau // sous la variable $images... original n'est-ce pas ?
// On choisit l'image à afficher grâce à la génération d'un chiffre aléatoire // Pour cela, on utilise la fonction mt_rand()
$nb = mt_rand(0,4);
// Enfin, on redirige vers l'image voulu et poc ! ça fait des Chocapics ! *j'ai faim*
header('Location : ' . $images[$nb]);
?>
Alors qu'avons nous là ? Toutes nos images référencées dans le tableau $images, je n'en ai mis que 5 mais vous pouvez en mettre bien plus, ou moins aussi, c'est comme vous voulez. Faites attention cependant de ne pas oublier qu'à la dernière ligne... on ne met pas de virgule ! (le tableau est fini, et pouf !)
Ensuite on génère le chiffre aléatoire dans la variable $nb. Pour ça, j'ai fais appelle à la fonction mt_rand mais comment fonctionne-t-elle ? mt_rand(x, y); x est en fait le nombre minimum et y le maximum parmi lesquels votre nouveau nombre sera généré. Mais pourquoi je vais de 0 à 4 alors qu'il y a 5 images ?... Tout simplement parce qu'en PHP, on fait pas pareil qu'en français, on commence à compter à partir de 0 ! 0, 1, 2, 3, 4, ça nous fait bien 5 entrées.
Et au final, on associe le chiffre généré à la ligne de notre tableau pour trouver le nom de l'image que l'on affichera. Maintenant hop, on sauvegarde notre fichier en .php, par exemple avatar.php et on met en ligne avec nos images.... tout ça dans le même dossier ! Voila, maintenant mettrez le chemin de votre script dans une balise img et le tour est joué
Le résultat
Oui, bon c'est pas flagrant là comme ça mais rechargez la page, ça ne sera plus le même !... ou alors c'est la faute à pas de chance et rechargez encore une fois >< en plus ça me fera plaisir j'aurais l'impression qu'y'a du monde qui lit mon tuto =D.
Optimisation
J'en ai parlé un peu plus haut, il est possible de simplifier énormément ce script ! Mais pourquoi je ne l'ai pas fait alors ?... Si vous regardez à nouveau mon petit script, vous verrez un petit ".png" glissé parmi tous ces .jpg, pourtant j'avais bien dis que toutes les extensions devaient être identiques ! Si tel est le cas, numérotez les toutes ! avatar1.png avatar2.png avatar3.png et ainsi de suite. Maintenant que pouvons-nous faire ?... vu que les noms et les extensions sont identiques à chaque images, il n'y a que le chiffre qui change alors pourquoi ne pas incrémenter notre mt_rand dedans ?
Hop... plus simple tout de même non ? mais peut-être un peu moins clair. Enfin si vous avez compris le fonctionnement, cette ligne ne doit pas poser de problème ! Mais pourquoi maintenant j'ai numéro de 1 à 3 au lieu de 0 à 2 ?... Et bien je n'ai pas de avatar0.png ... alors bon, voila quoi...
Et si... y'a un filtre d'extensions ?
C'est vrai ça, si on nous demande de mettre un .jpg, .png ou .gif comme avatar ? Ça ne sert plus à rien ce système ? Et bien... renommez votre dossier en avatar.jpg ! Rien ne vous en empêche ! Puis dans celui-ci, renommez votre avatar.php en index.php et le tour est joué. Vous entrez donc l'adresse monsite.com/avatar.jpg, le formulaire accepte et lors de vos messages, il ira chercher sur monsite.com/avatar.jpg/index.php !
Voilou, en espérant avoir été suffisamment clair dans mes propos et explications... Au cas où de toute façon, je suis disponible pour rectifier ou répondre aux questions ! See ya ~
Les tutoriels de l'Enae Volare appartiennent à leurs auteurs respectifs et - sauf mention contraire - ne doivent en aucun cas être diffusés, redistribués ou repris de quelque façon que ce soit en dehors de l'Enae, que ce soit en partie ou en totalité.
Merci de créditer l'Enae si ce tutoriel vous a été utile, cela nous aidera à être connus et c'est un juste paiement en retour de nos services ;)
Vous avez un problème avec ce tutoriel, vous voudriez l'adapter à votre cas particulier mais ne savez pas comment vous y prendre ? Créez un nouveau sujet dans le forum Support Tutos !
Vous avez quelque chose à ajouter à ce tutoriel ? Ouvrez un sujet dans les Mises à Jour de Tutos, le staff se chargera de mettre le tutoriel à jour si votre proposition paraît pertinente ;)
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
Vous ne pouvez pas poster de nouveaux sujets Vous ne pouvez pas répondre aux sujets Vous ne pouvez pas éditer vos messages Vous ne pouvez pas supprimer vos messages Vous ne pouvez pas joindre des fichiers