Extensions et les tutorials gratuits disponibles sur internet pour Dreamweaver. PHP et ASP. Classement thématique. Blog référencé par Adobe Communauté Dreamweaver.
Dreamweaver gratuit
Extension pour création de widget WRT
01 juillet 2009 | Posté par caroder à 08:15
Cette extension vous permettra de construire un Widget Runtime pour appareil de téléphonie mobile et ainsi de mettre à disposition vos informations pour les heureux possesseurs de Nokia S60...
Quel est l'intérêt, me demanderez-vous... Ca c'est à vous de le déterminer :)
Pour télécharger l'extension :
http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Runtimes/Web_Runtime/Dreamweaver_Extension/
Optimiser votre espace de travail Dreamweaver
30 juin 2009 | Posté par caroder à 09:59
Voici une initiative intéressante du labs Adobe : une démonstration vidéo de toutes les possibilités offertes par le nouvel envronnement de travail Dreamweaver CS4, tout particulièrement en ce qui concerne les pré-réglages d'espaces de travail (developpeur d'application, classique, codeur, designer, etc.)
Tutorials menu spry gratuits pour Dreamweaver
29 juin 2009 | Posté par caroder à 08:58
Suite à la question d'une lectrice sur un problème de menu Spry de Dreamweaver, je mets en ligne quelques tutoriaux utiles pour ceux qui souhaiteraient utiliser ce fonctionnel.
1. Un tutorial vidéo basique mais en français
2. Un tuto vidéo en anglais avancé et très détaillé
NB : Comme tout les tutoriaux vidéo de Tutvid, l'accent américain est très prononcé et le débit très rapide. Si vous ne maitrisez pas bien la langue de Shakespeare, passez votre chemin :)
Ce tutorial aborde aussi la partie CSS des menus Spry.
Durée du tuto : plus de 22 minutes !
3. Un tutorial classique en anglais très détaillé
Ce tutorial détaille notamment la feuille de style des menus Spry ce qui peut s'avérer extrêmement utile : http://www.creativepro.com/article/view-source-the-easy-way-add-dynamic-elements-web-sites
Création de la page de recherche – tutorial moteur de recherche full text multi-critère avec Dreamweaver
25 juin 2009 | Posté par caroder à 18:55
Dans cet article, nous allons construire notre formulaire de recherche.
Tout d'abord peuplons la base de données pour nos futurs tests. Je vous donne à titre d'exemple ma propre base de données de test. Pour que ces test soient probants, il nous faut impérativement une masse de texte assez importante pour éprouver la recherche full text. Donc, pour la table auteurs :
INSERT INTO `test_base`.`auteurs` (`id_auteur` ,`nom_auteur` ,`code_aut`)
VALUES
(NULL , 'Balzac', 'au01'),
(NULL , 'Flaubert', 'au02'),
(NULL , 'Maupassant', 'au03'),
(NULL , 'Voltaire', 'au04'),
(NULL , 'Zola', 'au05');
Pour la table éditeurs :
INSERT INTO `test_base`.`editeurs` (`id_editeur` ,`nom_editeur` ,`code_edit` )
VALUES
(NULL , 'Folio', 'ed01'),
(NULL , 'Livre de poche', 'ed02');
Pour la table ouvrages :
INSERT INTO `test_base`.`ouvrages` (`id_ouvrage` ,`titre` ,`descriptif` ,`date_parution` ,`code_edit` ,`code_aut` )
VALUES
(NULL, 'La Cousine Bette', 'La Cousine Bette est un roman d’Honoré de Balzac, paru pour la première fois en feuilleton dans le Constitutionnel d’octobre à décembre 1846. Publié en volume en 1847, il fait partie des Scènes de la vie parisienne, section Les Parents pauvres de la Comédie humaine.
C’est le premier portrait de femme profondément destructrice, rancunière et laide que Balzac ait produit. Même madame de Saint-Estève, la tante de Jacques Collin, alias Vautrin, a quelques caractéristiques émouvantes. La cousine Bette n’en a aucune. Apparentée à un animal malfaisant « ses sourcils épais réunis par un bouquet, sa face longue et simiesque laissent deviner derrière la paysanne des Vosges un caractère de sauvage ».
Et c’est bien d’une sauvage qu’il s’agit. La cousine est animée d’une rage et d’une passion impuissante qui gaspille une énergie folle à nuire sans recueillir les fruits de ses intrigues, pourtant patiemment élaborées, telle une araignée tissant sa toile. Ce roman est un des chefs d’œuvre de la Comédie humaine. Le roman-feuilleton devient ici tragédie classique avec une forme d’expression littéraire beaucoup plus moderne.', '2007-01-18', 'ed01', 'au01'),
(NULL, 'Le Père Goriot', 'Le Père Goriot est un roman d’Honoré de Balzac, écrit en 1834, dont la publication commence dans la Revue de Paris et qui paraît en 1835 en librairie. Il fait partie des Scènes de la vie privée de la Comédie humaine. Le Père Goriot établit les bases de ce qui deviendra un véritable édifice : la Comédie humaine, construction littéraire unique en son genre, avec des liens entre les volumes, des passerelles, des renvois.', '2008-04-15', 'ed02', 'au01'),
(NULL , 'L''Education sentimentale', 'L’Éducation sentimentale, histoire d’un jeune homme est un roman écrit par Gustave Flaubert, et publié en 1869.
Le cœur du récit est tiré du roman de Sainte-Beuve : Volupté, qu’Honoré de Balzac avait déjà traité et d’une certaine manière réécrit avec le Lys dans la vallée. Le roman de Flaubert reprend le même sujet[1] selon des règles narratives entièrement neuves, réinventant le roman d'apprentissage pour lui donner une profondeur et une acuité jamais atteinte. Malgré une critique négative lors de sa parution, il est devenu, depuis Proust, un livre de référence pour les romanciers du XXe siècle.
Le roman, rédigé à partir de septembre 1864 et achevé le 16 mai 1869 au matin, comporte de nombreux éléments autobiographiques (tels la rencontre de Madame Arnoux, inspirée de la rencontre de Flaubert avec Élisa Schlésinger). Il a pour personnage principal Frédéric Moreau, jeune provincial de dix-huit ans venant faire ses études à Paris. De 1840 à 1867, celui-ci connaîtra l’amitié indéfectible et la force de la bêtise, l’art, la politique, les révolutions d’un monde qui hésite entre la monarchie, la république et l’empire. Plusieurs femmes [Rosanette, Mme Dambreuse] traversent son existence, mais aucune ne peut se comparer à Marie Arnoux, épouse d’un riche marchand d’art, dont il est éperdument amoureux. C’est au contact de cette passion inactive et des contingences du monde qu’il fera son éducation sentimentale, qui se résumera pour l’essentiel à brûler, peu à peu, ses illusions.
Le personnage de Frédéric, sans doute inspiré à Flaubert, pour une bonne part, par ses propres expériences de jeunesse, est aussi la figure définitive d'une génération nourrie par le courant d'idées romantique le plus large. Ainsi, en même temps qu'il exalte la pureté de son amour pour Madame Arnoux, celle-ci empêche Frédéric de choisir la moindre situation dans une société, celle du Second Empire, qui mise beaucoup sur la carrière et l'idée de parvenir. En cela, Frédéric est ce que Marthe Robert a nommé le "Bâtard moyen", plein de rêves qui le détournent de l'action, en opposition avec le Bâtard de l'époque de Napoléon, où conquérir le pouvoir était à la portée de toute volonté, immortalisé par Balzac avec le personnage de Rastignac.', '2007-02-06', 'ed01', 'au02'),
(NULL , 'Salambo', 'Salammbô est un roman historique de Gustave Flaubert, paru en 1862 chez Michel Lévy.
Il prend pour sujet la Guerre des Mercenaires, IIIe siècle av. J.-C., qui opposa la ville de Carthage avec les Mercenaires barbares qu’elle avait employés pendant la première Guerre punique, et qui se révoltèrent, furieux de ne pas avoir reçu la solde convenue. Flaubert chercha à respecter l’Histoire connue, mais profita du peu d’informations disponibles pour décrire un Orient à l’exotisme sensuel et violent.', '2006-06-12', 'ed02', 'au02'),
(NULL , 'Le Horla', 'Le Horla est une nouvelle fantastique de Maupassant écrite en en 1887. C’est un des premiers récits fantastiques que Maupassant a écrits. Le Horla se présente sous la forme d’un journal inachevé qui laisse craindre que son propriétaire n’ait sombré dans la folie. Le Horla marque les prémices de la folie de son auteur, Guy de Maupassant, qui mourra 6 ans plus tard, dans une paranoïa et une folie totale.', '2009-04-07', 'ed02', 'au03'),
(NULL , 'Candide', 'Candide, ou l’Optimisme est un conte philosophique de Voltaire paru à Genève en janvier 1759. Il a été réédité vingt fois du vivant de l’auteur (plus de cinquante aujourd’hui) ce qui en fait un des plus grands succès littéraire français. Anonyme en 1759, Candide est attribué à un certain « Monsieur le Docteur Ralph » en 1761, à la suite du remaniement du texte par Voltaire. Ce titre ronflant donne tout de suite le ton au lecteur qui pourrait hésiter sur le genre de l’ouvrage : conte ou essai ? Art mineur ou art noble ? L’auteur prend, dès les premières lignes, position contre la noblesse aux titres bien plus ronflants que celui-ci. Et que dire du nom du soi-disant docteur Ralph ? Rien de plus qu’une onomatopée qui ne laisse aucun doute sur le ton de cette œuvre (voir Thunder-Ten-Tronckh, le château de la situation initiale). Cette œuvre si ironique dès les premières lignes, ne laisse aucun doute sur l’origine de l’auteur, qui ne pouvait faire partie que des Lumières. Et de là à penser à Voltaire, le doyen des Philosophes, pour le lecteur du XVIIIe siècle, il n’y a qu’un pas. Le plus achevé des contes de Voltaire, il s’agit également d’un roman de formation.', '2009-05-04', 'ed01', 'au04')
(NULL , 'Au Bonheur des dames', 'Au Bonheur des Dames est un roman d’Émile Zola publié en 1883, le onzième volume de la suite romanesque les Rougon-Macquart. À travers une histoire sentimentale à l’issue inhabituellement heureuse, le roman entraîne le lecteur dans le monde des grands magasins, l’une des innovations du Second Empire. Le modèle du personnage d'Octave Mouret est Auguste Hériot, co-fondateur des Grands Magasins du Louvre.', '2006-10-22', 'ed01', 'au05');
La construction du formulaire de recherche est assez simple.
- Créez une page que vous nommerez recherche.php.
- Créez une connexion à la base de données. Dans ce tutorial, nous la nommons comme d'habitude maConnexion.
- Insérez un jeu d'enregistrement rs_auteur dont vous paramétrez la fenêtre de la façon suivante :

- Insérez un jeu d'enregistrement rs_editeur dont vous paramétrez la fenêtre de la façon suivante :

- Créer un formulaire comportant un champ texte dont le nom est "recherche", un menu déroulant dont le nom est "VARauteur" et un menu déroulant dont le nom est "Varediteur".
- Le code source de votre formulaire doit ressembler à ceci :
<form method="post" id="form1" action="resultat.php">
<fieldset>
<p>
<label>Rechercher : </label>
<input name="recherche" type="text" id="recherche" size="50" />
</p>
<p>
<label>Auteur : </label>
<select name="VARauteur" id="VARauteur">
</select>
</p>
<p>
<label>Editeur : </label>
<select name="VARediteur" id="VARediteur">
</select>
</p>
<p>
<input type="submit" name="envoi" id="envoi" value="Envoyer" />
</p>
</fieldset>
</form> - Sélectionnez le menu VARauteur et cliquez sur le bouton "dynamique" dans l'onglet des propriétés. Paramétrez la fenêtre comme suit pour récupérer les données de la table auteurs :

La 1re valeur de la liste, "--- Tous les auteurs---", comporte le préfixe commun à tous les codes auteur (colonne code_aut dans la base) auquel on ajoute l'opérateur de troncature de MySQL, %. Ainsi si cet item reste sélectionné, c'est bien sur l'ensemble des auteurs que la recherche s'effectuera. - Procédez de la même façon pour la liste VARediteur :

La 1re valeur de la liste, "--- Tous les éditeurs---", comporte le préfixe commun à tous les codes éditeurs (colonne code_edit dans la base) auquel on ajoute l'opérateur de troncature de MySQL, %. Ainsi si cet item reste sélectionné, c'est bien sur l'ensemble des éditeurs que la recherche s'effectuera. - Rajouter maintenant un peu de "styles" à votre formulaire :)
<style type="text/css">
h1 {
text-align:center;}
form {
margin: 0 33%;
}
fieldset {
padding: 15px;
border: 1px solid #F00;
}
label {
display:inline;
float:left;
width: 125px;
font: bold 12px "Trebuchet MS", Arial, Helvetica, sans-serif;
}
</style>
Vérifiez que tous fonctionne correctement dans votre navigateur. Au final, vous devriez obtenir ceci :
Pack d'icônes de qualité pro
23 juin 2009 | Posté par caroder à 09:00
Voici un pack de 90 icônes totalement gratuites que vous pouvez aussi bien utiliser dans des projets commerciaux ou personnels. Vous ne pouvez cependant ni le revendre, ni en reprendre la diffusion pour votre propre compte. Chaque icone est disponible à la taille 64 x 64 px au format PNG.

Ce pack a été designé par Andy Gongea, designer roumain, qui l'a spécialement dessiné pour Smashing Magazine. Pour le télécharger : http://www.smashingmagazine.com/2009/06/18/freebie-release-quartz-icon-set/
Lancement de l'enquête "Lecteurs de Dreamweaver Gratuit, qui êtes-vous, que souhaitez-vous ?"
22 juin 2009 | Posté par caroder à 09:34
Comme je l'avais annoncé dans un précédent billet, je lance une enquête afin de mieux connaître mes lecteurs et pouvoir répondre à leurs attentes. Dites-moi qui vous êtes et faites-moi vos suggestions, ceci m'aidera dans l'orientation de mes articles et la conception de mes futurs tutorials.

Si vous souhaitez répondre, merci de cliquer ici :répondre au sondage.
Merci par avance à tous ceux qui voudront bien participer.
Les résultats de cette enquête seront publiés début juillet sur le site.
Structure et paramétrage de la base – tutorial moteur de recherche full text multi-critère avec Dreamweaver
18 juin 2009 | Posté par caroder à 18:54
Pour ce tutorial, nous allons imaginer que réalisons une application pour une librairie qui souhaite mettre en ligne son catalogue d'ouvrages. Un même auteur pouvant publier différents ouvrages dans différentes maison d'éditions, nous aurons une table contenant les maisons d'édition, une table contenant les auteurs et une table contenant les ouvrages.
Nous souhaitons que notre future interface de recherche puisse rechercher en full text sur :
- Le titre : "A la recherche du temps perdu" = "recherche temps perdu"
- L'auteur : "Marcel Proust" = "Proust Marcel"
- Le descriptif
- La maison d'édition : "Le Serpent à Plume" = "plume serpent'
Nous devrons donc activer les index full text sur ces champs. Quelques schémas valant mieux que des longs discours, voici les captures écrans de la création des tables (cliquez sur les images pour les agrandir).
Pour la table editeurs :
Pour la table auteurs :
et pour la table ouvrages (la capture est scindée en 2 pour visualisation) :
Très IMPORTANT : vous devez impérativement indiquer, lors de sa création, pour chacune des tables contenant des index full text que le moteur de stockage est de type MyISAM. Ce dernier est le seul moteur de stockage compatible avec les index full text.

Pourquoi avons-nous créé les champs code_edit et code_aut de type varchar ?
Ces champs ne répondent pas à des impératifs techniques du PHP ou de MySQL. Cependant nous souhaitons pouvoir suivre les requêtes de nos utilisateurs dans notre interface de statistiques, notamment Google Analytics. Si nous utilisions les champs id_aut et id_edit comme clés étrangères, nous aurions beaucoup de difficultés à suivre nos statistiques de recherche en multicritère (les "catégories" dans GA) puisque les paramètres seraient "1", "2", "3", etc, ceci répété en autant de tables que de paramètres. Nous pallions au défaut d'utilisation des ressources du moteur MySQL (la jointure entre tables sur des types varchar étant plus gourmande que sur des type int) en activant l'index afin d'accélérer le traitement des requêtes et d'éviter la saturation des serveurs.
Pour mieux comprendre de quoi je parle, voici une capture écran du suivi des requêtes d'un moteur de recherche intrasite dans Google Analytics.
Voici donc les requêtes SQL correspondant à la création de ces tables :
CREATE TABLE IF NOT EXISTS `editeurs` (
`id_editeur` int(11) NOT NULL AUTO_INCREMENT,
`nom_editeur` varchar(255) NOT NULL,
`code_edit` varchar(4) NOT NULL,
PRIMARY KEY (`id_editeur`),
KEY `code_edit` (`code_edit`)
) ENGINE= MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `auteurs` (
`id_auteur` int(11) NOT NULL AUTO_INCREMENT,
`nom_auteur` varchar(255) NOT NULL,
`code_aut` varchar(4) NOT NULL,
PRIMARY KEY (`id_auteur`),
KEY `code_aut` (`code_aut`)
) ENGINE= MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `ouvrages` (
`id_ouvrage` int(11) NOT NULL AUTO_INCREMENT,
`titre` varchar(255) NOT NULL,
`descriptif` text NOT NULL,
`date_parution` date NOT NULL,
`code_edit` varchar(4) NOT NULL,
`code_aut` varchar(4) NOT NULL,
PRIMARY KEY (`id_ouvrage`),
KEY `code_edit` (`code_edit`,`code_aut`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
NB : la création de ces tables est effectuées uniquement en vue de ce tutoriel et n'est pas optimisée pour d'autres fonctionnels.
Enquête : lecteurs de Dreamweaver Gratuit, qui êtes-vous ?
17 juin 2009 | Posté par caroder à 09:08
Dreamweaver Gratuit a passé le cap des 10 000 visiteurs uniques mensuels en provenance de plus de 50 pays au mois de mai dernier !
Afin de mieux vous connaître et de répondre à vos attentes, je vais bientôt lancer une enquête en ligne via le service Survey Monkey (étant hébergée sur la plate-forme Canalblog, je ne peux mettre en place ce fonctionnel directement sur le site).
Cette enquête sera adressée aux abonnés de la newsletter qui ont laissé leur adresse mail en clair dans l'interface (je ne peux avoir accès à l'adresse mail de ceux qui ont choisi l'anonymat, bien sûr).
Si vous souhaitez pouvoir répondre à cette enquête et faire des suggestions d'articles, de développements, de tutorials, je vous invite donc :
- soit à vous abonner à la newsletter sans tarder (dans la sidebar de ce blog)
- soit à me contacter via le formulaire suivant
Régions répétées imbriquées - nouveau tutorial de JPierre
14 juin 2009 | Posté par caroder à 13:34
Jean-Pierre vient de mettre en ligne un (encore) excellent tuto sur les régions répétées imbriquées (nested loop) à partir de l'utilisation de l'extension de Tom Muck Simulated Nested Region.
Pour ceux qui ne savent pas ce que sont des régions répétées imbriquées du point de vue du développement, il s'agit d'une boucle avec regroupement d'éléments enfants au sein des éléments parents.
Une image valant mieux que de long discours, voici le rendu d'une région répétée imbriquée :

Vous pouvez consulter ce tutoriel ici.
L'extension de Tom Muck Simulated nested region est disponible ici.
Introduction tutorial moteur de recherche multicritère et full text avec Dreamweaver + PHP/MySQL
11 juin 2009 | Posté par caroder à 09:23
Note : Je commence aujourd'hui un tutorial assez ambitieux qui s'étalera sur sept posts (au ryhtme d'un billet par semaine environ). Etant donné le vocabulaire parfois un peu technique de ce billet, vous trouverez un glossaire à la fin de ce post donnant les définitions des mots suivis d'une *.
Ce tutorial a pour but de permettre aux utilisateurs de Dreamweaver d'implémenter un moteur de recherche "full text" (ou plein texte, ou texte entier ou texte intégral) dans un site en combinant la recherche par mots clés à des critères, filtres de résultats.
Que signifie "recherche full text" ?
"Recherche de mots, de phrases ou d'une chaîne de caractères quelconque dans un ensemble de documents, s'appuyant sur une exploration systématique de la totalité de cet ensemble."
Pour ce faire, vous devez impérativement disposer d'une version de MySQL permettant d'activer l'indexation full text, soit la version 4.0.1 ou supérieure (dans mon tutorial, je travaillerai avec la version 5.0.26). L'indexation est en effet le pendant indispensable de la recherche full text. L'indexation consiste pour la base de données à extraire des tables les mots considérés comme significatifs et à constituer un index (sur le principe, identique à celui d'un ouvrage imprimé disponible en général en appendice) lui permettant d'accéder rapidement aux enregistrements contenant ces mots.
Les avantages d'un tel moteur sont évident puisqu'il n'est pas limité à la recherche d'expressions exactes contrairement aux moteurs généralement proposés dans les tutoriaux de réalisation d'interfaces de recherche. Il permet aussi de rechercher sur différents champs de différentes tables.
Ce que ne peut pas faire le moteur dont il va être ici question
- Ordonner les résultats suivant un algorithme de pertinence* (vous devrez adapter la présentation de vos résultats selon la problématique spécifique de votre site).
- Gérer une liste de mots vides* (nous verrons comment contourner ce problème).
- Effectuer des recherches avec lemmatisation*
- Proposer un correcteur orthographique lors d'une erreur de saisie utilisateur.
Si vous souhaitez de tels fonctionnels, vous devrez vous tourner vers des solutions payantes telles que Google Mini ou Exalead one:enterprise. Mais vous ne serez plus du tout dans le domaine du gratuit :). Comptez 1 995 € pour Google Mini et plus de 15 000 € pour Exalead one:enterprise (étant entendu qu'Exalead one:enterprise est une solution qui présente des fonctionnalités et des possibilités plus importantes que Google Mini, notamment la possibilité d'intégrer un moteur de recherche verticale* à votre site. Reportez-vous aux descriptifs produits respectifs.).
Ce que fera le moteur de ce tutorial
- Il supporte les opérateurs booléens et donc permet de proposer à l'utilisateur des équations de recherche assez "pointues". Exemple : chercher un enregistrement de la base contenant les mots "temps" et "perdu" mais pas "Proust"
- Il gère l'accentuation et la casse* (selon votre version de MySQL) : rechercher "événement" est équivalent à la recherche d'"EVENEMENT"
- Il gère la troncature* à droite par défaut
- L'opérateur inter-mot par défaut sera ET (vous pouvez éventuellement utiliser OU mais je vous le déconseille car ce fonctionnement s'écarte beaucoup trop des fonctionnements des moteurs grands publics)
Le présent tutorial vous permettra donc de construire une page de recherche en base de données et une page de résultats en utilisant Dreamweaver + PHP connecté une base MySQL.
Dans le prochain billet de ce tuto, nous entrerons dans le vif du sujet avec la structure de la base de données et son paramétrage.
Glossaire
- Algorithme de pertinence
- Méthode de calcul (le plus souvent brevetée) permettant d'attribuer plus ou moins de pertinence à un résultat de requête. Cet algorithme est une des pierres angulaires des moteurs de recherche type Google, Yahoo, etc.
- Mots vides
- Les mots vides sont les mots du lexique trop communs (le plus souvent sans ajout de sens) pour être indexés. Les articles, prépositions, conjonctions sont des exemples types de mots vides.
- Lemmatisation
- Le lemme est la forme cannonique d'un mot ou d'une famille de mot. La lemmatisation est l'action de regrouper les différentes formes d'un mot. Exemple : la lemmatisation du verbe conjugué "reviennent" est le verbe à l'infinitif "revenir".
- Moteur de recherche verticale
- Un moteur de recherche verticale est un moteur de recherche qui ne contient dans son index qu'un nombre fini de sites web, en général déterminés suivant une thématique donnée (exemples de moteurs de recherche verticaux : Search Medica, Trovit, etc.) Antonyme : moteur de recherche généraliste.
- Casse
- La casse est la distinction lettres majuscules / minuscules. Bas de casse : lettres minuscules.
- Troncature
- Méthode consistant à tronquer une partie d'un mot afin d'effectuer une recherche sur une partie de ce mot.






