[Active Directory] Php Vs Asp

Php Vs Asp [Active Directory] - PHP - Programmation

Marsh Posté le 28-01-2003 à 21:13:47    

Bonsoir :hello:
 
J'aimerais avoir l'avis de personnes ayant déjà utilisé un de ces deux langages pour rechercher des entrées dans un annuaire Active Directory (4000 entrées).
 
Parce qu'actuellement, j'utilise un script php, mais ça rame atrocement !!! (10 sec pour me retourner une dizaine d'entrées)
 
Alors que d'après ce que j'ai pu voir avec un script ASP sur un serveur IIS, il mettait même pas 1 sec.
 
Merci d'avance pour vos avis éclairés.
 
:jap:


Message édité par Notsukaw le 28-01-2003 à 21:16:24

---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 21:13:47   

Reply

Marsh Posté le 28-01-2003 à 22:07:56    

[:nycius] sioupléééé :D


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 22:20:11    

Reply

Marsh Posté le 28-01-2003 à 22:20:45    

Reply

Marsh Posté le 28-01-2003 à 22:24:35    

Reply

Marsh Posté le 28-01-2003 à 22:26:06    

ha ça faisait longtemps tiens  [:snoozy]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 28-01-2003 à 22:26:37    

http://tkatchev.free.fr/Forum/tusors.gif
 
 [:titprem]


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 22:27:36    


mais euh
 
 http://thebottlecapman.com/images/Used%20Soda/Seven%20Up%20Ferro%20Phos.jpg  
 
de toute facon  :kaola:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 28-01-2003 à 22:31:35    

un rapport avec ldap ou je fais fausse route ?

Reply

Marsh Posté le 28-01-2003 à 22:33:55    

a mon avis tu es en plein dedans

Reply

Marsh Posté le 28-01-2003 à 22:33:55   

Reply

Marsh Posté le 28-01-2003 à 22:34:49    

Technologiquement, c'est différent du LDAP (plus générique il me semble), mais dans la pratique, le script de connexion à l'annuaire Active Directory est EXACTEMENT le même que pour du LDAP !
 
Maintenant, php est-il performant en LDAP ?
Dans ce cas, ça veut dire que c'est bien le duo Asp/Active Directory qui fonctionne très bien (ce qui est normal après tout, compatibilité crosoft), sinon, ça veut dire que le Php est pas performant sur les annuaires.
 
Pour être précis, Active Directory est un annuaire LDAP (si j'ai bien compris  :heink: )


Message édité par Notsukaw le 28-01-2003 à 22:39:51

---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 22:37:40    

Notsukaw a écrit :

Technologiquement, c'est différent du LDAP, mais dans la pratique, le script de connexion à l'annuaire Active Directory est EXACTEMENT le même que pour du LDAP !
 
Maintenant, php est-il performant en LDAP ?
Dans ce cas, ça veut dire que c'est bien le duo Asp/Active Directory qui fonctionne très bien (ce qui est normal après tout, compatibilité crosoft), sinon, ça veut dire que le Php est pas performant sur les annuaires.

je pencherais pour la 1e solution, mais bon en meme temps, juger 2 scripts different à l'aveuglette comme ça...
t'es obligé d'utiliser active dir..?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 28-01-2003 à 22:43:03    

Ouep, hélas je crois aussi que c'est l'asp qui fonctionne bien avec l'AD :/
Et oui je suis obligé de l'utiliser : il me sert à faire un inventaire du parc matériel à une heure H, l'état des 500 serveurs et des 3500 postes. (y'a trop de monde là-dedans, faudrait en virer :D)


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 22:51:49    

Notsukaw a écrit :

Ouep, hélas je crois aussi que c'est l'asp qui fonctionne bien avec l'AD :/
Et oui je suis obligé de l'utiliser : il me sert à faire un inventaire du parc matériel à une heure H, l'état des 500 serveurs et des 3500 postes. (y'a trop de monde là-dedans, faudrait en virer :D)

si tu tiens a absolument utiliser php au lieu d'asp (ce que je comprendais  :sarcastic: ), tu peux pê imaginer un "truc" qui va regulierement pomper les infos qu'il te faut et les met dans un format plus accessible a php :/
bon c moche ça :/
 
ptet qu'il y a moyen d'ameliorer ton script php, tout simplement


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 28-01-2003 à 23:02:49    

[:blueflag]
Ca m'intéresse les rapports conflictuels entre PHP et AD :)


Message édité par mrbebert le 28-01-2003 à 23:04:21
Reply

Marsh Posté le 28-01-2003 à 23:11:37    

J'ai vu aussi qu'avec un VBScript c'était aussi rapide qu'en ASP (ou presque), j'vais me faire un pti script VB, que j'appelerai depuis une de mes pages pour voir ...
 
je vous tiens au courant :)
 
Le script Php que j'utilise est tout con, il est basé là-dessus :
 

Code :
  1. <?php
  2. $ds=ldap_connect($server);  // On suppose que le serveur LDAP est sur cet hote
  3. if ($ds) {
  4.     $r=ldap_bind($ds,$rootdn,$rootpw);
  5.     $dn = "o=commentcamarche, c=fr";
  6.     $filtre="(|(sn=$person*)(cn=$person*))";
  7.     $restriction = array( "cn", "sn", "mail" );
  8.     $sr=ldap_search($ds, $dn, $filtre, $restriction);
  9.     $info = ldap_get_entries($ds, $sr);
  10.     print $info["count"]." enregistrements trouves";
  11.     ldap_close($ds);
  12. } else {
  13.     echo "Connexion au serveur LDAP impossible";
  14. }
  15. ?>


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 23:11:57    

alors ds ce cas ... jai bien galéré sur un truc en php qui faisait des requetes LDaP et ca tournait correctement, temps de reponse < 1 seconde, normal je pense. Je sais pas comment la partie connexion au ldap etait faite.

Reply

Marsh Posté le 28-01-2003 à 23:15:20    

Et ton annuaire contenait combien d'entrées ?
 
Parce qu'en fait, mon script tourne bien quand il y a moins de 500 références (moins d'une seconde aussi), mais ce qui me pose problème, c'est le domaine où j'ai dans les 4000 stations :/


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 23:16:26    

mieux vaut tard que jamais :d
 
ce foutu ftp de multimacrotte a fait des siennes :fou:
 
http://membres.lycos.fr/gggrrrreeeggg/notsukaw.gif


Message édité par --greg-- le 28-01-2003 à 23:16:41

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 28-01-2003 à 23:18:12    

Notsukaw a écrit :

Et ton annuaire contenait combien d'entrées ?
 
Parce qu'en fait, mon script tourne bien quand il y a moins de 500 références (moins d'une seconde aussi), mais ce qui me pose problème, c'est le domaine où j'ai dans les 4000 stations :/

si tu utilises le LDAP, c'est peut etre le bridge AD-LDAP qui rame (parce que je doute que AD soit implementé en LDAP directement :??:)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 28-01-2003 à 23:18:47    

:lol: kilécon cui-ci  :D


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 23:20:23    

--greg-- a écrit :

si tu utilises le LDAP, c'est peut etre le bridge AD-LDAP qui rame (parce que je doute que AD soit implementé en LDAP directement :??:)

Ouep, je pense aussi que le problème vient de là.
En fait l'active directory c'est du LDAP "surchargé".Microsoft à rajouté des dépendances, des objets, etc ...


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 23:28:14    

et les "filtres", la "requete" (ché pas trop comment ça marche l'ldap) t sur que c les memes dans tes 2 scripts...?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 28-01-2003 à 23:30:49    

Oué oué, j'ai vérifié.
Bon j'ai peut être encore une piste, au niveau de l'ADSI ...
J'ai encore jamais utilisé ça, mais bon, j'vais voir si j'arrive à exploiter cet objet COM.
 
Bonne nuit.
:hello:


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 28-01-2003 à 23:43:10    

Notsukaw a écrit :

Et ton annuaire contenait combien d'entrées ?
 
Parce qu'en fait, mon script tourne bien quand il y a moins de 500 références (moins d'une seconde aussi), mais ce qui me pose problème, c'est le domaine où j'ai dans les 4000 stations :/


 
cest l'annuaire des clients (infos client + parametre herbergement : site / mails ...) de france telecom hebergement pr les professionnels ... il y a quelques entrees dedans  :whistle:

Reply

Marsh Posté le 29-01-2003 à 13:15:41    

Hoplà, juste pour info, j'ai trouvé une solution qui marche du tonnerre :
 
au lieu de passer par des requêtes LDAP, j'utilise une connexion ADO, et là c'est carrément plus rapide, rien à voir !! :)
 
