Voir les messages sans réponses | Voir les sujets actifs Nous sommes le Dim 5 Fév 2012 01:05


Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
 Un avatar aléatoire 

Informations
sur l'article

Codage - Forums privés
Niveau Facile
Accès Visiteurs

Auteur


Gestion
Message  Un avatar aléatoire

Un avatar aléatoire

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 ?

$images = array(
  'jdrama01.jpg',
  'jdrama02.jpg',
  'jdrama03.png',
  'jdrama04.jpg',
  'jdrama05.jpg'
);

// 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

    Image

    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 ?
Code:
<?php header('Location : avatar' . mt_rand(1,3) . '.png'); ?>

    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 ~


Ven 26 Nov 2010 20:57

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 ;)

Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet   [ 1 message ] 

Qui est en ligne

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

Rechercher:
Aller à:  

 
- Design et codage par Koori et 'Christa pour l'Enae Volare exclusivement.
- Forum originellement fondé par Paro - Voir les crédits -
- Propulsé par phpBB © phpBB group - Traduction par phpBB-fr.com
- Optimisation du référencement par phpBB SEO