Réaliser un diaporama dynamique pour montrer vos jolies photos de vacances ?
Un peu d'ASP ou de PHP, une petite table, une petite animation Flash et le tour est joué :)
Suite a un excellent post de romuluslepunk dans le bar du forum, alors qu'on faisait connaissance et qu'on se remémorait les beaux jours ou Didier avait des longs cheveux, il m'est venu cette idée de faire un article sur les diaporamas photos.
Pour ce faire nous allons aborder plusieurs points qui méritent votre attention ; je vous donnerai au besoin les liens nécessaires pour approfondir certaines connaissances. Dans un premier temps on va établir un mini cahier des charges, à fin de savoir où l'on va et comment on y va.
La marche à suivre est la suivante :
1: Créer une table nommée diaporama.
2: Lister les diaporamas dans une page.
3: Créer des formulaires pour ajouter des diaporamas, ajouter ou supprimer des photos.
4: Créer les pages de traitement de ces formulaires.
5: Créer une animation Flash qui nous montre le diaporama dans un popup.
1) Créer une table nommée diaporama avec deux champs, (on va faire simple) un identifiant autoincrémenté et un champ texte qui nous servira à donner le nom aux diaporamas. Vous pourrez au besoin plus tard rajouter un champ pour la description, faire une jointure avec une autre table etc, etc...
Allez pour vous mettre l'eau à la bouche je vous fournis le script pour créer votre base de données :
<% ' création du fichier mdb ' -------------------------- dim maBDD maBdd = Server.MapPath("diaporama.mdb") ' Test d'existence avec fso pour ne pas réécrire par dessus ' --------------------------------------------------------- ' Déclaration de l'objet BddExiste ' ------------------------------- Set BddExiste = Server.CreateObject("Scripting.FileSystemObject") ' photo existe ' ------------ If BddExiste.FileExists(maBdd) then ' ma base diaporama.mdb existe déja ' --------------------------------- Response.write ("la base de données existe déjà") Else ' ma base n'existe pas je vais donc la créer physiquement ' ------------------------------------------------------- Dim basedeDonnees Set basedeDonnees = CreateObject("ADOX.Catalog") basedeDonnees.Create "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" _ & Server.MapPath("diaporama.mdb") Set basedeDonnees = Nothing ' Connexion a la BD et création de la table ' ---------------------------------------- StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("diaporama.mdb") Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open StrConn sql = "CREATE TABLE diaporama " sql = sql & "(idDiaporama AUTOINCREMENT PRIMARY KEY, " sql = sql & "nomDiaporama TEXT(20) )" ' Execution de la requette sql sur la BDD oConn.Execute sql oConn.Close Set oConn = Nothing End If Set BddExiste = Nothing %>
Pour pouvoir l'exécuter vous devez au moins avoir mdac 2.0 mais on est déjà bien au dessus,
et avoir la permission d'écriture dans le dossier. Pour résumer je dirai que c'est le moteur Jet
qui se charge de créer votre fichier mdb et le paramètre (engine type = 5) sert a spécifier qu'on veut le fichier .mdb en format Access 2000.
Une fois qu'on a notre petite base on va y accéder afin de savoir quels sont les diaporamas disponibles ou bien en rajouter, voici le lien pour ceux qui débutent dans ce domaine:
-Connexion aux bases de données.