Moteur de recherche sans BDD

Signaler
Messages postés
3
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
26 janvier 2005
-
Messages postés
8
Date d'inscription
samedi 24 décembre 2005
Statut
Membre
Dernière intervention
9 mai 2008
-
salut!!!!
j'ai un petit problème! je dois faire une sorte de moteur de recherche mais sans utiliser de base de données et je sais pas du tout comment mis prendre!
je connais que javascript (et encore pas très bien) mais jai trouver sur internet un code en php qui doit normalement me permettre de résoudre mon problème! Mais rien a faire j'y arrive pas, sa fonctionne pas!
Connaissez vous un autre moyen? suis je obliger d'utiliser du php??
please! help me!
Merci

12 réponses

Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Tu n'as qu'à mettre tes données dans des fichiers txt au lieu et
utiliser les fonctions fopen et compagnie. Tu me donnes une idée de
source à faire qui manque sur phpcs ;).

----------------

eXon
http://www.lookstrike.com
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut ;-)



Un exemple : tu fais un moteur qui va scruter ton site et qui enregistre dans un fichier texte des infos de ce genre :



Par exemple tu dois avoir un opérateur (AND ou OR) qui te permettra
d'affiner ta recherche. AND correspond à "tous les mots" et OR à "au
moins un des mots". Ce champ sera paramétré via le formulaire comme
ceci :



<select name="operateur">

<option value="AND">Tous les mots</option>

<option value="OR">Au moins un des mots</option>

</select>



--------------------------------

page|titre|keywords|texte

--------------------------------

processeur.php|le processeur|processeur, cpu|le processeur est un composant...



Ensuite lorsqu'une recherche est lancée, tu récupères l'information du formulaire comme ceci :



<?php

if(isset($_POST['recherche']))

{

//Déclaration des variables

$i=0;

$p_mot=0;

$mot_trouve=1;

$mot_trouve2=0;

$p_ligne=0;



//On génère un tableau contenant tous les mots de la recherche

$tab_mots=explode(' ',$_POST['recherche']);



//On ouvre le fichier texte

$tab_fichier=file('fichier.txt');



//Nombre de lignes et de mots

$nb_lignes=count($tab_fichier);

$nb_mots=count($tab_mots);



//Parcours le fichier

while($i<$nb_lignes)

{

//Décompose les différentes parties (titre, keywords, etc...) de la ligne

$tab_ligne=explode('|',$tab_fichier[$i]);



//Scanne tous les mots entrés par l'internaute et vérifie si ils existent dans la ligne

while($p_mot<$nb_mots)

{


//Regarde si le mot en cours existe dans la ligne,
si il n'existe pas $mot_trouve passe à 0

while($p_ligne<4)

{

//L'internaute a choisi 'Tous les mots';

if($_POST['operateur']=='AND')

{

if(!strpos($tab_ligne[$p_ligne],$tab_mots[$p_mot]))

{

$mot_trouve=0;

}

$p_ligne++;

}

//L'internaute a choisi 'Au moins un des mots'

else

{

if(strpos($tab_ligne[$p_ligne],$tab_mots[$p_mot]))

{

$mot_trouve=1;

}

}

$p_mot++;

}

//Affiche un lien pointant vers la page correspondante à la recherche

if($mot_trouve==1 OR $mot_trouve2==1)

{


echo '[',$tab_ligne[0],' ',stripslashes($tab_ligne[1]),']';

}

}

$i++;

}

}

?>



Le code est fait de tête donc si y'a des petites erreurs ne m'en veut pas.



a ++
Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
la source manque sur phpcs car elle est irréalisable...

Comment référencer en php ???

Il faut un bon bot pour référencer, or en PHP, c'est infaisable... autant le faire en C...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
"or en PHP, c'est infaisable"



Bah tu scannes les sources avec un fsockopen, tu récupères les liens et ainsi de suite...



Je vois pas ce qu'il y a d'infaisable là dedans ?!


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
mais le truc c'est que sur chacune des pages, tu auras plein de liens, puis plein de liens, puis plein d'autres....



en gros, ton script peut tourner quelques années avant d'afficher le résultat...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Mais il s'agit d'un moteur de recherche interne à ton site, donc un
petit tableau qui permet de savoir si la page a déjà été consultée et
hop, même si ton site fait 10000 pages, en local c'est rapide ;-)



a ++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
en local c'est facile...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Bah si t'es pas trop limité en trafic tu peux le faire en ligne aussi...

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
3
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
26 janvier 2005

ben je suis completement largué moi!!! le jour ou jarriverai à faire un code pareil de tête!!
je me suis mise au php depuis 2 jours donc si ta fait des erreurs c'est surement pas moi qui vais les voir! en tout cas MERCI!! :-D
jai trouvé se code aussi mais sa na pas fonctionner, si vous savez pkoi... dite le moi

<?
//ouverture du fichier moteur.txt
//contenant les références des pages html
//sous la forme
//ma_page1.html
//ma_page2.html
//utiliser un séparateur ici c'est


$ouvre= fopen("moteur.txt","r");
$lit=fread($ouvre,filesize("moteur.txt"));
$texte=explode("

",$lit);
$combien=count($texte)-1;
fclose($ouvre);


//traitement du mot clé entré par l'utilisateur
//le nom de l'input est 'terme'
echo "<form></form>";
if ($terme!="" && strlen($terme)>2)
{
$terme=strtolower($terme);
for ($i=$combien-1;$i>=0;$i--)
{
$recherche=htmlentities($texte[$i]);
$tableau=explode("",$recherche);
foreach ($tableau as $ligne)
{
$fichier = file($ligne);
foreach ($fichier as $rang)
{
$rang=strtolower($rang);
if (ereg($terme,$rang))
{
$rang=strip_tags($rang);
$rang=str_replace($terme," $terme :",$rang);
if (!ereg($terme,$rang)){$rang ="";}
else
{
echo"$texte[$i];$rang";
break;
}
}
}
}
}
}
?>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Bah écoutes franchement j'ai pas le temps de déchiffrer toutes les
sources de la planète, je t'en fais une, si elle fonctionne tant mieux,
si elle ne fonctionne pas je m'efforcerai de résoudre le pb, maintenant
il faut que t'y mette un peu du tien et que t'apprennes le php...



http://www.vulgarisation-informatique.com/php.php



a +

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
3
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
26 janvier 2005

je ferai se ke je pourrais... mais merci kan meme :-)
Messages postés
8
Date d'inscription
samedi 24 décembre 2005
Statut
Membre
Dernière intervention
9 mai 2008

salut les informaticiens