Voici une partie du code :

Code :
  1. /********************************************/
  2. /******* Instanciation de l'objet ADO *******/
  3. /********************************************/
  4. $dbc = new COM("ADODB.Connection" ) or die("Cannot start ADO" );
  5. // Connexion
  6. $dbc->Provider = "ADsDSOObject";
  7. $dbc->Open("", "$rootdn", "$rootpw" );
  8. $param=strtok($posteName,"-" );
  9. $rs = $dbc->Execute("<LDAP://$server/".$dn.">;(&(objectClass=computer)(cn=*$param*));cn,adspath;subTree" );
  10.         // Récupération des données
  11. $rs_fld0 = $rs->Fields(0);
  12. /********************************************/
  13.  $cpt=0;
  14.  while (!$rs->EOF) {
  15.      $tableau[$cpt]=$rs_fld0->value;
  16.      $rs->MoveNext(); /* updates fields! */
  17.   $cpt++;
  18.  }
  19.  sort($tableau);
  20.  $rs->Close();
  21.  $dbc->Close();


 
Donc voilà, maintenant vous êtes aware pour l'active directory, amusez-vous bien.
 
:hello:


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 29-01-2003 à 13:19:57    

Hoplà, juste pour info, j'ai trouvé une solution qui marche du tonnerre :
 
