8791 sujets

Développement web côté serveur, CMS

Salut à tous,

J'ai un petit souci et je me tourne vers vous aujourd'hui pour obtenir un peu de votre aide.

Je suis en train de construire un site d'aide sur un jeu.
Donc je voudrais référencer sur mon site un bestiaire contenant tous les mobs du jeu, une partie ressources contenant toutes les ressources du jeu et une partie équipements contenant aussi tous les équipements...

Seulement, mettre tous ça à la main, ça prend vraiment un temps fou, prendre le screen de toutes les images, ainsi que mettre les caractéristiques, mettre les effets, le craft, etc... et comme je l'ai dit surtout vu le nombre de donnée du jeu, cela prendre une semaine minimum..

Donc je me suis renseigner pour connaitre une solution pour aller plus vite et on m'a dit qu'avec la console windows + du php c'était possible, seulement je ne sais as comment m'y prendre et je ne suis même pas sur si c'est une bonne solution...

Voilà, si vous avez une solution pour moi, ça serai vraiment cool de m'en faire part.

Cordialement, DjaSama
Modifié par DjaSama (19 Jul 2010 - 01:02)
Salutation »

» Eh bien PHP est un langage côté serveur. Celui-ci est tout désigné pour une communication entre l'utilisateur et l'application en cours de lecture.

» Beaucoup de chose peuvent être fait en utilisant PHP. Les pages administratives en est un exemple intéressant pour les mise à jour d'articles, ou pour avoir une vue sur l'ensemble des actions utilisateurs. Base des données (MySQL), données XML etc.

» Cependant si j'ai bien compris ta question, c'est que tu n'es pas sûr de savoir l'intérêt d'un tel langage. Par contre si tu débute avec PHP, ne crois pas que tu sauveras du temps. Car il y a un temps d'apprentissage en programmation. Mais lorsque cet apprentissage est avancé, on prend conscience de la puissance des langages de programmations. On peut automatiser les tâches en programmation et PHP ne déroge pas à la règle.

Je te suggère beaucoup de vérifier si la programmation t'intéresse, ou si quelqu'un que tu connais s'intéresserait à ton projet, et aurait une base en programmation PHP. Mais si tu veux programmer toi même, il te faudra considérer un temps d'apprentissage qui, à dire vrai, ne se termine jamais. Il faut toujours se mettre à jour en programmation.

Par contre PHP, comme d'autres langages d'ailleurs, sont des moyens qui accélèrent les concepts seulement lorsque les programmes sont structurés en ce sens et réutilisables par la suite.

Pour répondre à ta question eh bien « oui », PHP est une bonne solution. La programmation permet par exemple de cibler la totalité d'un répertoire d'images et de charger la totalité des images de ce répertoire sur une page de ton site, au navigateur. Avec un seul script. Reste ensuite le formatage, la mise en page de façon esthétique, de façon logique.

Mais à dire vrai, PHP, c'est encore beaucoup plus que celà. Les BDD et les fichiers XML, comme exemple, sont d'une grande utilité. Ceux-ci contiennent les informations cible que tu pourras charger comme bon te semble en un seul script PHP exécuter. Ceux-ci sont utiles aussi pour la maintenance de ton site, à partir d'une zone administrative.

Si donc tu prévois que ton site se doit d'être dynamique et évolutif, PHP est encore une fois, un langage assez puissant pour te le permettre. Ce qui dans ton cas est applicable, dû au fait que le domaine des jeux est lui-même changant, très rapidement. Lorsque la structure de ton site est en place, il ne reste plus rien qu'à le nourir avec de nouveaux articles, de nouvelles images et de nouvelles informations. À la validation, les scripts déjà conçus s'exécuterons, et les nouvelles données seront effectifs.

On ne pourrait pas tout dire ici sur un seul topic, concernant PHP. Donc, j'arrête.

++ zardoz.
Modifié par zardoz (19 Jul 2010 - 07:15)
Merci pour ta réponse.

Je prévois que mon site soit comme tu l'as dit dynamique et évolutif, mais le problème c'est que je ne c'est pas par où commencer.

Mais ce que tu veux dire toi c'est de créer un genre de cms une partie administrative de mon site quoi qui me permettra de nourrir mon site avec des images, des informations sans avoir à toucher le code source ?
Yep,

faut toujours commencer par le panneau d'admin, puisque il gère la lecture des infos, l'écriture, la modifications, l'import d'images dans ton cas, etc..

La partie plublique du site contient une partie des fonctionnalités du panneau d'admin, et quasiment jamais de fonctionnalités qui ne sont pas prénsentes en admin.

