Vous n'êtes pas identifié(e).
Bonsoir à tous,
Bon réveillons de Noël à tous, et passer de bonne fêtes de fin d'année.
Pour l'année 2010, je vous souhaites à tous une bonne santé, il n'y a que ça de vraiment important !
Bises,
Luce
Salut Eric,
Je ne peux pas te répondre, et je m'en excuse, ça fait quelques semaines que j'étais pas vraiment en état d'utiliser un pc, sans entrer dans les détails.
Et encore aujourd'hui, c'est mon 3ème post en 3 jours et avant il n'y en a pas eut depuis juillet, donc je peux pas, et je m'en excuse, tester divers scripts.
Mais normalement, si tu prends un script PHP5, MYSQL5, il ne devrait pas y avoir de soucis, hormis si les ID des lignes de config pour la base de donnée ne sont pas explicitement stipulées, ce qui se corrige très rapidement, ne t'inquiete pas.
Donc fait des tests, et si ca merdouille, bah post. Je peux pas te garantir de répondre dans les minutes, mais j'essayerais de regarder une fois par jour.
Cordialement
Salut Eric,
Si tu utilises un client FTP, et tu en utiises forcement un, tu dois avoir des tonnes de lignes qui défilent quand tu te connectes.
Et bien dans ces lignes, il y a l'espace que tu utilises, mais cette information peut être fausse, mais ca te donne une idée de l'espace que tu occupes.
Si tu cherches l'information exacte, la meilleue des solutions, un petit email au support, ensuite, ca sera dans l'espace client de toute facon (heu manico, je dis pas de connerie là ?)
A plus
Salut,
Malgré les yeux qui brulent, je regarde un peu.
Petite parenthèse avec le "Empreinte carbone 24 Kg de CO2 / an" héhé ! le délire !!!
Mais sinon manico, pourquoi ne pas mettre (si le client le souhaite) et je pense à ta nouvelle infrastructure mails que tu envisages, le soft qui envoi automatiquement un email à toute adresse inconnue qui envoi un email en réponse, avec un lien à cliquer pour confirmer l'envoi du mail. J'ai plus le nom en tete, mais je pense que tu vois ce que je veux dire.
A+ (un peu plus souvent maintenant !)
Bonjour,
J'ai pas de nouvelles depuis un moment (j'ai pas mal de soucis), mais normalement, sa devrait arriver avec le nouveau site, mais il y avait des soucis administratif. Et tant que ce n'est pas réglé (je ne sais pas vraiment à l'heure actuelle) le nouveau site est retardé.
Re,
ManicoW a répondu, c'est totalement réalisable "manuellement", c'est à dire sans passer par le formulaire habituel sur le site. Mais il faut contacter le support pour ça.
Pour le vol légal des noms de domaine, c'est faux !
Quand on oubli de renouveller un nom de domaine, on a un délai pour le faire (je sais pas trop, ca doit être 1 à 2 semaine) ensuite, il ne retombe pas directement dans le domaine "public", il est comme qui dirait "bloquer", personne ne peut l'acheter pendant plusieurs semaines (je crois que c'est 6 mois). Pendant cette durée, on peut redemander à le récupèrer, mais il y a une certaine procèdure (envoi photocopie de carte d'identité...) et ça coute assez cher (je crois plus de 100 euro). Après ce délai, n'importe qui peut le racheter à un prix pas cher.
Pour le vol de domaine illégal, il faut pas utiliser de compte mail "yahoo, gmail et autre", il est préférable d'utiliser celui de son fournisseur d'accès internet, d'un nom de domaine... et de mettre un mot de passe à 15 caractères, alphanumérique et avec des majuscules/minuscule, ce qui fait 62 possibilités par lettre, donc voila le nombre de combinaison possible (plus de 2 million je crois). Avec un attaque en brutal force, si le serveur mail n'a pas de sécurité pour bloquer les tentatives répétées, il va falloir quelques mois !!!
Bonjour,
Je n'ai pas de réponse officielle à donner par rapport à WDMEDIA, mais une réponse générique à tous les vendeurs de noms de domaine.
Normalement, la date maximum prévu par les registrars est de 10 ans.
Pour WDMEDIA, je pense que ça n'a pas été prévu d'avoir un client qui veut acheter un nom de domaine pour 10 ans, donc ca n'a pas été prévu, mais théoriquement, il n'y a pas de soucis, un petit E-mail au support, et ca devrait se faire.
Pour le choix de renouveller pour 10 ans, c'est pas une mauvaise idée, et un dénommé ManicoW (si tu connais) qui possède une société qui propose de l'hébergement web (on va pas lui faire de pub hein !) à "oublier" de renouveller son nom de domaine "www.XXXXX-hebergement.net" !!! Et oui, il en fait des conneries aussi celui là !!!
Alors, en renouvellant pour 10 ans, tu es sur que pour les 10 prochaines années, personne ne viendra se moquer de toi publiquement sur un de tes forums, surtout si tu as un client qui demande si c'est un bon choix ou pas !
(heu, ca te va comme explication ?!)
Pour ce qui est de renouvelle avant l'expiration, un peu comme le paragraphe précédent, ca t'évite de voir un page blanche à la place de ton site, et tu ne payes pas plus cher, c'est le nombre d'année que tu achétes ajouter à la date d'expiration
Donc, (à un jour prêt) si tu renouvelles pour 10 ans aujourd'hui, le nom de domaine expirera en AOUT 2019
Pour le prix, en général, il n'y a pas de "réduction" si tu renouvelles pour 10ans (sinon beaucoup le feront).
L'inconvénient par contre, de renouveller sur 10 ans c'est que tu as interet à tant souvenir !!!
Cordialement
Re,
Pour le nouveau site, le hover sur les box risque d'etre compliqué, c'est pas simple simple, et comme c'est purement un effet graphique, ca va sans doute attendre un peu, je préfère passer 1h sur l'espace client qu'a ajouter l'effet de hover
Ouais, mais ça + des RJ45 LED de différentes couleurs qui clignotent, ca serait pas joli mais MAGNIFIQUE !!!!
(ok, c'est peut-être abuser vu la réponse :-D)
Mais dommage que Y (Epsilon, le fameux grapheur des années 90 sur paris) ne passe plus à la maison, je lui aurais demandé de faire ça (et tout plein d'autres choses aussi !)
Salut Eric,
Les lignes de commande, c'est en effet, command prompt, ou pour ceux qui ne connaissent pas, l'invite au commande de windows. On utilise en général putty pour ça, ou telnet.
Ce que veut dire manico, c'est que pour le moment, la nouvelle interface client fonctionne parfaitement en ligne de commande, maintenant, il reste à créer une interface graphique (un page web en gros).
Pour les stats, c'est tout simplement que les stats sont générées par rapport au nom de domaine, mais pas pour les sous domaine. Je sais qu'il est possible de le faire avec awstats, mais je ne sais pas si il est possible de le faire pour un nom de domaine précis, parce que je doute que chaque client accepte de prendre une calculatrice pour calculer la bande passante consommée, ou de manière générale, accepter de verifier chaque "sous domaine".
Bon, si ce n'est pas possible dans awstats, il est toujours possible de coder une nouvelle condition, mais bon, je crois qu'il y a d'autres choses qui sont bien plus importantes.
Pour l'avancement, je ne dirais qu'une chose, c'est que le nouveau site est bien sympa, juste un petit hover sur les box des offres pourraient faire mieux et donnera un joli effet au passage de la souris ! Pour le reste, je n'en sais pas plus.
Salut,
Heu, je viens de passer à Vista 64 bits, et pour tous ceux qui ont vista, je recommande vivement de lui dédié une clé usb pas trop mauvaise (un 4 go à 6 ou 7 euro c'est bien) pour qu'il puisse l'utiliser pour le readyboost (cliquez droit sur la cle, puis propriété et regardez).
A jour aussi
Anti virus, aussi AVG, mais je l'utilise plus pour scanner les bordels que l'on me file (tout ce qui vient de la famille est pollué).
Niveau firewall je t'invite à changer très rapidement pour un comodo, qui est gratuit, mais aussi le meilleur firewall gratuit-windows et aussi performant que beaucoup firewall payant. Il est pas aussi chiant que le bordel windows, sauf au début, et tu as même une option pour dire à ton firewall "T'inquiete pas, je suis entrain de lancer une installe alors me gonfle pas hein !"
Pour les malware, déjà avg en filtre quelques uns, mais je prefere ad aware (qui reste aussi en resident avec la version anniversaire).
J'ai pas désactivé bitdefender
- J'ai aussi désactivé le contrôle de compte utilisateur car j'ai un firewall qui fait la meme chose tout en apprenant quand il faut me poser la question (chiant au debut, et avec le temps il ne fait plus chier).
- J'ai mis un mot de pass admin PAS suffisamment complexe (le firewall surveille ça aussi)
- Je surveille la conso de mes cores en permanence, ainsi que la temperature via coretemp, ce qui me permet de savoir si c'est normal qu'il monte en conso.
- J'utilise OPERA qui peut se connecter sur les Peer to Peer et je n'utilise qu'un seul et unique tracker (privé)
- J'utilise aussi l'anti malware de windows, qui est plus ou moins cacher et très peu connu : demarrer, executer : mrt
- heu... ah oui, je vais devoir changer mon modem, je dois en recup un avec aussi pas mal d'option / firewall ....
- j'utilise la 2ème méthode de gestion de mémoire (fsutil behavior set memoryusage 2)
- Comme taper le mot de passe a chaque démarrage me saoul : control userpasswords2
- Il me manque pas mal de dll, tous ceux qui ne sont pas pour mon pc.
- En dehors de windows et virtual pc, je n'installe pas d'autres soft micrsoft tel que office.
- J'évite d'utiliser des softs trop utilisés, quand ils sont des cibles pour les hackers (ie et firefox par exemple).
- J'utilise pas filezilla mais un vieux cuteftp pro bugged, demo 30 jours que je peux renouveller indéfiniment dut à un bug d'une mise à jour que j'ai signalé et qui a été corrigé dans les 24 h, mais j'ai toujours cette version bugged :-P
- Niveau IRC, j'utilise bersirc, qui est un client "exotique" pour éviter les hacks.
- Je n'accepte pas les doc excel.... J'ai pas openoffice d'ailleurs.
- Et je vais avoir plein de leonidas la semaine prochaine!!! :-P
Au faites, la définition de GC14 : Grand Couillon du 1er Avril ! :-D
Alors que Nvidia cherche à sortir des GTX 295 avec 2 GPU, Intel va riposter !
Depuis déjà un bout de temps, Intel fait des cartes graphiques "intégré" aux cartes mère, ce que tout le monde sait, et aussi que ceux sont des cartes graphique plus que bas de gammes pour les jeux vidéo, mais voila, Intel lance la riposte !
Mais voila, un ami travaillant dans la sécurité informatique a dut ce rendre chez Intel, et il a vu une boite étonnante, et à poser quelques questions (il a eut des réponses parce qu'il a signé un dictionnaire de règles pour ne pas dévoiler quoi que ce soit, mais vous me connaissez !)
Le but, détrôner Nvidia (c'est ce que l'on appel avoir de petites ambitions), suite à l'annonce d'NVIDIA de vouloir fabriquer des processeurs.
Et quand on voit ce que Intel prévoit, il y a de quoi rester sur le cul (il n'y a pas d'autres termes) .
Voici ce que l'on lui a répondu :
Processeur graphique GC14 (un processeur graphique basé sur le Quad Core) Cadencé à 1.6 Ghz
Mémoire : UGDDR 2.4 GB Cadencé à 3.2 Ghz
A ça, Directx 11 sera spécialement conçu pour exploiter au maximum les GC14 (doit-on y voir une concurrence déloyale ?).
Mais attention, il faudra changer de carte mère pour avoir un port PCIE 3.0, et niveau alimentation, elle ne devrait pas consommer autant que les GTX295.
Intel est encore entrain de faire des tests pour coupler les cartes.
Intel pense que le prix devrait être en dessous des $350 dollars (quand on sait que les GTX 295 coûtent 400 euro !).
Il m'a aussi dit que Intel pense faire une annonce officiel cette été, et la présentée officiellement en septembre avec une date de sortie début 2010 !!!
Voici une des toutes première image de ce monstre (la photo a été prise avec la webcam d'un EEE, et j'ai dut la grossir pour voir) :
http://www.jfronline.com/images/library/gc14_boite.jpg
Salut,
Bah tu sais quoi, le CMS qui a l'air être le plus simple, c'est (et tu vas rire) CMS Made Simple...
Maintenant, quand je parle de complexitée, c'est surtout pour l'administration, tu peux avoir une 50aine de pages pour le configurer et tu ne dois pas faire d'erreur.
Par exemple, la grande majorité des CMS de type XOOPS (Xoops, Runcms, exv2.... ce que je connais le plus) tu peux permettre des balises HTML, mais voila, tu as intéret à connaitre les balises à autoriser ou refuser.
Quand tu permets l'upload de fichier, il faut toujours y spécifier les extensions autorisées, et là aussi, tu dois savoir quelle extension autorisée.
Alors que d'autres CMS eux, vont t'imposer les extensions.
Après, il y a le code, si les fonctions te permettent bien de créer des pages facilement, si c'est simple de récupèrer les informations user...
Il faut voir la sécurité...
En gros, n'importe qui peut utiliser un CMS, mais rien que le CMS en lui même, il faut facilement 2 mois pour le connaitre (sans parler du code) parce que comparer à un forum, tu as énormement de chose à gérer.
Certains CMS ont aussi des options de sécurité (d'ailleurs manico pourra le confirmer) tel que Exv2, et si tu les actives (ce que je te recommande vivement) tu recevras un E-mail en cas d'attaque. Et si je dis que Manico pourra le confirmer, il y a quelques mois, je commence à recevoirr une 50aine d'alertes, 5 mn après, plus de 80, puis plus rien.
Pendant ces 5 mn, j'ai bloqué les IPS utilisés (en attendant j'avais meme mis un deny from all le temps de tout bien comprendre) mais Manico a aussi été alerté parce qu'il y avait un "comportement douteux" sur le serveur et lui aussi a pris des mesures.
J'aurais pas eut ce système de sécurité, le petit méchant aurait peut être envoyer des spams ou autres, ce qui est pis encore, puisque dans ce cas l'ip wdmedia peut se retrouver blacklister !
Mais voila un bon exemple de tout ce que tu peux configurer sur les CMS (d'ailleurs je crois que drupal à des outils de sécurité), et qu'il faut apprendre à utiliser.
D'ailleurs, je vais me créer une fonction pour auto ban tout ce qui déclencherait une attaque après la 3ème tentatives en 5 mn.
Pour éviter ce qui s'est passé, je sais pas combien ca m'a envoyé d'email, puisqu'il a reussi à rendre full ma boite mail avec les alertes mais à chaque fois il m'envoi une copie du fichier cache...
Salut Eric,
Oui, tu peux utiliser les CMS, mais attention, il y a CMS et CMS.
Certains sont des usines à gaz, avec des tonnes de failles de sécurité, d'autres sont simples en utilisation et d'autres assez complexe.
Toi qui était quelque peu récalcitrant pour les forums, bah, les CMS c'est pis !
Il y a énormement de chose à paramétrer, à prendre en compte, que ce soit pour la configuration que pour la sécurité.
Ensuite il y a des CMS en PHP, PHP/SQL, mais aussi dans d'autres langages tel que Python.
Drupal est un CMS assez courant chez les professionnels (surtout les éditeurs de jeux vidéo l'utilisent pas mal).
Normalement, ils fonctionnent sur WDMEDIA, il peut y avoir des petits réajustement à faire au niveau de la base de donnée, mais si il y a le moindre soucis de ce coté, tu me fais signes (tu sais où me trouver) je regarde directement et je posterais un petit correctif pour ceux qui voudraient l'utiliser.
Mais je préviens, Drupal c'est pas le plus simple pour débuter !
Salut,
Félicitation !
Alors, il utilise déjà windows, ou il est déjà à l'étape FreeBSD !
Et ne me dit pas qu'il n'arrive qu'à utiliser Mac !!!
Re,
heu
Nan mais t'as pas honte de m'obliger a télécharger chrome pour m'appercevoir que tu dis n'importe quoi ??
En un mot :
cache !
(balot je l'avais pas fermé).
Bah au moins, j'ai fait qu'une erreur moi :-P
Faut que je regarde la config de chrome pour virer le cache.
Edit :
Saloperie de chrome, il y a une option "vider le cache", mais pas d'option pour lui interdire le mise en cache !
Re,
Ca va là, enfin sous Opera, Firefox, IE
Mais pour chrome, ça n'a pas bougé d'un poil :-D
C'est un gag !!
PS :
* { margin:0; padding:0; }
Edit :
Par contre, j'avais pas fait gaffe à ta box connexion, et ca merdouille pas mal !
Déjà, "mot de passe oublié", c'est totalement illisible, et le soulignement ressemble plus à un strick qu'autre chose.
Pour "mot de passe", c'est lisible, mais pour "identifiant" sous chrome et opera, c'est "compacté", si tu pouvais y ajouter un un letter-spacing ça devrait s'arranger.
Edit 2:
Ok tu as arrangé ça, il ne reste qu'un petit soucis, c'est identifiant et mot, sous opera, il y a pas le 1 px qui le sépare du début du input, pour le "M" c'est pas un soucis, mais pour le "i" il faut regarder pour le voir.
Après, ça sera parfait !
Salut,
Zut alors !
La première chose que j'ai fait en voyant que tu l'avais mis en ligne, j'ai regardé wdmedia-hebergement !
Il fallait voir wdmedia seulement !
Bon... Alors Manico, tu n'es pas débout, sinon tu vas t'écrouler !
Déjà, je n'ai regardé que la page d'accueil !!!
On remarque que tu deviens vieux, et à mon avis, tu ne perds pas tes cheveux, tu te les arraches !
Mais alors là où je suis étonnée, c'est que google chrome est le plus juste pour l'affichage, et firefox le plus horrible !
Donc voici le résultat de la "Bonne visite" :
Sous google Chrome :
Sous Opera :
Sous IE :
Sous Firefox :
Et ne va pas t'arracher les quelques cheveux qu'il te reste !
:-D
A ça, j'ai regardé ta source, histoire de checker pour le référencement, et là, il y a de quoi gueuler !
Pas de description !!!
Et une description doit être unique à chaque page (tout comme le title) !
D'ailleurs, un petit lien que je recommande de bookmark :
http://forum.webrankinfo.com/petite-bib … 23221.html
Je vais voir les autres pages :-P
Edit :
Bon, ça va, il y a que "bonne visite" qui merdouille !!!
Ca doit être un gag !
Salut,
Pour utiliser les LIMIT, comme c'est des INT, il faut le préciser, ce qui nous oblige donc à utiliser les BIND
Voici un exemple fait pour Eric Renaud :
$req1 = $dbconnect->prepare('SELECT id_news, titre, text, UNIX_TIMESTAMP(date_news) as temps FROM eric_news ORDER BY date_news DESC LIMIT ?,?');
$req1->bindParam(1, $next, PDO::PARAM_INT);
$req1->bindParam(2, $fin, PDO::PARAM_INT);
Il existe deux manières pour les BIND, soit en remplacant les ? par des :nomdubind (avec : devant) puis à la place des chiffres, mettre ':nomdubind' ou alors, ce que je trouve le plus simple, utiliser la position du bind sans les nommés
donc le premier ? est 1, le deuxieme ? est 2.
Le soucis des bind, c'est que pour chaque ? il faut déclarer le bindparam en fonction de son contenu.
Salut,
Je suis tombée la dessus !
http://offres.everywhere-recrutement.co … hp?id=4399
Manico, tu déménages quand ? tu déplaces aussi les serveurs ?!!!
J'espère que c'est une erreur, parce que €25 000/mois, je dors plus et j'épluche tout php.net et mysql.com !
Salut,
On m'en a déjà parlé, je ne sais plus trop qui, mais parfois, il se peut que vous voyez des points d'interrogation à la place de certains caractères.
C'est un soucis entre le serveur et votre script.
Le serveur est en ISO, et votre script en UTF-8
La solution est très simple, il suffit de créer un .htaccess, et vous copiez le code suivant à l'interieur :
AddDefaultCharset UTF-8
Voilou
Ajout du lien pour le captcha FluxBB 1.2.2
Exemple d'une fonction utilisant MingLib (disponible chez de trop rare hébergeur)
ATTENTION, CE SCRIPT DOIT ETRE PLACER DANS UNE PARTIE ADMIN OU INNACCESSIBLE AUX VISITEURS !!!
L'explication est ici : http://forum.wdmedia-hebergement.net/vi … hp?id=1141
Je me suis basée sur l'exemple ici : http://www.gazbming.com/getexample.php?id=3
J'y ai supprimé la partie "multi répertoire", puis je l'ai transformé en fonction qui vous permet de définir plusieurs parametres, et la fonction permet d'afficher le code HTML a placer sur votre site (vous aurez juste à modifier les liens)
Voici le code de la fonction :
<?php
function genere_flash($hauteur, $largeur, $bgcolorhtml, $pathtojpgs, $sortie, $nom_fichier)
{
Ming_setScale(20.0000000);
ming_useswfversion(6);
$movie=new SWFMovie();
$couleur = str_replace("#", '', $bgcolorhtml);
$rouge = substr($couleur, 0, 2);
$vert = substr($couleur, 2, 2);
$bleu = substr($couleur, 4, 2);
$rouge = '0x'.$rouge;
$vert = '0x'.$vert;
$bleu = '0x'.$bleu;
$movie->setBackground(rand(0,$rouge),rand(0,$vert),rand(0,$bleu));
$movie->setRate(31);
$movie->setDimension($hauteur,$largeur);
function easeInQuad ($t, $b, $c, $d)
{
$t/=$d;
return $c*$t*$t + $b;
};
function easeOutQuad ($t, $b, $c, $d)
{
$t/=$d;
return -$c *($t)*($t-2) + $b;
};
$strAction="
if(!init)
{
init=true;
stopped=false;
controls =
{
onMouseDown: function ()
{
if(!stopped)
{
stop();
stopped=true;
}else{
play();
stopped=false;
}
}
};
Mouse.addListener(controls);
}";
$movie->add(new SWFAction($strAction));
$i = 0;
if ($handle = opendir($pathtojpgs))
{
while (false !== ($file = readdir($handle)))
{
$tmp = explode(".",$file);
if($tmp[1]=="jpg")
{
$f[$i] = $file;
$i++;
}
}
}
closedir($handle);
$movie->nextFrame();
for($i=0;$i<count($f);$i++)
{
for($k=0;$k<count($f[$i]);$k++)
{
$img = new SWFBitmap(fopen($pathtojpgs.$f[$i],"rb"));
$pic=$movie->add($img);
$hauteur2 = $hauteur /2;
$largeur2 = $largeur /2;
$pic->moveTo( ($hauteur2 - $img->getwidth() /2),($largeur2 - $img->getheight() /2));
$transition=20;
$cnt=1; $startpos=0; $offset=1; $duration=$transition;
while($cnt<=$duration)
{
$inc=easeInQuad ($cnt++, $startpos, $offset, $duration);
$pic->multColor(1,1,1,$inc);
$movie->nextFrame();
}
for($j=1;$j<=$transition*2;$j++)
{
$movie->nextFrame();
}
$cnt=1; $startpos=1; $offset=-1; $duration=$transition;
while($cnt<=$duration)
{
$inc=easeOutQuad ($cnt++, $startpos, $offset, $duration);
$pic->multColor(1,1,1,$inc);
$movie->nextFrame();
}
$movie->remove($pic);
}
}
$movie->nextFrame();
$movie->save($sortie.$nom_fichier.'.swf',9);
$affiche = '<br><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="'.$hauteur.'" height="'.$largeur.'" id="home" align=""><param name="movie"
value="'.$sortie.$nom_fichier.'.swf">
<param name="quality" value="high">
<param name="bgcolor" value="'.$bgcolorhtml.'">
<embed src="'.$sortie.$nom_fichier.'.swf" quality="high" bgcolor="'.$bgcolorhtml.'" width="'.$hauteur.'" height="'.$largeur.'"
name="home" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></object></center>
<br>';
$affiche2 = htmlentities($affiche);
$message = 'Modifier les 2 parties : <param name="movie"value="'.$sortie.$nom_fichier.'.swf"> et <embed src="'.$sortie.$nom_fichier.'.swf" pour qu\'il correspond à l\'url de l\'animation flash';
$affiche2 .= "<br><br>";
$affiche2 .= htmlentities($message);
return array($affiche, $affiche2);
}
Pour utiliser cette fonction il faut ajouter cette ligne, après la fonction ou alors il faut que votre fichier appel la fonction :
$affiche = genere_flash('120', '80', '#FF0000', './galerie/miniature2/', './images/', 'test');
echo $affiche[0].$affiche[1];
Explication :
120 => C'est la taille (width) de l'image en pixel, ici 120 pixels
80 => C'est la taille (height) de l'image en pixel
#FF0000 => C'est la couleur au format HTML qui servira pour les fonds (la couleur de votre site), le # n'est pas obligatoire.
./galerie/miniature2/ => oubliez pas le / à la fin du répertoire, c'est le répertoire par rapport à l'appel à fonction que Ming va utiliser pour chercher les images.
./images/ => Le chemin de sortie pour stocker l'animation flash
test => le nom que portera l'animation flash, le .swf est ajouté par le script. Eviter les espaces et caractères spéciaux.
$affiche[0] => Affichera l'animation flash pour vous, histoire de controler le résultat
$affiche[1] => Affichera le code HTML pour utiliser l'animation flash ainsi qu'un rappel pour modifier comme il faut le chemin de l'animation flash pour le code HTML.
ATTENTION :
- Cette fonction ne fonctionne qu'avec les fichiers JPG avec une extension .jpg
- Si vous utilisez des images que vous avez créé avec un logiciel, faites très attention, Ming est très exigent, il ne veut pas de JPEG progressif. Les JPG générés par la GD de PHP fonctionne très bien.
- Ne laissez pas vos visiteurs avoir accès à cette fonction, vous risquez d'avoir des dépassement de ressource, si vous avez un serveur dédié, faites comme bon vous voulez !
- L'ordre d'affichage est déterminé par le nom des images, si vous voulez pas vous prendre la tete, appelez les : 1.jpg 2.jpg ....
Démonstration
Voici une animation flash générée avec ce script :
http://www.une-geekette.com/demo_ming.html
Salut,
Je débute PDO et j'adore, donc pour vous apprendre la base et vous montrer les avantages (comme quoi il faut s'y mettre), je vous noterais ce que je pense utile pour débuter.
Connexion au serveur de base de donnée
Déjà, je ne parle pas de MySQL, ou autres bases de données, sur wdmedia, PDO gère 5 types de bases de données :
sqlite, pgsql, odbc, mysql, sqlite2
Alors pour ce connecter, c'est tout simple, recopier tel quel, sans modifier les infos de connexion, je veux vous montrer le TRES gros problème de PDO si on fait une connerie !
<?php
$dbconnect = new PDO('mysql:host=sql.wdmedia.net;dbname=wdmedia_net_1', 'wdmedia_net', 'djlmE353');
(faut mieux que ça ne passe pas, sinon, je vais me faire tuer par manico !)
Rendez-vous à votre page de test (sur votre hébergement wdmedia) et regardez !
Ca fou les boules !!! Je sais.
Alors, il faut ABSOLUMENT, et ce, pour chaque requete, éviter ce très gros soucis !
Pour ça, on va utiliser un systeme de try catch (utilisé dans énormement de language de programmation) afin de définir ce que l'on veut afficher.
<?php
try {
$dbconnect = new PDO('mysql:host=sql.wdmedia.net;dbname=wdmedia_net_1', 'wdmedia_net', 'djlmE353');
} catch (PDOException $e) {
echo "Problème avec la base de donnée / Database error<br/>";
die();
}
Ici on cache le message d'erreur, mais on pourrait avoir besoin d'un message un peu plus explicite
<?php
try {
$dbconnect = new PDO('mysql:host=sql.wdmedia.net;dbname=wdmedia_net_1', 'wdmedia_net', 'djlmE353');
} catch (PDOException $e) {
echo "Problème avec la base de donnée / Database error<br/>".$e->getMessage();
die();
}
Voila, maintenant, la connerie ne s'affichera pas !
Note pour Manico & Margot :
J'ai lu quelque part que c'etait l'erreur par défaut, donc je pense qu'il est possible de lui interdire d'afficher les identifiants de connexion.
Faire une requete simple
Alors là, ça se complique, en MySQL, pour faire une requete, on utilise mysql_query(), mais voila, pour PDO, c'est un petit peu plus compliquer, il y a 2 méthodes suivant le type de requete.
le QUERY() et le EXEC()
Et en plus de ça, il y a les requetes préparées qui fonctionnent encore différement mais on vera ça après.
On utilise le QUERY() pour les requetes de types SELECT, et le EXEC() pour les requetes de type INSERT, DELETE, UPDATE.
Pour le test, créer une table nommé "pdotest", avec 2 champs ( champs1 champs2) et faites quelques insertions dedans.
Corriger le $dbconnect pour avoir vos bons identifiants.
Vous remarquerez aussi le mysql: devant, c'est parce que j'utilise une base de donnée mysql, mais vous pouvez utiliser une des 4 autres, pas de soucis !
Ah tiens, vous avez tilté ?
Que je fasse mes requetes en MYSQL, pour une base de donnée PGSQL, c'est pas du tout un soucis pour PDO !!! (c'est genial !)
Maintenant un simple select :
try
{
$req = $dbconnect->query('SELECT champs1, champs2 FROM pdotest');
$res = $req->fetchAll(PDO::FETCH_ASSOC);
$compte = $req->rowCount();
echo '<h1>Nombre de résultat '.$compte.'</h1>';
foreach($res as $a)
{
echo 'champs 1 = '.$a[champs1].' champs2 = '.$a[champs2].'<br>';
}
} catch (PDOException $e) {
echo "Problème pour lister<br/>Opération annulée";
die();
}
Vous voyez les différences par rapport à MySQL, rowCount() est l'équivalent de num_rows
On utilise fetchAll() si on doit obtenir plusieurs lignes, sinon on utilise fetch().
Les requetes préparées
Allez, on va comparer mysql à pdo, c'est marrant :-P
$sql = "INSERT INTO pdotest (champs1, champs2) VALUE ($_GET['champs1'], $_GET['champs2'])";
mysql_query($sql);
Voila, une chose à ne JAMAIS faire ! c'est vraiment une énorme faille de sécurité !!!!
La même réquete avec PDO et les requetes préparées :
try {
$req = $dbconnect->prepare("INSERT INTO pdotest (champs1, champs2) VALUES (?, ?)");
$req->execute(array($_GET['champs1'], $_GET['champs2']));
} catch (PDOException $e) {
echo "Problème pour enregistrer";
die();
}
Voila une autre chose à ne JAMAIS faire avec PDO, le MYSQL_REAL_ESCAPE_STRING() !!!
Et oui, PDO sécurise toutes les entrées avec les requetes préparées.
Vous avez aussi remarqué que le système change par rapport au requete simple, on lui donne le schema de la requete, les valeurs sont remplacées par des ?
Ensuite, on execute la requete avec les valeurs dans un array(), et il sécurise tout comme un grand !
Notez bien qu'il faut tout de même vérifier ce que l'on va injecter dans la requete, le contenu, que ce soit une tentative de piratage par exemple, sera enregistrés dans le champs, donc il faut tout de meme appliquer quelques vérification, si par exemple on veut un nombre entier, utiliser un is_int($_GET['champs1']).
Libérer la mémoire / fermer la connexion sql
Sous MySQL pour libérer la mémoire on utilise
mysql_free_result($res);
Et pour fermer la connexion sql on utilise
mysql_close();
Sous PDO, on ferme la connexion comme ça :
$dbconnect = NULL;
(Que l'on peut faire après le FETCH)
Et une fois que l'on a tout afficher, un libère la mémoire
$res = NULL;
C'est tout de même plus simple à retenir :-D
Intéressant
Si dans un try catch, vous executez plusieurs requetes en même temps, et qu'une erreur se produit, sous MYSQL, il faut prévoir le coups et tout effacer, avec PDO, il y a une fonction pour ça, c'est le rollBack() (Retour en arrière en francais).
J'ai fait de la comptabilité quand j'étais à l'école, et ma prof de compta n'arrêtait pas de nous dire "Un bon comptable et un grand fénéant !" (Mlle Muriel Egasse).
Je crois qu'à partir de maintenant, on peut dire aussi : "Un bon webmaster est un grand fénéant, il utilise PDO !"
Voila, j'espère vous avoir donner une bonne raison pour apprendre PDO, et si vous voulez pas vous prendre la tête avec ça, bah PDO sera obligatoire pour PHP6, alors, autant commencer maintenant !
Ceci dit, je débute en PDO, je ne connais pas tout, mais je pense que PDO est génial, je posterais un exemple de script "news" basic pour vous montrer que c'est très facile.
De rien, je suis là pour ça !