#1 Le 18/03/2011, à 00:13
- Mornagest
[Résolu] Page Internet avec quelques contenus un peu spécifiques
Hello les gens,
J'aimerais savoir s'il est possible (avec quelques connaissances html/css) d'avoir une page Web qui contienne quelques éléments, à savoir :
un corps ( )
un menu avec quelques liens sur le côté
un menu déroulant sur le dessus (avec JS ou sans même, avec css...)
et sans doute le plus compliqué, un "module" qui afficherait le contenu des derniers messages postés sur le forum auquel la page en question est liée.
C'est donc surtout pour le dernier point que cela risque d'être plus complexe. Comme tout ça est plus ou moins destiné à être une page statique, hormis les derniers messages du forum, je trouvais ça dommage d'installer un CMS comme WordPress...
Est-ce que vous pensez que c'est réalisable ?
Merci d'avance pour les réponses
Dernière modification par Mornagest (Le 18/03/2011, à 19:42)
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#2 Le 18/03/2011, à 00:21
- kouskous
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Pour le corps, tu peux toujours demander à la 'tite
#!/usr/bin/killall
« « J'aime kouskous » — kouskous. » — kouskous.
Hors ligne
#3 Le 18/03/2011, à 00:52
- Kanor
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Euh oui biensure que c'est possible il y a rien de particulièrement compliqué à faire
Si il y a seulement les dernier message du forum à rendre dynamique il est possible d'utiliser du JavaScript pour charger ce bloc.
Dernière modification par Kanor (Le 18/03/2011, à 00:54)
Hors ligne
#4 Le 18/03/2011, à 01:34
- Elzen
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Il faudrait peut-être un peu de PHP pour le dernier point…
(S'tu veux, on peut voir ça ensemble la prochaine fois que j'passerai vers chez toi )
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#5 Le 18/03/2011, à 13:03
- Mornagest
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Ben, ce serait pour les jours à venir, à vrai dire
Je pensais aussi au PHP (je préfère au JS si c'est possible de l'éviter). Seulement... j'ai aucune connaissance en la matière. Je vais essayer de trouver des tutos pour les bases, déjà.
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#6 Le 18/03/2011, à 13:15
- Mathieu147
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Pour récupérer les derniers messages du forum, tu peux faire ça uniquement en PHP.
Uniquement en Javascript ce n'est pas possible puisque tu ne pourras pas charger une page d'un autre domaine.
Dernière modification par Mathieu147 (Le 18/03/2011, à 14:11)
Pffff…
Hors ligne
#7 Le 18/03/2011, à 14:11
- Mornagest
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Ouaip, je pense que ça devrait le faire avec du PHP. Je suis en train de voir comment ça fonctionne avec le tuto du site du zéro, ensuite, je trouverai bien un moyen de trouver du code qui affiche les pages.
Au pire, je peux zyeuter sur le code source de WordPress, il y a un module qui fait ça...
Merci, les gens !
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#8 Le 18/03/2011, à 14:16
- Mathieu147
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Je crois que le plus simple, c'est de faire un script php super simple, genre ça:
<?php
$content = file_get_contents('http://forum.ubuntu-fr.org/search.php?action=show_24h');
if ($content !== false) {
echo $content;
}
?>
Ensuite, tu utilises jQuery avec la fonction load(), par exemple comme ceci pour afficher les messages dans le <div id="truc">:
$(document).ready(function() {
$('#truc').load('/tonscript.php #vf table');
});
À mon avis ça devrait fonctionner.
EDIT: yeah je suis trop fort, ça marche.
Essaie avec ça dans ubuntu.php:
<?php
$content = file_get_contents('http://forum.ubuntu-fr.org/search.php?action=show_24h');
if ($content !== false) {
echo $content;
}
?>
et ça dans ton html:
<!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_FR" lang="fr_FR">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
</head>
<body >
<div id="truc"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#truc').load('/ubuntu.php #vf table');
});
</script>
</body>
</html>
Après, tu fais ça un peu joli avec du CSS, il y a peut-être des trucs à améliorer, mais là tu devrais être bien parti.
Edit²: ah oui, c'est pas précisé, mais le Javascript n'est pas indispensable. Par contre, pour manipuler le DOM, modifier certains trucs (par exemple les liens vont tous être cassés) ça sera mille fois plus simple qu'en PHP.
Exemple pour réparer les liens, tu remplaces le Javascript que j'ai donné par ça:
$(document).ready(function() {
$('#truc').load('/ubuntu.php #vf table', null, function() {
$('#truc').find('a').each(function() {
$(this).attr('href', 'http://forum.ubuntu-fr.org/' + $(this).attr('href'));
});
});
});
Et PAF! ça fait des Chocapic tu as réparé les liens en 2 lignes.
Edit³: Hahaha, je suis sûr que tu vas passer 2h à lire le SdZ, puis tu vas revenir voir ici que t'as la solution faisable en 5 minutes qui est en train de t'attendre
Dernière modification par Mathieu147 (Le 18/03/2011, à 14:29)
Pffff…
Hors ligne
#9 Le 18/03/2011, à 14:33
- Mornagest
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Nan, je suis repassé par curiosité mais de toute façon, ça me fait pas de mal de comprendre les concepts de variables et de conditions (enfin, je sais ce que c'est, mais je connais pas la syntaxe).
Je ferai un essai ce week-end, j'aurai normalement du temps (il paraît qu'il va flotter ).
Je te remercie, en tout cas comme pour l'instant, j'ai une page vide sur mon domaine, je vais pouvoir me lâcher !
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#10 Le 18/03/2011, à 15:16
- Kanor
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Ah ouai j'étais con quand j'ai répondu probléme avec le cross domain
Hors ligne
#11 Le 18/03/2011, à 16:20
- Mornagest
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Hum, par contre, Mathieu147, où est-ce que je dois placer le code JS pour qu'il soit pris en compte ?
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#12 Le 18/03/2011, à 16:48
- Sir Na Kraïou
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Pour le corps, tu peux toujours demander à la 'tite
Ça dépend. Il veut un corps mort ou vif ?
Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.
Hors ligne
#13 Le 18/03/2011, à 17:35
- Mathieu147
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Ah ouai j'étais con quand j'ai répondu probléme avec le cross domain
Ouais, moi aussi, c'est pour ça que j'ai édité mon message: personne n'a rien vu
Hum, par contre, Mathieu147, où est-ce que je dois placer le code JS pour qu'il soit pris en compte ?
Ben où tu veux, mais n'oublie pas de charger jQuery avant en mettant ça dans l'entête:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
comme dans mon post ci dessus.
De nouvelles versions de jQuery sont sorties depuis la 1.3.2 donc utilise la plus récente tant qu'à faire, mais moi j'ai copié/collé ça d'un truc que j'avais fait ailleurs avec cette version de jQuery.
Pffff…
Hors ligne
#14 Le 18/03/2011, à 19:28
- Mornagest
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
OK, je vais tenter comme ça et je te dis quoi merci, en tout cas !
Edit : super, ça fonctionne et les liens marchent. Faut que j'adapte pour noter forum, en spécifiant les derniers messages pour une section en particulier, ensuite ce sera bon (et .css évidemment ).
Un grand merci !
Dernière modification par Mornagest (Le 18/03/2011, à 19:40)
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne
#15 Le 18/03/2011, à 19:51
- kamui57
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Salut
sinon, en php, tu as simple html dom parser qui permet de trouver des éléments facilement dans une page.
ici en bas j'ai d'abord simplement récupéré la liste des messages récents :
<?php
// affichage des erreurs en test
ini_set('display_errors', 1);
// pour parser facilement la page
include('simplehtmldom/simple_html_dom.php');
// obtention du code source de la page parsée
$html = file_get_html('http://forum.ubuntu-fr.org/search.php?action=show_24h');
// on cherche la liste des messages récents (regarder le code source de la page visée pour trouver les balises)
$liste=$html->find('div#vf div.box div.inbox table tbody',0);
echo $liste; // pour pas s'emmerder ça suffit. Affiche le même tableau que sur le forum
afficherEtParser($liste); // mais j'avais envie. Affichage changé par rapport au forum
?>
Sinon voici l'affichage changé par rapport au forum. J'ai changé l'affichage en récupérant chaque élément, mais si on veut simplement afficher qu'un certain nombre de sujets il suffit pour chaque ligne de l'afficher telle quelle. la fonction recupererUtilisateur retourne "Utilisateur" à partir de la chaine "par Utilisateur". Les variables en majuscules sont des constantes définies dans un autre fichier.
// parse la page visée récupère les variables et affiche les résultats
function afficherEtParser($liste){
require 'constants.php';
$compteur=0; // compteur de lignes
// on sépare les éléments de la liste si on veut
echo '<ul>';
foreach($liste->find('tbody tr') as $ligne) {
if ($compteur != 0 && $compteur <= $NB_MAX){ // on enlève le head compteur=0
//// on récupère les infos
// topic
$sujeturl=$ligne->find('div.tclcon div a',0)->href;
$sujettitre=$ligne->find('div.tclcon div a',0)->innertext;
$sujetuser=recupererUtilisateur($ligne->find('div.tclcon span',0)->innertext);
// nombre de réponses
$reponses=$ligne->find('td.tc3',0)->innertext;
if ($reponses > 1) $reponses=$reponses.' réponses';
else $reponses=$reponses.' réponse';
// dernier message posté
$derniermessurl=$ligne->find('td.tcr a',0)->href;
$derniermesstemps=$ligne->find('td.tcr a',0)->innertext;
$derniermessuser=recupererUtilisateur($ligne->find('td.tcr span',0)->innertext);
// forum auquel ce sujet appartient
$forumurl=$ligne->find('td.tc2 a',0)->href;
$forumtitre=$ligne->find('td.tc2 a',0)->innertext;
//// affichage
echo '<li>';
echo '<a href="'.$URL_RACINE.$sujeturl.'">'.$sujettitre.'</a> de '.$sujetuser.' ('.$reponses.') par <a href="'.$URL_RACINE.$derniermessurl.'">'.$derniermessuser.' '.strtolower($derniermesstemps).'</a> dans <a href="'.$URL_RACINE.$forumurl.'">'.$forumtitre.'</a>.';
echo '</li>';
} // if compteur entre min et max
$compteur++;
} // foreach ligne
echo '</ul>';
} // function afficher et parser
Concernant le design, cette page présente un menu déroulant super joli, et même son design est bien beau je trouve.
edit : rah j'avais pas vu que t'avais fini ! Bah pas grave ça m'a fait pratiquer
Dernière modification par kamui57 (Le 18/03/2011, à 19:54)
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas (proverbe indien)
Toshiba Satellite L655 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
Toshiba Satellite M30 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
https://help.ubuntu.com/community/Pastebinit pour poster du texte sur internet en console
Hors ligne
#16 Le 18/03/2011, à 22:04
- Mornagest
Re : [Résolu] Page Internet avec quelques contenus un peu spécifiques
Ça fait rien, je garde sous le coude ça pourra toujours m'aider ! Merci !
N'oubliez pas de consulter la documentation pour vous donner un coup de main !
Merci de modifier le premier message de votre sujet pour ajouter [Résolu] lorsque votre problème l'est :)
Xubuntu 20.04 sur deux ordinateurs, zéro souci. Passez à Xubuntu ;)
Hors ligne