Quoi qu'il arrive tu devra bien taper les données à la main, que ce soit dans un fichier texte, un excel/openOffice (très bonne solution si tu es sur de la structure de tes données, ça va vite, et php lit les .csv), ou dans un panneau d'admin multifonctions ultrapimp.
D'accord merci beaucoup,

Mais quand tu dis écrire à la main moi je voulais dire par là que là où j'en suis je suis obligé d'écrire en html et php or moi je voudrais faire comme dans un blog juste à écrire le texte insérer les images, etc..

Parce que j'ai plus de 500 images à insérer plus leurs caractéristiques, leurs conditions et leur description, donc c'est pour ça, j'ai demander si il y avait moyen de mettre toute c'est image dans un dossier, puis grâce à une page d'administration ajouter les images, leurs caractéristiques, leurs conditions et leur description sans avoir à écrire également le code html.

Cordialement, DjaSama
Pour ton projet, je pense sincèrement qu'il faut que tu passes par une base de données. C'est même la seule solution vraiment intelligente.
Mais déjà quand tu dis (et c'est pas pour être méchant, vraiment !)
a écrit :
Mais quand tu dis écrire à la main moi je voulais dire par là que là où j'en suis je suis obligé d'écrire en html et php or moi je voudrais faire comme dans un blog juste à écrire le texte insérer les images, etc..
je m'effraie...
Je me dis qu'une longue et semée d'embuches routes devant toi tu as...

En gros le principe, c'est que tu dois entrer toutes tes infos en base de données.

Si en plus tu veux une interface comme un blog tu dois coder une partie "administration"

C'est à dire que tu dois prévoir une petite partie protégée par mort de passe (et pas un .htaccess !) ou tu aura un formulaire qui te permettra de rentrer les caractéristiques (nom, carac, description, etc) dans la base de données + d'envoyer l'image dans le dossier correspondant.

Ensuite dans la partie publique de ton site tu dois inclure les codes php qui parcouront la base de données, iront chercher les informations et les afficheront ou il faut.

C'est pas aussi compliqué que cela en a l'air, mais si tu n'a vraiment pas de connaissances en php, essaie de te rabattre vers un CMS (peut être MadeSimple... certains sauront bien me te conseiller que moi).

Puis pour ce qui est d'automatiser la récupération de données et tout et tout, un conseil, oublie.
La c'est un boulot qui te dépasse je pense.
D'accord merci,

Bah la j'ai créer un petit formulaire de quoi rentrer mes données nécessaires seulement j'ai un message d'erreur que je n'arrive pas à corriger ..

Le code de la page contenant le formulaire :



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>test</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>

    <body>
    
    <form action="admin_post.php" method="post">
        <p>
        <label for="nom_objet">Nom de l'objet</label> : <input type="text" name="pseudo" id="pseudo" /><br />
        <label for="niveau">Niveau</label> :  <input type="text" name="niveau" id="niveau" /><br />
		<label for="image">Image</label> :  <input type="text" name="image" id="image" /><br />
		<label for="recette">Recette</label> :  <input type="text" name="recette" id="recette" /><br />
		<label for="effet">Effet</label> :  <input type="text" name="effet" id="effet" /><br />
		<label for="caracteristique">Caracteristique</label> :  <input type="text" name="caracteristique" id="caracteristique" /><br />
		

        <input type="submit" value="Envoyer" />
	</p>
    </form>


<?php
// Connexion à la base de données
try
{
	$bdd = new PDO('mysql:host=xxx;dbname=xxx', 'xxx', 'xxx');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}



?>



Et le code de la page qui enregistre les données :



<?php
// Connexion à la base de données
try
{
	$bdd = new PDO('mysql:host=xxx;dbname=xxx', 'xxx', 'xxx');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO objets(nom_objet, niveau, image, recette, effet, caracteristique, condition, description) VALUES(?, ?, ?, ?, ?, ?, ?, ?,)');
$req->execute(array($_POST['nom_objet'],
                    $_POST['niveau'],
                    $_POST['image'],
                    $_POST['recette'],
                    $_POST['effet'],
                    $_POST['caracteristique'],
                    $_POST['condition'],
                    $_POST['description']));





// Redirection du visiteur vers la page du minichat
header('Location: admin.php');
?>




Donc quand j'écris les données dans le formulaires, je valide, j'arrive sur admin_post.php mais là, il s'affiche un message d'erreur :

Fatal error: Call to a member function execute() on a non-object in /home/bimbos/www/admin_post.php on line 18

Voilà, j'espère que quelqu'un à une réponse à ce problème et qu'il pourra me répondre très vite.

Merci d'avance.
Modifié par Heyoan (02 Aug 2010 - 16:30)
Salut DjaSama »

Revoie ton écriture sur ces points.

1.0 ) Ton formulaire au départ peux être un pur fichier HTML.

» Donc pas de script PHP à l'intérieur de ton fichier de formulaire HTML. Celui-ci renvoit de toute façon avec l'attribut action="admin_post.php". C'est celui-ci qui connecte à la base. Sinon tu as deux connections d'ouvert. Et tu ne les ferme pas.

» Dans ton script d'ailleurs si tu look la partie values(?, ?, ?, ?, ?, ?, ?, ?,) tu termine avec une virgule. Ce n'est pas supposé çà. Le programme s'attend à un autre paramètre.

1.1 ) En période de teste ou d'apprentissage il est concevable de nommer ses fichiers comme ceci : Fichier HTML » admin_insert.html et le fichier PHP » admin_insert.php. Mais c'est facultatif ici.

