Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2006, 16h23   #1
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Par défaut [Conception] moteur de recherche

Salut,
je vudrais faire un moteur de recherche du même style que google, mais je ne vois pas comment faire, pouvez vous m'aider?

Merci
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h32   #2
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Le mieux est d'appeler monsieur google.
Plus sérieusement commence par plus simple, fait un genre d'annuaire avec recherche des personnes par numéro ou nom pour appréhender la bête deja.
masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h33   #3
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Le truc, c'est que j'aurai voulu faire du style google sans annuaires, en fait comme google, wanadoo, voila, altavista, msn, ...
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h37   #4
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Tu es donc un expert ?
Sinon ....

masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h42   #5
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
...et bien je voudrais savoir comment faire.
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h50   #6
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Je ne sais quoi te dire hormis le fait qu'il s'agit d'une base de donnée gigantesque .Je laisse ma place à quelqu'un d'autre
masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 16h56   #7
Invité régulier
 
Développeur informatique
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 7
Points : 7
tu peux toujours commencer par une petite base de données, genre :

CREATE TABLE `sites` (`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `url` VARCHAR (255), `keys` VARCHAR (255), `title` VARCHAR (100), `comment` TEXT, `date` DATE, `nb_clic` SMALLINT, PRIMARY KEY(`id`), UNIQUE(`url`)) ;

et un petit script php qui te fait un select dans ta table genre :
Select * from sites where keys like '%MotChercher%'
bobthequ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h02   #8
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Mais comment référencé tout les sites web dans la bdd et revérifier ce référencement tout les x temps?
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h20   #9
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Google a mis au point des robots qui scrutent les sites web et c'est cela qui permet de pouvoir faire les modifs de leur base de donnée tout les x temps.
masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h23   #10
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Et comment font msn search, yahoo search, altavista, ... ?
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h23   #11
Invité régulier
 
Développeur informatique
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 7
Points : 7
Pour le référencement, tu devras créer une page ou tu proposes aux visiteurs de suggérer un site ou sinon tu dois créer un robot qui navigue pour toi sur internet afin de te rapporter un maximum d'url et d'informations sur les sites grace aux meta tag.

Et pour mettre à jour régulièrement les informations dans ta base de données il te faudra également avoir un robot qui verifie l'intégralité des sites de ta base.
Pour ca, regarde peut etre sur www.sourceforge.net, il existe surement un projet qui propose se type de robot (à vérifier)
bobthequ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h28   #12
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Comment créer un robot, je ne trouve pas sur le site .
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h33   #13
Invité régulier
 
Développeur informatique
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 7
Points : 7
la je crois qu'il faut faire travailler sa cervelle, parce que ca n'est pas évident.
Il faut commencer par entrer une premiere url dans ton robot, qui va récupérer l'ensemble des urls présentent dans cette premiere page et ensuite le robot va continuer en chargeant de nouvelles urls a partir des urls trouver précédemment et ainsi de suite.

je ne sais pas si c'est très clair.

Voici un schéma
page1 --> page2 --> page5
--> page6
--> page7
--> page3
--> page8
--> page4
--> page9
--> page10
--> page11
bobthequ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h34   #14
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Mais je ne sait pas comment programmer tout sa.
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h36   #15
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Tu veux que je te le code?
masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h36   #16
Invité régulier
 
Développeur informatique
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 7
Points : 7
tu as l'embarras du choix : C-C++, Java, même en PHP (bien que avec le time out ... bof)
bobthequ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 17h40   #17
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Moi je préfère le php, mais je ne voit pas comment en fait pour être clair.
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 18h26   #18
Invité régulier
 
Développeur informatique
Inscription : septembre 2006
Messages : 6
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2006
Messages : 6
Points : 7
Points : 7
Exemple de code pour analyser une page web :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
<?
function find($str, $find, $minus, $pos_dep){
  if ($minus==1) {
    $str=strtolower($str);
    $find=strtolower($find);
  }     //Si $minus=1, ne différencie pas les majuscules des minuscules
  for ($l=$pos_dep;$l<strlen($str);$l++) {  //Faire une boucle du debut jusqu'a la fin de str
    if (substr($str,$l,strlen($find))==$find){    //Si $trouve est trouvé dans $str
      $pos = $l+strlen($find);
      return $pos;     //on retourne la position
    }
  }
  return 0;   //Sinon, retourner 0 pour dire que c'est pas trouvé
}
 
function getDomain() {
   if ( isset($_SERVER['SERVER_NAME']) ) {
       $dom = $_SERVER["SERVER_NAME"]."/";
   } else {
       return false;
   }
   return "http://".$dom;  
}
 
$inF = fopen("test.html","r"); 
 
while (!feof($inF)) {
   $read = fgets($inF, 4096);
   $pos = find($read, "<a href=", 1, 0);
   while ($pos > 0) {
      $pos2 = find($read, " ", 1, $pos+3);
      $pos3 = find($read, "\"", 1, $pos+3);
      if ($pos3 < $pos2 || $pos2==0) {
      	$pos2 = $pos3;
      }
      $pos3 = find($read, "'", 1, $pos+3);
      if (($pos3 < $pos2 || $pos2==0) && $pos3!=0) {
      	$pos2 = $pos3;
      }
      $url=substr($read, $pos, $pos2-$pos);
      $url=str_replace("\"", "", $url);
      $url=str_replace("'", "", $url);
      if (substr($url, 0, 1)=="=") {
      	$url=substr($url, 1, strlen($url));
      }
      if (substr($url, 0, 6)!="mailto" && substr($url, 0, 10)!="javascript") {
	      if (substr($url, 0, 4)!="http") {
	      	if (getDomain()) {
	      		$url = getDomain().$url;
	      	}
	      }
	      echo "$url<br/>\n";
	    }
      $pos = find($read, "<a href", 1, $pos2+1);
   }
} 
 
fclose($inF);
?>
bobthequ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 19h49   #19
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 381
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 381
Points : 278
Points : 278
Sinon pour éviter de payer des Big robot avec une big bande passante , tu peux créé une bare de taches qui prend les meta pour toi .... avec une option noter le site ... mais est tu un boss en programation ?

Mais bon , vu la quantité d'infos que offre google , je me lancerai pour voir comment sa fonctionne , mais pas tenter de faire la méme chose , tu n'auras pas 1/100 des infos ....
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 20h05   #20
Membre actif
 
Avatar de kevinf
 
Développeur informatique
Inscription : juin 2005
Messages : 839
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2005
Messages : 839
Points : 165
Points : 165
Citation:
Envoyé par bobthequ
Exemple de code pour analyser une page web :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
<?
function find($str, $find, $minus, $pos_dep){
  if ($minus==1) {
    $str=strtolower($str);
    $find=strtolower($find);
  }     //Si $minus=1, ne différencie pas les majuscules des minuscules
  for ($l=$pos_dep;$l<strlen($str);$l++) {  //Faire une boucle du debut jusqu'a la fin de str
    if (substr($str,$l,strlen($find))==$find){    //Si $trouve est trouvé dans $str
      $pos = $l+strlen($find);
      return $pos;     //on retourne la position
    }
  }
  return 0;   //Sinon, retourner 0 pour dire que c'est pas trouvé
}
 
function getDomain() {
   if ( isset($_SERVER['SERVER_NAME']) ) {
       $dom = $_SERVER["SERVER_NAME"]."/";
   } else {
       return false;
   }
   return "http://".$dom;  
}
 
$inF = fopen("test.html","r"); 
 
while (!feof($inF)) {
   $read = fgets($inF, 4096);
   $pos = find($read, "<a href=", 1, 0);
   while ($pos > 0) {
      $pos2 = find($read, " ", 1, $pos+3);
      $pos3 = find($read, "\"", 1, $pos+3);
      if ($pos3 < $pos2 || $pos2==0) {
      	$pos2 = $pos3;
      }
      $pos3 = find($read, "'", 1, $pos+3);
      if (($pos3 < $pos2 || $pos2==0) && $pos3!=0) {
      	$pos2 = $pos3;
      }
      $url=substr($read, $pos, $pos2-$pos);
      $url=str_replace("\"", "", $url);
      $url=str_replace("'", "", $url);
      if (substr($url, 0, 1)=="=") {
      	$url=substr($url, 1, strlen($url));
      }
      if (substr($url, 0, 6)!="mailto" && substr($url, 0, 10)!="javascript") {
	      if (substr($url, 0, 4)!="http") {
	      	if (getDomain()) {
	      		$url = getDomain().$url;
	      	}
	      }
	      echo "$url<br/>\n";
	    }
      $pos = find($read, "<a href", 1, $pos2+1);
   }
} 
 
fclose($inF);
?>
J'ai pas compris comment faire marcher ce code.
__________________
KevinF
kevinf est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h38.


 
 
 
 
Partenaires

Hébergement Web