<%
Function RechercheUtilisateur(utilisateur, attribut)
'Déclaration des variables
Dim objConn, objRS
Dim Base, Filtre, Scope, Cmd
Dim ServeurAD, CompteAD, PwdAD, OU, DC, AttributFiltre
'Paramétrage
ServeurAD = "127.0.0.1" 'Machine hébergeant Active Directory
CompteAD = "DOMAINE\admin.ad" 'Utilisateur autorisé à interroger Active Directory
PwdAD = "********" 'Mot de passe de cet utilisateur
OU = "OU=Utilisateurs" 'OU à interroger
DC = "DC=domaine,DC=fr" 'DC à interroger
AttributFiltre = "sAMAccountName" 'Filtre de recherche de l'utilisateur
'Connexion à l'annuaire Active Directory
Set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Properties("User ID") = CompteAD
objConn.Properties("Password") = PwdAD
objConn.Properties("Encrypt Password") = true
objConn.Open
'Création de la requête
if attribut="" then
'Permet la recherche simple de l'utilisateur (sans recherche d'attribut)
attribut = "sAMAccountName"
end if
Base = "<LDAP://" & ServeurAD & "/" & OU & "," & DC & ">"
Filtre = "(" & AttributFiltre & "=" & utilisateur & ")"
Scope = "subtree"
Cmd = Base & ";" & Filtre & ";" & attribut & ";" & Scope
set objRS = Server.CreateObject("ADODB.Recordset")
set objRS = Conn.Execute(Cmd)
If objRS.RecordCount = 0 Then
'Aucun utilisateur trouvé
RechercheUtilisateur = false
Else
if IsNull(objRS(attribut)) then
'Utilisateur trouvé, attribut recherché vide
RechercheUtilisateur = "NULL"
else
if attribut="sAMAccountName" then
'Utilisateur trouvé, pas d'attribut recherché
RechercheUtilisateur = true
else
'Utilisateur trouvé, attribut recherché non-nul
RechercheUtilisateur = objRS(attribut)
end if
end if
End If
'Fermeture du recordset et de la connexion
objRS.Close
objConn.Close
End Function
%>
Exemple de recherche avec un attribut en paramètre :
<%
Response.Write "E-mail : " & RechercheUtilisateur("utilisateur.alpha", "mail")
%>
Résultat :
E-mail : utilisateur.alpha@domaine.fr
Exemple de recherche « simple » :
<%
Response.Write "Utilisateur existant : "
if RechercheUtilisateur("utilisateur.alpha","")=true then
Response.Write "oui"
else
Response.Write "non"
end if
%>
Résultat :
Utilisateur existant : oui
Publié le
24 juillet 2010 à 11:00 | Catégorie(s) :
ASP,
Windows |
1 commentaire
Decibel Audio Player est un lecteur audio pour Linux (sous environnement GNOME), écrit en Python. Léger et simple d’utilisation, il apporte tout le nécessaire à l’écoute de fichiers musicaux sur une machine, sans le superflu. Pas mal d’options sont présentes sous forme d’options dans le menu « Préférences », ce qui permet de n’activer que ce dont vous avez réellement besoin. Après avoir essayé bon nombre de lecteurs audio (Amarok, Listen, Exaile… et MOC !), j’ai finalement adopté Decibel depuis un ou deux ans.

LastFM est une sorte de « réseau social musical » : votre lecteur audio soumet au site la liste des titres que vous écoutez, ce qui permet de constituer au fil du temps des statistiques sur vos goûts musicaux. L’intérêt ? Pouvoir vous proposer des noms d’artistes pouvant correspondre à vos goûts, des concerts des artistes que vous écoutez régulièrement, découvrir vos affinités musicales avec d’autres utilisateurs… et pouvoir écouter légalement des extraits de beaucoup d’albums. Bref, pour ceux qui écoutent beaucoup de musique, fréquentent de temps à autres les salles de concert et recherchent des nouveautés, LastFM est le site qu’il vous faut.
Vous pouvez visiter mon profil LastFM pour avoir un aperçu des fonctionnalités.

La transmission à LastFM de vos données d’écoute porte un nom bien spécifique : le scrobbling. C’est cette fonctionnalité là qui pose problème à Decibel : au moins de quelques temps d’utilisation (un mois, six mois, voire plus…), l’outil de scrobbling ne fonctionne plus : si vous consultez votre page LastFM, vous vous apercevez que seul le titre actuellement écouté apparaît, et que plus aucun titre n’est conservé dans l’historique. Bref, à part afficher le titre en cours, votre profil LastFM ne bouge plus d’un poil.
Le problème est en fait lié aux ID3 tags de certains titres, comportant des caractères non acceptés par LastFM qui refuse alors la soumission ; le titre reste donc en cache (fichier ~/.config/decibel-audio-player/audioscrobbler-cache.txt), et les titres joués à la suite y restent également bloqués.
Dans mon cas, voici le nom d’artiste du premier titre présent en cache :
a[*]=%44%65%76%69%6E%20%54%6F%77%6E%73%65%6E%64%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0
Ce qui nous donne, une fois converti, le nom d’artiste suivant :
a[*]=Devin Townsend\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
Les caractères « \0 » empêchent la soumission du titre auprès de LastFM. Il faut donc supprimer du fichier toute ligne « mal formatée » pour que le cache puisse être soumis à nouveau et que le scrobbling retrouve son comportement normal.
Il est possible aussi de tout simplement supprimer le fichier de cache, si vous souhaitez faire simple :
user@machine:~$ rm -rf ~/.config/decibel-audio-player/audioscrobbler-cache.txt
Le bug a été signalé au développeur de Decibel, qui a réglé le problème dans la version « trunk ». Il devrait donc être corrigé dans la version 1.06 du logiciel.
Publié le
10 juillet 2010 à 17:00 | Catégorie(s) :
Decibel Audio Player,
LastFM,
Linux |
Aucun commentaire
Une petite piqûre de rappel sur la façon dont se connecter à une instance Oracle sous Linux, afin de tordre le cou au sacro-saint sqlplus identifiant/motdepasse@instance …
[ora102@bddhost]# sqlplus SYSTEM/manager@XE
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jun 8 10:49:35 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL>
Ouvrons un autre terminal, et voyons ce qui se passe lors d’une commande ps :
[root@bddhost]# ps -ef | grep sqlplus | grep -v grep
root 9207 9193 0 10:49 pts/0 00:00:00 sqlplus SYSTEM/manager@XE
root 9208 9207 0 10:49 pts/1 00:00:00 sqlplus
Plutôt gênant, non ?
Une bonne pratique est l’utilisation de l’option /nolog :
[ora102@bddhost]# sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jun 8 10:53:48 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect SYSTEM/manager@XE
Connected.
SQL>
Le résultat de la commande ps :
[root@bddhost]# ps -ef | grep sqlplus | grep -v grep
root 9314 9193 0 10:53 pts/0 00:00:00 sqlplus /nolog
root 9315 9314 0 10:53 pts/1 00:00:00 sqlplus
C’est mieux !
Enfin, pour une utilisation hors scripts, il vaut mieux éviter de saisir de cette façon son mot de passe et privilégier la solution suivante :
[ora102@bddhost]# sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jun 8 10:56:55 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect SYSTEM@XE
Enter password: *******
Connected.
SQL>
Publié le
29 juin 2010 à 10:00 | Catégorie(s) :
Oracle |
Aucun commentaire
Ces petites commandes méritent à être retenues, pour gagner du temps le jour où on est confronté au problème… et que l’on a pas Google sous la main !
Prenons un fichier test.txt qui nous servira d’exemple :
[root@pc-linux]# cat test.txt
test 1
test 2
test 3
test 4
test 5
test 6
test 7
Avec sed :
[root@pc-linux]# sed '/^$/D' test.txt
test 1
test 2
test 3
test 4
test 5
test 6
test 7
Avec awk :
[root@pc-linux]# awk NF test.txt
test 1
test 2
test 3
test 4
test 5
test 6
test 7
Variante :
[root@pc-linux]# awk '/./' test.txt
test 1
test 2
test 3
test 4
test 5
test 6
test 7
Sans awk ni sed :
[root@pc-linux]# cat test.txt | grep '.'
test 1
test 2
test 3
test 4
test 5
test 6
test 7
Variante :
[root@pc-linux]# cat test.txt | grep -v '^$'
test 1
test 2
test 3
test 4
test 5
test 6
test 7
Publié le
13 juin 2010 à 10:00 | Catégorie(s) :
Linux |
Aucun commentaire
Aussi curieux que cela puisse paraître, il n’y a pas de solution graphique utilisable pour cacher un utilisateur dans la fenêtre de connexion GNOME.
Imaginons que nous voulions cacher le compte « toto ». Dans le fichier /etc/gdm/gdm.schemas, repérez les lignes suivantes :
<schema>
<key>greeter/Exclude</key>
<signature>s</signature>
<default>bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp</default>
</schema>
Ajoutez « toto » à la liste existante :
<schema>
<key>greeter/Exclude</key>
<signature>s</signature>
<default>toto,bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp</default>
</schema>
Au redémarrage de GDM, toto n’apparaîtra plus dans la liste des utilisateurs.
Pour des raisons de lisibilité, la liste des utilisateurs entre les balises a été tronquée.
Publié le
1 juin 2010 à 10:30 | Catégorie(s) :
Linux |
Aucun commentaire