20 mai 2008
Tutorial vidéo : régions répétées imbriqués avec Dreamweaver et PHP
Voici un tutorial vidéo publié hier vous expliquant comment créer une table avec régions répétées imbriquées. Malheureusement en anglais :( !
19 mai 2008
Sommaire du tutorial "créer un sondage avec Dreamweaver et PHP/MySQL"
Voici le sommaire de ce tutorial "Créer un sondage avec Dreamweaver et PHP/MySQL" afin de vous y retourver plus facilement. Ce tuto est en 5 parties. Chaque lien ouvre une nouvelle fenêtre.
- Création du formulaire d'insertion des votes
- Calcul des résultats du sondage
- Affichage graphique des résultats du sondage
- Empêcher un internaute de voter plusieurs fois
- Affichage conditionnel des résultats
18 mai 2008
Créer un sondage en PHP avec Dreamweaver - 5e partie
Nous allons maintenant rendre conditionnel l'affichage des réultats du sondage. Pour voir ces résultats, il faudra avoir voté. Ainsi vos utilisateurs ne seront pas influencés par les résultats.
Créer un jeu d'enregistrement nommé RS_ip, en le paramétrant à "toutes les colonnes" et sans filtrage puis modifier comme suit :
mysql_select_db($database_mabase, $ma_connexion)
$ip = $_SERVER["REMOTE_ADDR"];
$query_RS_ip = "SELECT * FROM ip_tbl WHERE adr_ip ='" . $ip . "'";
$RS_ip = mysql_query($query_RS_ip, $ma_connexion) or die(mysql_error());
$row_RS_ip = mysql_fetch_assoc($RS_ip);
$totalRows_RS_ip = mysql_num_rows($RS_ip);
Positionnez votre curseur juste avant la ligne présentant les résultats et insérez :
<?php if($totalRows_RS_ip > 0) { ?>
Positionnez votre curseur juste après la balise fermante de la table présentant les résultats et insérez :
<?php } ?>
Le tour est joué, votre interface de sondage est terminée !
Nota : pour éviter de déclarer plusieurs fois la variable $ip dans la page, placez la en début de code.
Vous pouvez perfectionner cette interface en permettant le multi-sondage et créant donc une table questions_tbl comprenant l'intitulé de la question du sondage et son numéro d'ID ainsi qu'en complétant la table réponse avec une colonne id_question.
06 mai 2008
Système de gestion d'abonnement à des newsletters thématiques par les utilisateurs
Joseph Lowery propose depuis le 28 avril dernier un tutorial en anglais sur un système de gestion d'abonnement thématique à des newsletters.
Dans cet article, vous apprendrez comment permettre à vos visiteurs de gérer eux-mêmes leurs abonnements. En bonus, comment incorporer un message d'erreur sur une page de login créée avec Dreamweaver.
Les pages créées avec ce tuto :
- Login.php: la page vérifie l'adresse e-mail et le mot de passe des visiteurs qui veulent modifier leurs paramètres d'abonnement. Affichage éventuel du message d'erreur sur la page.
- Manage_sub.php: gestion des abonnement via des cases à cocher.
- Thank_you.php: page de remerciements.
- Logout.php: script de déconnexion.
Pour découvrir ce tutorial en anglais :(( : http://www.adobe.com/devnet/dreamweaver/articles/sub_multiple.html
05 mai 2008
Créer un sondage en PHP avec Dreamweaver – 4e partie
Nous allons dans la 4e partie de ce tutorial voir comment empêcher un internaute de voter plusieurs fois.
J’évoque ici les 2 méthodes (à ma connaissance !) permettant d’éviter les doublons de vote :
- Installer un cookie sur le poste utilisateur au moment du vote pour interdire le vote si le cookie existe déjà.
- Stocker en base l’adresse IP de l’utilisateur pour interdire le vote si cette adresse est déjà en base.
Chacune de ces deux méthodes a un inconvénient :
- le cookie : l’utilisateur peut supprimer le cookie
- l’adresse IP : les adresses IP partagées (notamment dans le cadre professionnel ou pour les FAI, les adresses IP flottantes) n’autoriseront le vote que d’une seule personne au sein d’une organisation ou plusieurs votes pour une personne.
Nous utiliserons ici la méthode de l’adresse IP, celle du cookie étant à la merci de l’astuce du votant, elle me semble moins sécure (l’adresse IP étant, elle, stockée sur VOTRE serveur)…
Pour stocker l’adresse IP de l’utilisateur, nous allons donc créer une table tb_ipl dans notre base de données.
CREATE TABLE ` tb_ip` (
`id_secur` int(11) NOT NULL auto_increment,
`adr_ip` varchar(20) default NULL,
PRIMARY KEY (`id_secur`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Revenons maintenant à notre page PHP. Nous allons insérer l’adresse IP de l’utilisateur s’il vote. Intégrez le code suivant en dessous de la ligne $Result1 = mysql_query($insertSQL, $ nom_de_ma_connexion) or die(mysql_error()); (à l’intérieur du code indiquant que si le formulaire est posté, il faut insérer le vote dans la table tb_sondage) :
/* STOCKAGE IP POUR EVITER LES DOUBLONS DE VOTE */
$ip = $_SERVER["REMOTE_ADDR"]; //on recupère l'ip
$insertSQL2 = "INSERT INTO tb_ip (adr_ip) VALUES ('$ip')"; // On l'insère dans la table des IP
mysql_select_db($database_nom_de_ma_base, $nom_de_ma_connexion); // récupérez les noms de variables dans la ligne correspondante d’un jeu d’enregistrement de la page
$Result2 = mysql_query($insertSQL2, $nom_de_ma_connexion) or die(mysql_error());
Faite quelques tests de vote pour vérifier que votre adresse IP est bien insérée dans la base.
Maintenant il faut tester si l’adresse IP est présente dans la base avant d’autoriser de poster le vote. Pour cela nous allons utiliser le code de l’extension de FelixOne, Check New Element (disponible gratuitement en utilisant le lien dans la colonne de droite de ce site). Je vous donne ici le code tout préparé car les modifications que nous avons apportées précédemment au code de Dreamweaver et l’utilisation de la variable d’adresse IP rendent l’extension inutilisable ici. Il faut donc le copier/coller en l’état :
// *** TEST DES DOUBLONS DANS LES IP ***
$FX_flag = "MM_insert";
$FX_found = false;
if (isset($_POST [$FX_flag])) {
$FX_dupKeyRedirect = "erreur.php";
$FX_dupKeyValue = $_SERVER["REMOTE_ADDR"];
$FX_dupKeySQL = "SELECT adr_ip FROM tb_ip WHERE adr_ip = '" . $FX_dupKeyValue . "'";
mysql_select_db($database_nom_de_ma_base, $nom_de_ma_connexion); // récupérez les noms de variables dans la ligne correspondante d’un jeu d’enregistrement de la page
$FX_rsKey=mysql_query($FX_dupKeySQL, $nom_de_ma_connexion) or die(mysql_error());
if(mysql_num_rows($FX_rsKey) > 0) {
$FX_found = true;
$FX_dupValue = "IP (" . $FX_dupKeyValue . ") ";
}
if($FX_found) {
$FX_dupValue .= "Ce vote ne peut être pris en compte !";
$FX_qsChar = "?";
if ($FX_dupKeyRedirect == "") $FX_dupKeyRedirect = substr($_SERVER["PHP_SELF"], strrpos($_SERVER["PHP_SELF"], "/")+1);
if (strpos($FX_dupKeyRedirect, "?")) $FX_qsChar = "&";
$FX_dupKeyRedirect = $FX_dupKeyRedirect . $FX_qsChar . "FX_ReqValue=" . urlencode($FX_dupValue);
header ("Location: " . $FX_dupKeyRedirect);
exit;
}
mysql_free_result($FX_rsKey);
}
Il ne vous reste plus qu’à créer la page erreur.php avec le message indiquant à l’utilisateur qu’il a déjà voté et ne peut donc revoter !
Le prochain billet sera consacré à l’affichage conditionnel des résultats du vote.
01 mai 2008
Sommaire du tutorial Newsletter avec Dreamweaver et PHP
Suite aux remarques de quelques internautes, je mets en ligne le sommaire complet de ce tutorial afin qu'il soit accessible depuis une page unique de ce blog (chaque lien ouvre une nouvelle page) :
- Introduction au tutorial "créer une newsletter avec Dreamweaver"
- Table MySQL "Inscriptions"
- Insertion données utilisateurs
- Génération aléatoire et automatique de mot de passe
- Vérification de la saisie des champs
- Vérification de l’existence de doublon dans la base
- Validation du formulaire : système anti-spam Captcha
- Initialisation du back office d’administration
- Page de login du back office
- Création de la table des newsletters
- Préparation des pages d’administration, méthode des includes
- Création du template de la newsletter
- Page de création de la newsletter
- Preview de la newsletter
- Page de modification de la newsletter
- Page de suppression d’une newsletter
- Page d'envoi de la newsletter
- Système d'abonnement et de désabonnement à la newsletter
18 avril 2008
Affaire Fuzz vs Olivier Martinez : Eric Dupin fait appel !
C'est officiel depuis 2 heures maintenant : Eric Dupin interjette appel du jugement rendu en référé le 26 mars dernier.
A noter en lisant entre les lignes de ce billet : le soutien du "député à l'origine de la LCEN" (Jean Dionis du Séjour, rapporteur de la loi à l'Assemblée Nationale ?).
Cet appel n'est pas sans risques (financiers, jurisprudentiels, personnels, etc...) ainsi que l'évoque très simplement et justement Eric Dupin. Je tiens ici à saluer son courage.
Plusieurs commentateurs du blog ont d'ores et déjà proposé un soutien financier via une idée de commercialisation de tee-shirt. Je vous tiendrais au courant à l'occasion pour ceux qui souhaiterait apporter une pierre à l'édifice.
J'avertis aussi mes lecteurs que je ne bloguerai pas la semaine qui vient : je pars en vacances !
15 avril 2008
CSS : Vérifier l'accessibilité de votre site pour les déficients visuels : 1re approche
Une personne ayant un handicap visuel peut accéder à internet via différents outils permettant de pallier à son handicap. Lorsque vous concevez un site, ayez toujours à l'esprit dans l'écriture du code que ce type d'internaute "voit" votre site avec les yeux d'un "spider" (tel googlebot).
Pour débuter je vous propose de lire cet article de l'INJA, "L'ergonomie des interfaces à l'usage des publics déficients visuels" : http://www.inja.fr/inja/htmgen/SimHTMLGen.asp?STYLE=2&URL=%2Fpages-infos%2Fpages%2Finformations_generales%2Factualites%2Farchives%2F2003%2Fdefi_informatique%2F12ernu.xhtml
Il vous faut donc vous assurer en premier lieu d'une compatibilité maximum avec les standards du W3C. Et surtout, veillez respecter à la lettre la valeur "sémantique" et hierarchique des balises ! Ensuite, il vous faudra vous assurez que les couleurs utilisées présentent un contraste suffisant pour être correctement distinguées par un déficient visuel. Enfin sachez que les déficient visuels n'ont souvent pas de souris à leur disposition, oubliez donc l'utilisation d'événements javascript impliquant la souris (onMouseOut, etc.)
D'autre recommandations peuvent être utiles, tels que :
- ne jamais utiliser de taille de police fixe (en px par exemple)
- mettre en place des accesskey dans les formulaires, etc.
Si vous souhaitez établir un diagnostic de l'accessibilité de votre site pour les personnes ayant un handicap visuel, voici une liste d'outils permettant de travailler dans ce sens. Ne sont mentionnés ci-dessous que les outils disponibles en ligne (il en existe d'autres à télécharger gratuitement ou pas).
- Service Ocawa :
Il semble le plus connu des site de test d'accessibilité en langue française. Attention toutefois : le nombre d'audits par mois est limité...
http://www.ocawa.com
- Le validateur d'accessibilité de l'APINC (Association pour un internet non commercial) :
http://validateur-accessibilite.apinc.org/
- Enfin pour finir, les extensions de Firefox :
Web Developpeur Toolbar : https://addons.mozilla.org/fr/firefox/addon/60
Firefox Accessibility Extension : http://firefox.cita.uiuc.edu/index.php
14 avril 2008
Créer un sondage en PHP avec Dreamweaver – 3e partie
Nous allons parfaire l’affichage de nos résultats et réaliser un graphique en barre.
Créez dans Photoshop une image de taille 10 x 20 px contenant une couleur à votre convenance (plutôt unie ou alors avec un dégradé dans le sens de la hauteur).
Insérez cette image juste avant le calcul des pourcentages dans le tableau. Attribuez à cette image un alignement vertical en milieu abolu. Cette image a pour attribut une largeur donné automatiquement par Dreamweaver et qui correspond à 10px. Nous allons ajuster la largeur par défaut proportionnellement aux résultats du sondage. Pour cela dans l’attribut d’image insérez le bout de code suivant :
<img src="images/img-sondage.gif" width="<?php echo round(100 * $row_RS_reponse2['compteur'] / $row_RS_resultats['total'], 0); ?>" height="20" align="absmiddle" />
(Notez le 0 à la place du 2 dans l’arrondi car les largeurs des images sont des entiers).
Prévisualisez, vous devez maintenant obtenir quelque chose qui ressemble à ceci :
Vous pouvez aussi si vous le désirez afficher un graphique en camembert. Pour cela reportez-vous à l’extension correspondante dont j’ai déjà parlée dans ce blog.
Nous verrons dans un prochain billet comment conditionner l’affichage au vote et empêcher un internaute de voter plusieurs fois.
11 avril 2008
Abonnez-vous à Dreamgratuit !
Je vous propose depuis aujourd'hui de vous abonnez à ce blog via les widgets RSS proposés par Feedburner ou par des alertes e-mail à chaque nouveau billet publié !
Comment faire ?
- Pour intégrer en 2 clics mon fil RSS à iGoogle, Mon Yahoo, Netvibes, etc... cliquez sur le lien de syndication FeedBurner puis cliquez sur l'icone correspondant à votre choix.
- Mieux encore, vous souhaitez être alerté par mail de la publication de tout nouveau billet sur ce site ? Pas de problème, abonnez-vous aux alertes mail que j'ai mises en place via le service FeedBurner dédié.
Où se trouvent ces merveilles ? Sur la page d'accueil, en bas dans la colonne de droite. Et bientôt sur toutes les pages du site.
Merci à tous de votre fidélité à ce blog !



