Creer un blog collaboratif avec php
notre prof nous a demandé comme miniprojet de creer un blog avec php pour tous les etudiants de notre departements et il faut qu'ils puissent tous poster des articles et je ne sais pas quoi faire ni comment le faire aidez moi je suis tres angoissée par ce sujet je vous en pris
Configuration: Windows XP Internet Explorer 6.0
16 réponses
Résumé de la discussion
Un mini-projet demande de créer un blog en PHP pour que tous les étudiants du département puissent poster des articles, ce qui génère une anxiété et des incertitudes quant à la faisabilité. Des réponses évoquent le manque de connaissances en PHP, des questions sur l'intégration de fonctionnalités de discussion, les besoins en espace membre, et des liens vers des tutoriels ainsi que des idées comme CMS. Pour avancer, plusieurs répondants recommandent de se concentrer sur les aspects techniques tels que l'architecture de la base de données, l'espace membre, les permissions, et l'utilisation éventuelle de ressources externes pertinentes.
-
Bah tu sais deja ce que tu veux y mettre dedans ?
-
Pour tout ton departement ? ^^' Tu dois faire ce travail pour quand ? Tu doit faire ca seul ?
-
Premiere question deja :
Le projet consiste t-il a creer UN blog ? Ou un site permettant de creer son blog ?
Si il s'agit de la premiere option, la chose va etre relativement simple.
Il faudra se baser sur des categories, creer 1 page admin, 1 page d'ajout d'article, 1 page d'ajout de commentaires et evidemment la page de visualisation des articles. Le plus complique selon moi sera juste la page d'ajout d'articles.
Quelques notions en php et savoir utiliser une db mysql suffit.
Pour la seconde aussi, mais la difference sera qu'il faudra y ajouter la notion de comptes, et la commence les petits casses-tetes de secures, mdp, et tout le toutime.
Vous avez combien de temps pour faire ca ? -
Si ce n'est que ça, ca ne te prendra vraiment pas longtemps pour boucler ton projet ;)
-
De quoi as tu besoin alors ?
-
-
@fati_fioreJ'ai moi meme deja fait ce genre de blog, mais il faudrait que tu m'explique ce quil te faut exactement
-
@fati_fioreTU ES DANS QUEL éCOLE ???
Sinon si c'est le prof de base de donnée c'est qu'il veut un travail les appels et envoie de donnée sur la BBD.
Donc faire un site ou on peut faire des news et y ajouter des commentaires. Au pire va voir siteduzero.com il dise comment faire des news ou un forum je sais plus. Enfin c'est pas bien compliqué ne vous inquietez pas. -
@thipharethon sais meme pas par quoi commencer est ce qu'on besoin d'un formulaire pour l'inscription?
-
@fati_fioreBen, si tu veux t'inscrire sur un site..... tadam FORMULAIRE.
Sinon les étapes. Inscription/connexion affichage des news(et leur commentaire)/ajout_news/ajout_commentaire.
-
-
A trois personne en deux semaine on peut faire un CMS, avec donc la possibilité de faire un site des news, un forums (catégorie, sujet, discution), un chat et des menus et puisque c'est un cms on a le choix du placement de chaque entité et biensur deux, trois design différent. projet de fin de première année après trois semaines de php.
-
-
@fati_fioreJoomla like!
Sinon skyrock pour un simple, phpnuck ou encore spip.
C'est un site internet qui te permet de créer des sites internets (pour faire simple) -
@azerwhiteje ne pense pas que ce sois le genre de travail recherché par son prof ^^
-
@thipharethOui, surtout si c'est le prof de base de donnée c'est pour cela que j'ai posté un autre poste :
"""
Sinon si c'est le prof de base de donnée c'est qu'il veut un travail les appels et envoie de donnée sur la BBD.
Donc faire un site ou on peut faire des news et y ajouter des commentaires. Au pire va voir siteduzero.com il dise comment faire des news ou un forum je sais plus. Enfin c'est pas bien compliqué ne vous inquietez pas.
"""
^^ -
@azerwhitenon ce n'est bpas ça ce qe je veux dire mais est ce que les etudiants de mon departement doivent s'inscrire dans mon blog?en general est ce qu'il est possible de s'inscrire dans un blog ou seulement dans les sites??????????????
-
-
Ben, tu peux choisir.... enfin c'est comme tu veux s'il ne la pas dit mais je te conseil de le faire c'est pas mal et ça t'apprendra des trucs.
-
-
@fati_fioreeuh ... je suis loin d'etre specialiste, je n'est pas encore commencer mon BTS et pourtant j'ai reussi a faire ce que tu cherche. Un script d'espace membres ce trouve sur le net, et de plus, ca t'apprends a comprendre comment il se forme.
Il te faut juste integrer un espace membre et un system de news ? -
@thipharetheuh mais la pratique joue un grand role Mr en tous cas peut-tu nous donnez ces scripts?
-
@fati_fioreJe peux oui , tu as deja tout ce qui faut ? Bdd etc ...
-
@thipharethc'est gentil mais on a rien jusqu'à maintenant sauf une grande volantée de faire quelque chose d'important
-
-
Voila, ici tu aura tout ce que tu doit savoir, en plus des script php, pour creer tin espace membres
http://www.asp-php.net/tutorial/asp-php/creer-un-espace-membre-en-php.php -
Voila mtnt dans un prmier temps, ton index de news:
index_news.php:
<!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" >
<head>
<title>index news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body> <br />
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS messages FROM news');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
?>
<?php
// On récupère les 5 dernières news
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM news ORDER BY id LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<h3>
<font size="6"> <?php echo $donnees['titre']; ?> </font>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
// On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
<br />
<br />
<center> <img src="images/rose_tribal.jpg" width="20%" height="15%"> </center>
<h5> <a href="#haut"> Haut de page </a> </h5>
</p>
</p>
<?php
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="index.php?page=' . $i . '">' . $i . '</a> ';
}
} // Fin de la boucle des news
?>
</body>
</html>
Il te faut ensuite:
liste_news.php:
<!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" >
<head>
<title>Liste des news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2, th, td
{
text-align:center;
}
table
{
border-collapse:collapse;
border:2px solid black;
margin:auto;
}
th, td
{
border:1px solid black;
}
</style>
</head>
<body>
<h2><a href="rediger_news.php">Ajouter une news</a></h2>
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
</body>
</html>
et pour finir
rediger_news.php:
<!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" >
<head>
<title>Rédiger une news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h3, form
{
text-align:center;
}
</style>
</head>
<body>
<h3><a href="liste_news.php">Retour à la liste des news</a></h3>
<?php
mysql_connect("host", "root", "");
mysql_select_db("bdd");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
// On protège la variable "modifier_news" pour éviter une faille SQL
$_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
// On récupère les infos de la news correspondante
$retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
$donnees = mysql_fetch_array($retour);
// On place le titre et le contenu dans des variables simples
$titre = stripslashes($donnees['titre']);
$contenu = stripslashes($donnees['contenu']);
$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle news
{
// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
$titre = '';
$contenu = '';
$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="liste_news.php" method="post">
<p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
<p>
Contenu :<br />
<textarea name="contenu" cols="50" rows="10">
<?php echo $contenu; ?>
</textarea><br />
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
Voila, désolé pour le maxi post mais je ne voyais pas comment lui donner les scripts ^^'-
-
@fati_fioreQuasiment oui, avec ca, tu creer un espace membre, et ton affichage de news. Aprés tout depends ce que tu veux integrer a ton site. Un livre d'or ou autre ? Je ne sais pas ^^ dis moi
-
@thipharethje vous integrer des articles des vedeos des sons des image(tous ce qui peux enrichir mon blog)
-
-
Ca, ca reste du html assez simple, je pense que si tu maitrise le html tu devrais y arriver non ?
-
Ah tu veux que tout le monde puisse poster des video , sons etc ?
-
hum.. mais le probleme, c'est que pour pouvoir envoyer une video ou autre sur ta bdd, cela signifie quil auront aces a ta bdd donc tu risque de rencontrer qq probleme aupres des plus malveillants ...
-
-
@fati_fioreJustement, peux etre quil aprrecirer que le projet sois pas fait a la rache xD
-
-
Il te suffit de 2 tables. La premiere etant decrite sur le tuto que je t'ai donné (table Comptes_Utilisateur) , il ne te reste qua creer une table "news" avec un id autoincrementable, une zone titre en format text, un contenu, et un timestamp, pour avoir l'heure du post
-
-
@fati_fioreEuh par contre, si tu veux plus d'info, je te donne mon msn en MP car la je bosse sur un site aussi dc camper sur le ccm m'embete un peu :S
dsl ^^' -
@thipharethvous n'avez pas repondu à ma question (mes amis doivent poster des articles...........)
-
@fati_fioreOn peux voir ca par msn ? ça m'arrangerai beaucoup :s
-
@thipharethd'accord mais comment?
-
-
siinon le site du zero c est bien aussi !
-
pour la base de donner on aurra combien des tables ?
tu es dit une table pour les news et quoi d'autre ??? -
excuse moi française je veux dire si tu n'as pas arrivé à la comprendre puisque j'ai commis une erreure