Moui, l'ennui c'est que je n'ai pas trop le temps...
Ce que je voulais dire, c'est que c'est assez simple de le faire soi-même. Donc si tu as un peu de connaissances en web, en PHP/MySQL, c'est simple de le mettre en place. Je n'ai pas dit que c'était spécialement rapide, encore moins que j'aurai le temps de le coder entièrement pour ton site comme ça pour le fun

Je n'ai pour l'instant pas eu à coder d'annonces, donc je n'ai pas de code "tout cuit" sur moi. J'ai juste voulu dire que si j'en avais besoin par exemple, je n'irais sans doute pas chercher de script tout fait, je le ferais tout seul parce que ça n'implique que du PHP/MySQL/HTML très standards.
En gros tu as besoin d'une table "annonces" avec comme champs :
- "id" = identificateur unique (ça peut être le système de référencement de tes annonces), si possible un entier auto-incrémenté ;
- "titre" = titre de l'annonce, un texte court ;
- "contenu" = le texte de l'annonce ;
- "contact" = le texte donnant les façons de contacter l'annonceur. Attention, c'est légalement risqué de mettre des coordonnées directement dans un site ;
- si tu veux, "id_theme" = renvoi vers la table des thématiques, ce qui te permet de gérer des thèmes dans les annonces (pour les classer, ou pour permettre une recherche si tu as plusieurs types d'annonces à gérer).
Table des thématiques :
- "id" = un identificateur quelconque (unique aussi). C'est cet id qu'on retrouvera dans "id_theme" de la table des annonces ;
- "nom" = nom de la thématique, utile pour l'écrire dans le site (ex : Immobilier, bateaux, voitures, ...).
La récupération des annonces dans ton site se fait alors avec un appel à la base, et une requête de type
- Code: Tout sélectionner
SELECT * FROM annonces
(en gros)
Tu peux avoir une gestion simple des images de la façon suivante : si tu veux une image par annonce, tu t'imposes une convention, qui dit par exemple que l'annonce dont l'id est "1234" aura l'image "./img/image1234.png". Comme ça toutes tes images seront correctement retrouvées (si tu connais l'id de l'annonce tu sais fatalement le nom de l'image). Tu peux raffiner en ayant plus d'une image, par exemple en les nommant "./img/image1234_1.png", "./img/image1234_2.png", "./img/image1234_3.png", etc.
Dans un premier temps tu peux gérer tes annonces "à la main", par exemple via un gestionnaire de MySQL comme phpMyAdmin. Mais ensuite tu voudras sans doute avoir un outil pour les gérer. Là il faut te faire un système de formulaires HTML qui te permettent de modifier les champs de tes annonces (avec UPDATE), de supprimer des annonces (avec DELETE), d'en ajouter (avec INSERT), etc.
Pour cette partie c'est plus délicat, car il te faut notamment avoir un droit d'accès privilégié (sinon n'importe qui peut tapoter dans ta base !). Ca se fait grâce à une table d'utilisateurs qui contient simplement :
- "login" : le login de l'utilisateur privilégié ;
- "mdp" : la conversion MD5 du mot de passe.
Pour se logguer il faut un formulaire. Le lancement de ce formulaire provoque une recherche du login dans la table des utilisateurs. Si le login est trouvé, on compare les MD5 des mots de passe (celui de la base et celui du formulaire). Si tout est bon, on lance une session avec en données le login au moins. Evidemment plus c'est blindé mieux c'est, mais là ça fait déjà une base.
Pour le transfert de fichier, c'est géré dans les formulaires HTML par la balise
- Code: Tout sélectionner
<input type="file" name="image" />
Ton formulaire doit avoir l'attribut
- Code: Tout sélectionner
enctype="multipart/form-data"
Et ton PHP recevant le fichier doit entre autres faire
- Code: Tout sélectionner
move_uploaded_file($_FILES['image']["tmp_name"], $nomfichier)
avec "image" étant bien sûr le nom de la balise input, et $nomfichier étant le nom du fichier tel que tu comptais le stocker (en l'occurrence "./img/image1234.png") . On peut raffiner en testant le type de fichier envoyé, en redimensionnant l'image reçue, etc.
Ca a l'air touffu comme ça, mais ce ne sont "que" des principes simples, assez basiques de PHP, de MySQL et de HTML. Evidemment il faut avoir une connaissance de base de ces langages/techniques, mais rien d'insurmontable, c'est de la même veine que tout site web dynamique simple.