au lieu de passer par des requêtes LDAP, j'utilise une connexion ADO, et là c'est carrément plus rapide, rien à voir !! :)
 
Voici une partie du code :

Code :
  1. /********************************************/
  2. /******* Instanciation de l'objet ADO *******/
  3. /********************************************/
  4. $dbc = new COM("ADODB.Connection" ) or die("Cannot start ADO" );
  5. // Connexion
  6. $dbc->Provider = "ADsDSOObject";
  7. $dbc->Open("", "$rootdn", "$rootpw" );
  8.         // Traitement de mon paramètre pour cohérence avec les données de l'AD
  9. $param=strtok($posteName,"-" );
  10.         // Exécution de la requête
  11. $rs = $dbc->Execute("<LDAP://$server/".$dn.">;(&(objectClass=computer)(cn=*$param*));cn,adspath;subTree" );
  12.         // Récupération des données (autant de champs qu'il y en a dans l'AD, ici je récupère uniquement le premier)
  13. $rs_fld0 = $rs->Fields(0);
  14. /********************************************/
  15.  $cpt=0;
  16.  while (!$rs->EOF) {
  17.      $tableau[$cpt]=$rs_fld0->value;
  18.      $rs->MoveNext(); /* Déplacement du pointeur */
  19.   $cpt++;
  20.  }
  21.  sort($tableau);
  22.  $rs->Close();
  23.  $dbc->Close();


 
Donc voilà, maintenant vous êtes aware pour l'active directory, amusez-vous bien.
 
:hello:


Message édité par Notsukaw le 30-01-2003 à 11:59:19

---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 29-01-2003 à 13:21:27    

doublement awares meme  :pt1cable:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 29-01-2003 à 14:10:56    

(j'y connais rien en AD, et encore moins en COM...)
sous linux ça fct pas les com :(
il y a d'autres solutions ou bien pas ?

Reply

Marsh Posté le 29-01-2003 à 14:24:01    

sous linux tu ferais un server avec OpenLDAP et tu n'aurais pas besoin de com, le premier script dont il a parlé suffirait largement ...

Reply

Marsh Posté le 29-01-2003 à 17:42:15    

trictrac a écrit :

sous linux tu ferais un server avec OpenLDAP et tu n'aurais pas besoin de com, le premier script dont il a parlé suffirait largement ...


oui mais j'ai vu "rame atrocement" dans son message :(
donc linux=rame pour la gestion d'AD.
La solution est de passer sous windows et de travailler avec COM.
pas d'autre choix :(
(j'espère jamais travailler avec ça :lol:)

Reply

Marsh Posté le 29-01-2003 à 20:59:38    

:) interessant ça va me servir ds un avenir proche  :jap:  
 
Merci, continuez ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed