8791 sujets

Développement web côté serveur, CMS

Bonjour, en attendant de me familiariser avec les bases et les tables, je souhaiterais pouvoir exploiter une zone de texte dans une mise en page fixe. Je m'explique :

J'ai une page actualité qui liste différentes actualités.

Dans cette liste, le lien de chaque actu revoie vers une page unique mais avec un zone de texte qui change bien entendu en fonction de chaque actu.

Comment faire en sorte que :
- le lien de chaque actualité pointe vers la page unique mise en forme mais avec un contenu différents suivant chaque actu ? et est-ce possible en php statique ?

Je ne sais pas si je suis clair Smiley ohwell
Salut,
goudurisc a écrit :
Comment faire en sorte que :
- le lien de chaque actualité pointe vers la page unique mise en forme mais avec un contenu différents suivant chaque actu ?
Ça c'est la partie facile. Tes liens doivent être de la forme :
http://www.monsite.com/laPageUnique.php?numeroActu=145
Le code PHP de la page en question saura qu'il doit afficher l'actu numéro 145.

goudurisc a écrit :
et est-ce possible en php statique ?
J'interprète cette question comme "comment stocker mes actus sans utiliser de base de données".
Si ton but est d'éviter la gestion d'un serveur SQL séparé, tu as bien la solution d'utiliser SQLite (intégré à PHP, facile d'utilisation), mais ca reste une base de données. Sinon, tu peux les stocker dans un fichier XML (PHP est bien équipé pour lire ce format), voire directement dans ton code PHP (dans un tableau). Les solutions sont nombreuses, j'en oublie, mais ton choix dépendra principalement du nombre d'actus à gérer et des moyens que tu as à ta disposition pour ajouter/supprimer/modifer chaque actu (tout à la mano, ou via des outils dédiés, ou autre... ?)
Tant que je n'ai pas opté pour une solution CMS dans laquelle je souhaite m'investir (d'après mes premières pistes : Joomla ou website Baker), ça va être à la mano.

Si je ne parviens pas être autonome techniquement au moment où il faudra basculer sur une base, il faudrait que mon travail avance celui du développeur.

Sinon, merci pour ta solution que je vais essayer de tester. Pour l'actu 145 (et les autres), comment doit se présenter/nommer le fichier ? 145.php et 146.php ?
Tu vois mon niveau technique ? Smiley lol
@goudurisc » Salutation.

Non en fait il s'agit d'une base des données ici.

» Si par exemple tu cible le premier identifiant de ta table.

Tu écrit :

echo "<a href='http://www.monsitefictif.org/monfichier.php?id=1'>$titre</a>";


Ainsi tu viens de créer un lien qui pointe sur le « id 1 » de ta table.
Celui-ci évidemment porte un article à présenter, dont le lien est le titre de l'article.

Si tu place ton curseur sur un des liens (ici bas), tu verras ceci dans la barre d'état »
Note : (Ne clique pas pour les deux exemples s.v.p : Ils sont fictif pour la cause).
Mais place ton pointeur sur les liens » Ils racontent une réalité dans la barre d'état.

http://www.monsitefictif.org/monfichier.php?id=1 » ainsi tu cible l'article dont id=1.
http://www.monsitefictif.org/monfichier.php?id=2 » ainsi tu cible l'article dont id=2.

Il en est ainsi de tous les articles suivant. ?id=3 | ?id=4 etc . . .
Ce faisant tu n'auras qu'une seule page nommé : monfichier.php, au travers laquelle, différents articles.

Une dernière fois ? - monfichier.php?id=mon_identifiant_auto_incrémemter_de _MySQL.

++ zardoz »
Modifié par zardoz (30 Jul 2010 - 18:05)
C'est effectivement clair si on utilise une table (et donc une base) mais je souhaite en fait pouvoir le faire sans base... est-ce possible ? Smiley ohwell
@Goudurisc » Alloooo.

Oui c'est possible avec xml ou txt.

En fait la question des bases est claire pour moi.
Les bases pointent vers les données de masse.

Mais si tes besoins actuelle ne sont pas de masse.

» Il y a xml » performant et flexible.
» Il y a txt » idem

Si tu ne prévois pas d'articles de masse, il y a, au besoin le xml et le txt.

Il y en a qui utilise les BDD's, que pour le trip. C'est une façon de faire certe.
Mais çà exige en ressources. Le xml et le txt vaut tout autant que les BDD.

La question est de savoir si mon projet exige une BDD, ou non.

La façon de travailler est tout aussi important. Une équipe ? - Je suis seul ? etc.

++ zardoz.
Modifié par zardoz (30 Jul 2010 - 18:32)
C'est possible, c'st donc déjà ça. Bon, je sens que tu vas couper si je te dis que je travaille sous Dreamweaver et que le xml reste un peu flou pour moi. Je ne suis que graphiste, sans notion de développement, et à ce titre, je ne comprends que les exemples concrets (imagés ?).

Si tu me dis "http://www.monsitefictif.org/monfichier.php?id=1 " qui cible l'article id=1, ça me parait clair. Là où ça coince, c'est que je ne vois pas matériellement comment/où réaliser mon article.

- je crée un article mon article dans une page html ? comment doit-elle se nommer ? comment cette page se retrouve t-elle dans monfichier.php ? faut-il réaliser une table en local ?

Bref, du langage pour demeuré mais il faut de tout pour faire un monde Smiley rolleyes
Modifié par goudurisc (30 Jul 2010 - 18:48)
@ allooo » Goût du risque »

Non ce n'est pas HTML mais bien PHP ici.

Le xml est très souple, celui-ci contient des données. Que tu pourras explorer et exploiter sous PHP.

La façon de faire . . . Eh bien pose les questions quand tu en seras là.

En fait c'est que tu devras t'intéresser à PHP - XML | TXT, dans ton cas précis.

Mais aucun rapport avec HTML, dû moins en écriture.
Tu ne peut pas faire en HTML : coder en dur.

++ zardoz. »
Modifié par zardoz (30 Jul 2010 - 19:34)
Même dans la formulation, il peut y avoir ambiguïté, j'ai prononcé html mais toutes mes pages sont en fait en php et je n'utilise actuellement que des include et autres fonctionnalités php élémentaires. Comme le php m'a apporté pas mal d'avantages, même sans basse, je me dis simplement qu'il me faut la bonne formule pour faire fonctionner cette demande.

Mais je reconnais que ça peut être un peu lassant pour les pros de devoir répondre à ce type de questions si mal énoncées. Mais je ne cesse de le crier sur les forum, le seul lien qui manque dans toutes les techniques, celui qui est totalement ignoré par tous les tutos qui vulgarisent à outrance pendant les 10 premières lignes et qui basculent aussitôt dans le jargon semi pro, c'est... le point zéro !

Bref, je pense que je suis aujourd'hui, sans prétention excessive, assez pro dans pas mal de domaines de l'image (15 ans ans/ et 10h/jour à bouffer du photoshop, Illustrator, indesign, finale cut...) et que je produis des sites assez corrects avec Dream (sans base ! mais avec développeurs), mais pour la partie CMS/php/MySQL, je le reconnais, c'est encore le noir total, voire l'obscurantisme. Et comme pour les autres technologies, quand je serai parvenu à en intégrer les bases, je me demanderai pourquoi j'ai autant ramé pour en arriver à un truc si simple et évident.

Bon, je stoppe la ma bio sans grand intérêt mais parfois, ça peut servir de jeter une bouteille à la mer... et puis ça m'arrange, j'adore en vider !

PS : le site du zéro s'approche de la vérité, l'esprit supérieur qui a créé ce site et ses tutos est à mon avis trop méconnu Smiley rolleyes .
goudurisc a écrit :

Si tu me dis "http://www.monsitefictif.org/monfichier.php?id=1 " qui cible l'article id=1, ça me parait clair. Là où ça coince, c'est que je ne vois pas matériellement comment/où réaliser mon article.


C'est ta base des données » avec une zone adiministrative sur ton site, ou directement en phpAdmin.

En zone administratif, tu peut avoir un formulaire html qui pointe un fichier php.
Celui-ci aura pour objet d'insérer l'article dans ta table.

<form action="monArticleInsertion.php" method="post">

Mais à la base tu place ton article dans la table conçu à cette fin, à partir de ta zone administrative. Il s'agit d'un formulaire ici.


++ zardoz »
Modifié par zardoz (30 Jul 2010 - 22:33)
Salut.

Une autre solution serait de stocker tes articles dans un dossier.
Ces articles seraient stockés sous la forme de simples pages Web complètes (du DTD à la fermeture de la balise <html>).

Tu pourrais donc avoir une page qui permet d'ajouter un article à l'aide d'un formulaire contenant un minimum deux champs : "Titre" et "Contenu de l'article". Pour t'éviter de taper tout le code HTML des pages, tu peux créer deux fichiers, un contenant le HTML avant le contenu de l'article, et un second contenant ce qui suit l'article.

Il faudra également un autre script PHP qui fera un lien vers chaque fichier du dossier (donc vers chaque article). Le texte du lien pourrait être le contenu de la balise <title>.

Personnellement, je préfère la solution du XML, le code PHP sera plus propre et c'est plus performant.
Le XML est un langage de balisage permettant de stocker des données de façon structurées.
Dans ton cas, le fichier pourrait ressembler à ça :
<articles>
    <article>
        <titre>Titre du premier article</titre>
        <contenu><![CDATA[Tout le blabla de ton premier article ici]]></contenu>
        <auteur>goudurisc</auteur>
        <creation>1280551580</creation>
        <modification>1280551580</modification>
    </article>

    <article>
        <titre>Titre du second article</titre>
        <contenu><![CDATA[Tout le blabla de ton second article ici]]></contenu>
        <auteur>goudurisc</auteur>
        <creation>1280552580</creation>
        <modification>1280552580</modification>
    </article>

    ...
</articles>


Pour récupérer les informations en PHP, tu peux utiliser l'API DOM.
Ce dernier te permet aussi de faire des requêtes XPath.

Pour en savoir plus, je te propose quelques liens :
http://fr.wikipedia.org/wiki/XML
http://fr.php.net/manual/fr/book.dom.php
http://fr.php.net/manual/fr/class.domxpath.php
http://w3schools.com/xpath/default.asp
http://www.siteduzero.com/tutoriel-3-33440-le-point-sur-xml.html

Bonne lecture Smiley cligne
Avec ton exemple, je suis à peu près la logique mais, même si je comprends le principe, la mise en place technique reste certainement encore obscure. Il me manque le fameux niveau 0 pour répondre aux premières questions. Et comme je n'ai pas la même approche que les développeur, il faudra que je trouve un exemple complet (avec fichiers) et qui fonctionne pour que ça fasse tilt.
Dans tous les cas, merci à tous pour votre aide Smiley smile
Goudurisc, visiblement :
- tes connaissances en PHP sont extrêmement limitées
- tes connaissances en bases de données sont nulles
- tes connaissances en XML idem

Tu dis ne pas vouloir te former sur ces méthodes et tu voudrais réaliser un système de news, qui nécessite stockage et traitement sur le serveur. Bon... Smiley smile

Je pense honnêtement qu'on finirait bien trouver une solution mais (1) ça sera pourri (niveau maintenance tout particulièrement) et (2) on va passer plus de temps à chercher que tu n'en aurais besoin pour te former au B-A-BA de PHP/SQL. Donc perso je ne te donnerai qu'un seul conseil, celui de développer un minimum tes connaissances en PHP, et d'apprendre les bases d'un système de stockage (SQL, XML, ou autre).

Niveau formation, tu dis que tu ne trouves pas le point zéro de l'apprentissage. Permets moi de douter de ta persévérance Smiley smile . Google fourmille de tutoriels pour tous les niveaux. Certes, peu sont excellents, et cela ne vaut pas un prof en face de soi, mais c'est les lois de l'autodidactisme : on y passe plus de temps, on doit lire quinze tutos au lieu d'un, mais on finit par y arriver, je te le garantis.

À l'époque de mes débuts, le site PHPDébutant était très bien pour démarrer en PHP et SQL. Il y a probablement autre chose aujourd'hui (site du zéro, etc.) mais je passe la main à d'autres pour te conseiller là-dessus.
marcv, ton analyse est perspicace mais l'idée était de savoir s'il existait une fonction aussi simple que "include" (qui m'a déjà rapidement changé la vie). J'ai donc bien compris que ma demande exigeait plus de connaissances et comme je le citais plus haut, le site du zéro me paraît tout indiqué. Bon, j'adore me former mais le temps joue contre moi, je vais voir ce que je peux grappiller comme solutions dans l'immédiat.
Et je renouvelle mes remerciement à ceux qui ont malgré tout tenté de m'aider.
Bonnes vacances à ceux qui en prennent ! Smiley cligne
Ces petits liens sont peut-être la clés pour une solution immédiate, je vais regarder ça de près, ce serait assez incroyable que ça fonctionne... si c'est le cas, mille fois merci cher cilou ! Smiley cligne