» Le formulaire serait comme ceci <form action="admin_insert.php" method="post">

2.0 ) Place ton script de connection dans un fichier à part. Genre : connecteur.inc.php

» Place le dans un répertoitre. Genre : connections ou fonctions » connecteur.inc.php

3.0 ) Appelle ton fichier de connection en dehors de ton bloc try { . . . } catch(param) { . . . }

Exemple : include_once('./connections/connecteur.inc.php');

3.1 ) Ensuite vient ton bloc Try { . . . } catch (Exception $e ) { . . . }
3.2 ) C'est dans le bloc try que tu placeras ta requête préparée.


Comme le code suivant »


<?php
  // -- Avec un PHP Data Object :: PDO -- 
  include_once('./connections/connecteur.inc.php');
  try {
  $insertion = "insert into table (sujet, auteur, descript) values(:sujet, :auteur, :descript)";
  $cible = $bdd->prepare($insertion);
  # - - -
  $sujet = $_POST['sujet'];
  $auteur = $_POST['auteur'];
  $descript = $_POST['descript'];
  # - - -
  $matrice = array(':sujet'=>$sujet, ':auteur'=>$auteur, ':descript'=>$descript);
  $cible->execute($matrice);
  } catch (Exception $e) { echo "Erreur : " . $e->getMessage(); }

  // -- Tu peux fermer ta connection ici
?>


C'est juste des petits détails mais que je crois important.
J'ai utiliser » values (:sujet, :auteur, :descript); que je crois plus lisible que des « ? ».
J'ai aussi utiliser des variables pour stocker les super-globales : $sujet = $_POST['sujet'];
J'ai aussi stocker le array dans une variable : $matrice = array(clés/valeurs). Celui-ci est de type associatif, paires clés/valeurs.

Enfin, j'espère que tu pourras considérer ces quelques points comme important.
De plus assure toi de fermer ta connection, genre : $maConnection = null;

++ zardoz.
Modifié par zardoz (23 Jul 2010 - 03:47)
J'ai juste une petite question, avant je m'étais pas poser la question, car ca le fait tout seule, mais j'aimerais le faire moi même:
J'ai une table avec qui contient deux champs:
un pour l'id et l'autre pour le contenu a afficher.
Comment faire pour que quand je choisisse l'id un ca affiche sont contenu.
après plus loin dans la page je veut afficher le contenu de l'id deux... car si je demande ça m'affiche juste l'id, alors que moi je veut me servir de l'id pour afficher le contenu.


Par ce qu'avant j'affichais tout, donc je demandais pas exemple d'afficher les info de la table et ca affichait toute alors que moi je veut choisir.
Hello,

Juste une remarque, tu devrais vraiment éviter de poster le mot de passe de ta base de données sur un forum...
Salut loixi »

Juste une remarque ici : Un id + un texte çà vaut pas au départ.
Au minimum çà prend le titre, nom de l'auteur et la date. Trois colonnes de plus.

C'est banale je sais mais c'est important.
Comme ceci : id - titre - auteur - date - texte. C'est quand même facultatif là.

Fait juste voir alsacréations et puis tu vas comprendre. Un news sans auteur, sans date, c'est moche.
Alsacreations évite ce genre d'erreur. Je connais l'auteur et la date. Merci mon Dieu. Je sais où j'en suis.

Bon d'ac : C'est juste des détails, mais d'extrème importance.

++ zardoz »
Modifié par zardoz (01 Aug 2010 - 17:38)
Hello,

Tymlis a écrit :
tu devrais vraiment éviter de poster le mot de passe de ta base de données sur un forum...
+1 (je m'en suis occupé).