Exemple d’application utilisant jQuery Mobile et PhoneGap
Voici une application simple, construite en utilisant jQuery Mobile et PhoneGap.
Même si l’application est simple, elle couvre certaines exigences communes des applications mobiles: accès base de données grâce à des services JSON, multi-niveaux vues maître-détail, le passage de paramètres entre les vues, etc…
Vous pouvez jouer avec l’application ou télécharger le code source ci-dessous et le construire pour différentes plates-formes mobiles (utilisant les outils de PhoneGap sur http://build.phonegap.com ).
VirtualBox-AOSP : testez avec Android
VirtualBox-AOSP
This page is now deprecated – please visit the “Buildroid for VirtualBox” page.
This page is dedicated to VirtualBox support in Android, beginning with Ice Cream Sandwich (4.0.x). You’ll find here information on how to use my pre-built Android images for VirtualBox and, more interesting, how to build your own image starting with the AOSP project.
Pre-built image installation
If not already done, you first have to install VirtualBox on your system. On my side, I’m currently using VirtualBox 4.1.6 (r74713) on a Windows 7 32bit system ; please report if the prebuilt images don’t work on some environments. You can download the latest version of VirtualBox for different OS here.
Then you can download one of the OVA file :
- Android-4.0.1_bd1.ova
- Android-4.0.3_bd1.ova [ Release notes here ]
- Android-4.0.3_bd2a.ova [ Release notes here ]
tracker avec Google Analytics en php
sources :
https://developers.google.com/analytics/solutions/articles/hello-analytics-api
http://code.google.com/p/php-ga/
Server-Side Google Analytics PHP Client
« ga.js in PHP » – Implementation of a generic server-side Google Analytics client in PHP that implements nearly every parameter and tracking feature of the original GA Javascript client. |
We love Google Analytics and want to contribute to its community with this PHP client implementation. It is intended to be used stand-alone or in addition to an existing Javascript library implementation.
It’s PHP, but porting it to e.g. Ruby or Python should be easy. Building this library involved weeks of documentation reading, googling and testing – therefore its source code is thorougly well-documented.
The PHP client has nothing todo with the Data Export or Management APIs, although you can of course use them in combination.
Drush | drupal.org
Installation :
Install/Update – Unix/OSX
The easiest way to install the latest release of Drush on Unix/Linux systems is via our custom PEAR channel. (See below for Windows-specific instructions)
pear channel-discover pear.drush.org
pear install drush/drush
Tip: Use sudo
to overcome permission problems. If the channel-discover fails, try running the following sequence of commands:
pear upgrade --force Console_Getopt
pear upgrade --force pear
pear upgrade-all
To update, run pear upgrade drush/drush
To get alternate drush versions, replace that last line with one of the below that matches your fancy.
pear install drush/drush-4.6.0
pear install drush/drush-5.0.0
- If you are using Debian or Ubuntu, you can alternatively use the Debian packages uploaded in your distribution. You may need to use the backports to get the latest version, if you are running a LTS or « stable » release.
- For advice on using Drush with your ISP, see the hosting section of the Resources page on drush.org.
Mise en route :
se mettre dans dossier
#cd /var/www
drush status
drush version
ou drush tout court pour avoir les commandes.
==========================================
activer un module
drush en devel
/var/www/d7# pear channel-discover pear.firephp.org
Adding Channel « pear.firephp.org » succeeded
Discovery of channel « pear.firephp.org » succeeded
/var/www/d7# pear install firephp/FirePHPCore
downloading FirePHPCore-0.3.2.tgz …
Starting to download FirePHPCore-0.3.2.tgz (25,019 bytes)
………done: 25,019 bytes
install ok: channel://pear.firephp.org/FirePHPCore-0.3.2
créez éventuellement le lien symbolique ensuite :
ln -s /usr/share/php/FirePHPCore FirePHPCore
=====================================
Générer ensuite des vocabulaires
drush genv 20 « livres »
Generated 20 vocabularies. [success]
Created the following new vocabularies: tijospoh [status]
drepros
weuiwrabrac
chumuchaf
joclejuwran
trujereth
bafru
sluthespaspi
dr
spudofrelip
uocloh
jedrutigabe
mothudromi
wrute
jubiuepiluf
crug
jaclilethahu
setoveb
chathuk
his
============================
générer du contenu :
drush en devel*
Coffee | drupal.org : un excellent module pour retrouver l’admin
Comme Spotlight ou Alfred sou mac :
cela permet une recherche ultra rapide dans les pages d’administration du site, en proposant notamment une auto-complétion très efficace et l’ajout de nouveaux nodes en un clin d’œil.
Howto Restart Apache : Redémarrez Apache
Si vous avez apporté des modifications à la configuration Apache httpd.conf ou l’un des autres fichiers de configuration tels que les fichiers vhosts.d, vous devez recharger le service Apache pour que les modifications prennent effet.
Test de la config apache :
/usr/sbin/apachectl configtest
autre commande interessante : Redemarrage de apache en laissant les connexions en cours se terminer.
/usr/sbin/apachectl graceful
necessite les droits de root
Si Apache n’est pas déjà en cours d’exécution, il sera lancé.
Si apache est déjà en cours d’exécution alors il se rechargera avec les nouveaux changements, mais ne sera pas coupera pas les connexions actives, ce qui signifie que toute personne qui se trouve au milieu d’un téléchargement va continuer à être en mesure de le télécharger.
25 outils de supervision pour Linux | .: bordel-de-nerd :.
La supervision consiste à indiquer et à commander l’état d’un appel, d’un système ou d’un réseau. Les solutions de supervision permettent de remonter des informations techniques et fonctionnelles du système d’information.
Sous Linux il existe une multitude d’outils ayant cette vocation, cette liste ne se veut pas exhaustive mais à pour but de recenser les commandes les plus utiles qui vous permettrons de garantir la disponibilité et les niveaux de service du système en cas de panne ou de dégradation des performances et également de tenter de prévenir en cas de problème et, le cas échéant, garantir une remontée d’information rapide et une durée d’intervention minimale.
- 1 – top (affiche la liste des process)
Affiche des informations sur les processus en cours d’exécution
Exemple :
top - 23:57:26 up 3 days, 2:53, 3 users, load average: 0.00, 0.05, 0.06 Tasks: 221 total, 1 running, 220 sleeping, 0 stopped, 0 zombie Cpu(s): 1.0%us, 0.7%sy, 0.0%ni, 98.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4054460k total, 3653468k used, 400992k free, 203804k buffers Swap: 9791608k total, 26984k used, 9764624k free, 2215916k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9058 jlaunay 20 0 563m 67m 41m S 3 1.7 2:58.32 kwin 9185 jlaunay 20 0 414m 34m 17m S 2 0.9 1:26.80 konsole 8935 root 20 0 154m 75m 16m S 2 1.9 4:54.16 X 9205 jlaunay 20 0 533m 86m 36m S 2 2.2 3:37.03 python 9392 jlaunay 20 0 438m 48m 20m S 2 1.2 3:39.12 choqok 9647 jlaunay 20 0 494m 56m 25m S 2 1.4 3:27.97 akregator 10273 jlaunay 20 0 580m 52m 29m S 2 1.3 2:59.34 kmail 16883 jlaunay 20 0 410m 66m 27m S 2 1.7 1:08.95 ark
- 2 – htop (affichage interactif des process)
Tout comme le fait top, htop donne des statistiques sur les processus en cours d’éxecution mais avec une interface ncurses interactive.
- 3 – powertop (identifier les processus « gourmands »)
Cet outil ne fonctionne qu’avec les processeurs intel et permet d’augmenter la durée de vie de la batterie d’un portable en identifiant les applications et/ou modes qui sollicitent le plus le processeur.
Exemple : (top doit être lancé en root en parallèle)
< Les informations détaillées sur les P-states (fréquences) 2,40 GHz 100,0% 1,60 GHz 0,0% Réveils depuis l'état de repos par seconde : 176,1 intervalle : 10,0s Pas d'estimation ACPI disponible pour la consommation électrique Principales causes de réveils : 28,6% (220,2) <cœur du noyau> : hrtimer_start_range_ns (tick_sched_timer) 18,0% (138,6) firefox : hrtimer_start_range_ns (hrtimer_wakeup) 8,0% ( 62,0) <interruption> : ahci, uhci_hcd:usb3, firewire_ohci, nvidia 5,7% ( 44,1) <interruption> : ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8 5,7% ( 44,1) Périphérique USB 8-1 : Dell USB Optical Mouse (Dell) 3,7% ( 28,3) konsole : hrtimer_start_range_ns (hrtimer_wakeup) 3,4% ( 26,3) Périphérique USB 2-1 : Android Phone (HTC) 3,4% ( 26,1) akregator : hrtimer_start_range_ns (hrtimer_wakeup) 2,8% ( 21,5) <interruption> : ehci_hcd:usb2, uhci_hcd:usb6 2,7% ( 21,0) python : hrtimer_start_range_ns (hrtimer_wakeup) 2,6% ( 20,4) kmail : hrtimer_start_range_ns (hrtimer_wakeup) 2,6% ( 20,0) ark : hrtimer_start_range_ns (hrtimer_wakeup) 2,6% ( 20,0) choqok : hrtimer_start_range_ns (hrtimer_wakeup) 2,0% ( 15,5) <interruption> : pata_jmicron Suggestion : activez la politique « ondemand » de contrôle de la vitesse CPU pour tout les processeurs avec la commande suivante : echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor Q - Quitter R - Rafraîchir O - Activer la politique CPU « ondeman
- 4 – kill (terminer un processus par son PID)
Kill est un outils très simple d’utilisation qui permet de tuer un processus lorsque l’on connait son PID.
Exemple :
jlaunay@arch-desktop:~[00:15:51] #87 $ps ax | grep kate 19601 ? S 0:02 kdeinit4: kate [kdeinit] -b 20004 pts/4 S+ 0:00 grep --color=tty -d skip kate jlaunay@arch-desktop:~[00:15:57] #88 $kill -9 19601
- 5 – killall (terminer un processus par son nom)
Killall tout comme kill permet de tuer un processus mais sans connaitre son PID, on utilise ici le nom du process.
Exemple :
jlaunay@arch-desktop:~[00:16:06] #89 $killall -9 kate
- 6 – ftptop (liste des connexions au serveur FTP)
Ftptop est un outil simple qui permet de lister les connexions au serveur FTP qui sont actives.
Exemple :
ftptop/0.9: Sun May 23 00:22:50 2010, up for 21 days, 17 hrs 30 min 1 Total FTP Sessions: 0 downloading, 0 uploading, 1 idle PID S USER CLIENT SERVER TIME COMMAND 18800 I jlaunay 212-xxx-72-xxx.rev.n 94.xx.xxx.6:21 0m28s idle
- 7 – mtop (liste des connexions au serveur MySQL)
A la manière de ftptop, mtop est un outil simple qui permet de lister les connexions au serveur MySQL qui sont actives.
Exemple :
load average: 0.06, 0.02, 0.00 mysqld 5.0.51a-24+lenny3 up 79 day(s), 13:56 hrs 10 threads: 1 running, 5 cached. Queries/slow: 16.5M/0 Cache Hit: 99.28% Opened tables: 0 RRN: 995 TLW: 191 SFJ: 0 SMP: 0 QPS: 0 ID USER HOST DB TIME COMMAND STATE INFO 214889 root localhost Query show full processlist
- 8 – apachetop (liste des connexions au serveur Web Apache)
Pour continuer dans le monitoring d’application serveurs voici apachtop qui comme son nom l’indique permet de donner des statistiques sur l’utilisation du serveur Web Apache.
Exemple :
last hit: 00:00:00 atop runtime: 0 days, 00:00:35 22:27:13 All: 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req 2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) R ( 30s): 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req 2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
- 9 – free (informations sur la mémoire)
Free est une commande qui permet de derterminer le pourcentage de mémoire utilisée et libre sur votre système.
Exemple :
jlaunay@arch-desktop:~[00:30:27] #93 $free -t total used free shared buffers cached Mem: 3959 3633 326 0 205 2197 -/+ buffers/cache: 1230 2729 Swap: 9562 26 9535 Total: 13521 3659 9862
- 10 – df (utilisation de l’espace disque)
Df est un outil simple qui permet de vérifier l’espace disponible sur les disques.
Exemple :
jlaunay@arch-desktop:~[00:31:01] #95 $df -h Sys. de fichiers Taille Uti. Disp. Uti% Monté sur /dev/sda1 233G 12G 210G 6% / udev 10M 248K 9,8M 3% /dev none 2,0G 0 2,0G 0% /dev/shm /dev/sda2 217G 120G 87G 58% /home /dev/sdb1 459G 198M 435G 1% /mnt/sdb /dev/sdc1 466G 215G 252G 47% /media/Expansion Drive
- 11 – du (utilisation de l’espace disque par fichiers ou répertoires)
Du donne des statistiques sur la taille d’un répertoire et/ou fichier.
Exemple :
jlaunay@arch-desktop:~[00:35:15] #100 $sudo du -sh /opt Mot de passe : 1,2G /opt
- 12 – w (informations sur les utilisateurs loggés)
W est comme who (mais en plus complet) une commande qui donne des informations relatives aux utilisateurs connectés et à ce qu’ils font.
Exemple :
jlaunay@arch-desktop:~[00:35:21] #101 $w 00:35:49 up 3 days, 3:31, 3 users, load average: 0,08, 0,04, 0,04 USER TTY LOGIN@ IDLE JCPU PCPU WHAT root tty1 Wed23 24:27m 0.31s 0.31s -bash jlaunay :0 20:49 ?xdm? 49:01 0.30s /bin/sh /usr/bin/startkde jlaunay pts/0 20:49 3:46m 0.00s 0.00s /usr/bin/kwrited
- 13 – finger (informations sur les utilisateurs connectés)
Tout comme w et who finger donne des statistiques sur les utilisateurs connectés sur le système.
Exemple :
jlaunay@arch-desktop:~[00:35:49] #102 $finger -l Login: root Name: root Directory: /root Shell: /bin/bash On since Wed May 19 23:43 (CEST) on tty1 1 day idle (messages off) No mail. No Plan. Login: jlaunay Name: (null) Directory: /home/jlaunay Shell: /bin/bash On since Sat May 22 20:49 (CEST) on :0 (messages off) On since Sat May 22 20:49 (CEST) on pts/0 from :0 3 hours 47 minutes idle No mail. No Plan.
- 14 – ps (affiche les processus en cours d’exécution)
Ps permet de vérifier en temps réel les processus en cours d’exécution.
Exemple :
jlaunay@arch-desktop:~[00:40:02] #104 $ps auwx | tail jlaunay 20469 0.0 0.0 10556 1188 pts/1 R+ 00:40 0:00 ps auwx jlaunay 20470 0.0 0.0 6292 884 pts/1 S+ 00:40 0:00 tail jlaunay 20471 0.0 0.0 10556 1184 pts/4 R+ 00:40 0:00 ps auwx jlaunay 20472 0.0 0.0 6292 880 pts/4 S+ 00:40 0:00 tail root 24983 0.0 0.0 0 0 ? S May22 0:00 [scsi_eh_12] root 24984 0.0 0.0 0 0 ? S May22 0:04 [usb-storage] root 25008 0.0 0.0 24268 1240 ? S May22 0:01 hald-addon-storage: polling /dev/sdd (every 2 sec) privoxy 26798 0.0 0.0 118212 2500 ? Ss May22 0:00 /usr/sbin/privoxy --user privoxy privoxy --pidfile /var/run/privoxy.pid /etc/privoxy/config root 27761 0.0 0.0 20852 1744 tty1 S+ May20 0:00 -bash root 27853 0.0 0.0 28604 528 ? Ss May20 0:00 /usr/bin/kdm
- 15 – pidof (trouver l’ID d’un processus en cours d’exécution)
Pidof est un outil très simple mais fort utile qui permet de travailler avec un processus sans pour autant connaitre son PID.
Exemple :
jlaunay@arch-desktop:~[00:43:44] #105 $killall -9 `pidof kate`
- 16 – iostat ( statistiques sur le CPU, les I/O diques)
Iostat est un outil de la suite sysstat qui sort des statistiques sur les entrée/sortie des disques et CPU.
Exemple :
jlaunay@arch-desktop:~[00:47:19] #105 $iostat -c Linux 2.6.33-ARCH (arch-desktop) 23/05/2010 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 2,81 0,33 1,65 0,79 0,00 94,42
- 17 – netstat ( statistiques sur l’utilisation réseau)
Outil qui permet la supervision du réseau, routage, interfaces, connexions réseau etc…
Exemple :
jlaunay@arch-desktop:~[00:47:25] #106 $netstat -a |grep LISTEN tcp 0 0 localhost.localdom:7080 *:* LISTEN tcp 0 0 *:5801 *:* LISTEN tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:5901 *:* LISTEN tcp 0 0 *:x11-1 *:* LISTEN tcp 0 0 localhost.localdom:8118 *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:www *:* LISTEN tcp 0 0 *:x11-1 *:* LISTEN
- 18 – watch (surveille un processus de notre choix)
Watch permet d’exécuter une commande périodiquement et d’en afficher la sortie, très utile pour la supervision.
Exemple :
jlaunay@arch-desktop:~[00:53:03] #113 $watch "dmesg |tail"
Every 2,0s: dmesg |tail Sun May 23 00:52:47 2010 usb 2-1: new high speed USB device using ehci_hcd and address 9 scsi12 : usb-storage 2-1:1.0 scsi 12:0:0:0: Direct-Access HTC Android Phone 0100 PQ: 0 ANSI: 2 sd 12:0:0:0: Attached scsi generic sg5 type 0 sd 12:0:0:0: [sdd] Attached SCSI removable disk ip_tables: (C) 2000-2006 Netfilter Core Team virtuoso-t[9091]: segfault at ffffffffffffffff ip 000000000079c0df sp 00007fffff1a30f0 error 6 in virt uoso-t[400000+8c0000] ndiswrapper version 1.56 loaded (smp=yes, preempt=yes) usbcore: registered new interface driver ndiswrapper
- 19 – mpstat (Statisitques multi processeurs)
Mpstat est un outil de supervision multi processeurs.
Exemple :
$mpstat -P ALL Linux 2.6.33-ARCH (arch-desktop) 23/05/2010 _x86_64_ (4 CPU) 00:56:47 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 00:56:47 all 2,81 0,33 1,61 0,79 0,01 0,02 0,00 0,00 94,42 00:56:47 0 3,00 0,18 1,63 0,99 0,02 0,03 0,00 0,00 94,15 00:56:47 1 2,80 0,45 1,66 0,62 0,01 0,02 0,00 0,00 94,44 00:56:47 2 2,85 0,20 1,54 0,95 0,01 0,02 0,00 0,00 94,43 00:56:47 3 2,62 0,48 1,62 0,59 0,01 0,01 0,00 0,00 94,67
- 20 – ifstat (statistiques sur les interfaces)
Ifstat nous informe sur l’utilisation de la bande passante.
Exemple :
$ifstat eth0 ham0 KB/s in KB/s out KB/s in KB/s out 5.01 1.94 0.00 0.00 94.95 6.59 0.00 0.00 9.50 2.87 0.00 0.00 7.76 2.34 0.00 0.00 29.87 3.84 0.00 0.00 38.95 3.79 0.00 0.00 8.22 3.10 0.08 0.06 21.43 3.13 0.00 0.00 18.73 3.38 0.00 0.00 15.21 2.64 0.00 0.00 14.52 3.19 0.00 0.00 20.00 3.13 0.00 0.00 77.97 6.03 0.00 0.00
- 21 – lsof (stats sur les fichiers ouverts)
Lsof est un outil très complet qui permet d’obtenir des stats sur les fichiers ouverts par un périphérique ou aussi une adresse ou un port, voir les deux exemples ci-dessous.
Exemple :
jlaunay@arch-desktop:~[01:03:49] #120 $lsof /dev/sdc1 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mplayer 21138 jlaunay 3r REG 8,33 729574543 275500 /media/Expansion Drive/VIDEOS/INFO/Can_You_Hack_It.mp4 jlaunay@arch-desktop:~[01:04:10] #121 $lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME apache2 4088 root 3u IPv4 20354343 TCP *:www (LISTEN) apache2 12782 www-data 3u IPv4 20354343 TCP *:www (LISTEN) apache2 15519 www-data 3u IPv4 20354343 TCP *:www (LISTEN)
- 22 – pmap (stats sur la mémoire d’un process)
Pmap affiche l’adressage de la mémoire d’un processus.
Exemple :
$pmap -d `pidof firefox` 9227: /usr/bin/firefox Address Kbytes Mode Offset Device Mapping 0000000000400000 80 r-x-- 0000000000000000 008:00001 firefox 0000000000614000 4 rw--- 0000000000014000 008:00001 firefox 0000000000615000 4 rw--- 0000000000000000 000:00000 [ anon ] 00007f3061f00000 1024 rw--- 0000000000000000 000:00000 [ anon ] 00007f30633fd000 4 ----- 0000000000000000 000:00000 [ anon ] 00007f309ca00000 1024 rw--- 0000000000000000 000:00000 [ anon ] 00007f309cb22000 108 r--s- 0000000000000000 008:00001 mime.cache 00007f309cb3d000 136 r---- 0000000000000000 008:00001 verdanab.ttf 00007f309cb5f000 384 rw-s- 0000000000000000 000:00004 [ shmid=0x3a50003 ] 00007f309cbbf000 1280 r---- 0000000000000000 008:00002 adblockplus.jar 00007f30a46fd000 12 r-x-- 0000000000000000 008:00001 libxcb-atom.so.1.0.0 00007f30a4700000 2048 ----- 0000000000003000 008:00001 libxcb-atom.so.1.0.0 00007f30a4900000 4 rw--- 0000000000003000 008:00001 libxcb-atom.so.1.0.0 00007f30a4901000 12 r-x-- 0000000000000000 008:00001 libxcb-event.so.1.0.0 00007f30a4904000 2048 ----- 0000000000003000 008:00001 libxcb-event.so.1.0.0 00007f30a4b04000 4 rw--- 0000000000003000 008:00001 libxcb-event.so.1.0.0 00007f30a4b05000 8 r-x-- 0000000000000000 008:00001 libxcb-aux.so.0.0.0 00007f30a4b07000 2048 ----- 0000000000002000 008:00001 libxcb-aux.so.0.0.0 00007f30a4d07000 4 rw--- 0000000000002000 008:00001 libxcb-aux.so.0.0.0
- 23 – uptime (stats sur l’uptime de la machine)
Uptime est une commande très simple qui nous renseigne sur le temps écoulé depuis le dernier reboot de la machine.
Exemple :
root@ks30XXX2:/home/jerome[01:16:56] #61 $uptime 01:17:54 up 109 days, 13:08, 1 user, load average: 0.02, 0.02, 0.00
- 24 – vmstat (informations sur l’utilisation de la mémoire virtuelle)
Vmstat permet de vérifier l’utilisation du swap.
Exemple :
jlaunay@arch-desktop:~[01:18:09] #129 $vmstat 5 5 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 1 26984 624176 268960 1834356 0 0 60 83 8 5 3 2 94 1 1 0 26984 623936 268972 1834372 0 0 0 70 619 1155 3 1 96 0 1 0 26984 623936 268976 1834372 0 0 0 19 570 1000 2 1 97 0 1 0 26984 623936 268984 1834376 0 0 0 13 553 1062 2 1 97 0 2 0 26984 623796 269000 1834380 0 0 0 17 639 1519 3 1 95 0
- 25 – dstat (analyse des performances du système)
dstat est un outil de monitoring du système très complet qui a lui seul regroupe les fonctions de iostat, vmstat, netstat et bien plus.
Exemple :
jlaunay@arch-desktop:~[01:16:30] #127 $dstat --noheaders -T --output dstat-export.csv -afv Terminal width too small, trimming output. --epoch--- --dsk/fd0-----dsk/sda-----dsk/sdb-----dsk/sdc-- --net/eth0----net/ham0- ---paging--> epoch | read writ: read writ: read writ: read writ| recv send: recv send| in out > 1274570197| 0 0 : 212k 335k: 5B 0 : 25k 2675B| 0 0 : 0 0 | 97B 200B> 1274570198| 0 0 :1296k 376k: 0 0 : 0 0 |1274B 330B: 0 0 | 0 0 > 1274570199| 0 0 :1528k 76k: 0 0 : 0 0 | 936B 264B: 0 0 | 0 0 > 1274570200| 0 0 :1664k 0 : 0 0 : 0 0 | 0 94B: 0 0 | 0 0 > 1274570201| 0 0 :1892k 0 : 0 0 : 0 0 | 0 66B: 0 0 | 0 0 > 1274570202| 0 0 :1592k 0 : 0 0 : 0 0 | 0 816B: 0 529B| 0 0 > 1274570203| 0 0 :2292k 680k: 0 0 : 0 0 | 0 66B: 0 0 | 0 0 > 1274570204| 0 0 :1440k 0 : 0 0 : 0 0 | 0 0 : 0 0 | 0 0 > 1274570205| 0 0 :1092k 16k: 0 0 : 0 0 |3105B 1286B: 0 0 | 0 0 > 1274570206| 0 0 :1012k 0 : 0 0 : 0 0 | 0 0 : 0 0 | 0 0 > 1274570207| 0 0 : 32k 1752k: 0 0 : 0 0 | 0 0 : 0 0 | 0 0 > 1274570208| 0 0 : 0 684k: 0 0 : 0 0 | 0 222B: 0 0 | 0 0 > 1274570209| 0 0 : 0 0 : 0 0 : 0 0 | 0 66B: 0 0 | 0 0 > 1274570210| 0 0 : 0 0 : 0 0 : 0 0 | 66B 184B: 0 0 | 0 0 > 1274570211| 0 0 : 0 16k: 0 0 : 0 0 | 0 0 : 0 0 | 0 0 > 1274570212| 0 0 : 0 0 : 0 0 : 0 0 | 0 66B: 0 0 | 0 0 > 1274570213| 0 0 : 0 420k: 0 0 : 0 0 | 0 0 : 0 0 | 0 0 > 1274570214| 0 0 : 56k 28k: 0 0 : 0 0 | 0 222B: 0 0 | 0 0 >Chacun des outils présentés ci-dessus offre beaucoup plus d’options que celles données en exemple de plus je ne rentre absolument pas dans le détail et il est possible de faire beaucoup plus de choses avec ces programmes.
Il vous est donc conseillé de consulter la page de man avant l’utilisation d’une de ces commandes.
Si ces outils ne suffisent pas ou que vous n’êtes pas fan de la ligne de commande il faudra alors opter pour un programme de supervision qui utilise snmp pour le réseau et RRDTool pour les graphs (Nagios, Cacti etc…).
Enfin si vous connaissez d’autres outils de supervision/monitoring utiles et pratiques que j’aurais pu oublier dans cet article n’hésitez pas à m’en faire part dans les commentaires.
via 25 outils de supervision pour Linux | .: bordel-de-nerd :..
Solr PHP Solarium et Solr_Php
classes clientes Solr en php
http://www.ayalon.ch/en/code-samples/solr-php-client-example
https://issues.apache.org/jira/browse/SOLR-51
#sudo apt-get install libcurl4-gnutls-dev
#sudo apt-get install libxml2
#sudo apt-get install libxml2-dev
tar -xvf solr-0.9.11.tgz
Build Solr and install it:
cd solr-0.9.11
phpize
./configure
make
make install
ajouter la ligne dans le fichier « solr.ini » : extension=solr.so
Solr Extension Version 1.0.1
Solr Extension Revision Id $Revision: 311799 $
Last Build Date Sep 25 2012
Last Build Time 16:09:21
SolrObject enabled
SolrDocument enabled
SolrDocumentField enabled
SolrInputDocument enabled
SolrClient enabled
SolrParams enabled
SolrQuery enabled
SolrModifiableParams enabled
SolrResponse enabled
SolrQueryResponse enabled
SolrUpdateResponse enabled
SolrPingResponse enabled
SolrGenericResponse enabled
SolrUtils enabled
SolrException enabled
SolrIllegalOperationException enabled
SolrIllegalArgumentException enabled
SolrClientException enabled
‘hostname’ => « 127.0.0.1 »,
// ‘login’ => SOLR_SERVER_USERNAME,
// ‘password’ => SOLR_SERVER_PASSWORD,
‘port’ => 8080,
‘path’ => « /solr4.0.0.beta/collection »,
// ‘wt’ =>SOLR_PHP_NATIVE_RESPONSE_WRITER
);
$client = new SolrClient($options);
for($i=0;$i<100;$i++){
$doc = new SolrInputDocument();
$doc->addField(‘id’, rand(99999999999,100000000000000000));
$doc->addField(‘cat’, ‘Software’);
$doc->addField(‘cat’, ‘Lucene’);
$updateResponse = $client->addDocument($doc);
}
Installation de Munin sur Debian 6.0 – sorrodje.alter-it.org
Installation de Munin sur Debian 6.0 – sorrodje.alter-it.org.
gestion des access
Installation de Munin sur Debian 6.0 – sorrodje.alter-it.org
Installation de Munin sur Debian 6.0 – sorrodje.alter-it.org.
gestion des access
Faceted Search with Solr
Faceted search has become a critical feature for enhancing findability and the user search experience for all types of search applications. In this article, Solr creator Yonik Seeley gives an introduction to faceted search with Solr.
By Yonik Seeley
Faceted search is the dynamic clustering of items or search results into categories that let users drill into search results (or even skip searching entirely) by any value in any field. Each facet displayed also shows the number of hits within the search that match that category. Users can then « drill down » by applying specific contstraints to the search results. Faceted search is also called faceted browsing, faceted navigation, guided navigation and sometimes parametric search.
It’s easiest to understand what faceted search is through an example, appropriately from CNET Reviews, the first website to use Solr even before it had been contributed to Apache by CNET.
This example is actually faceted browsing because it started with all digital cameras and not a user search. Manufactuter is a facet of these search results, and the facet constraints or facet values for this facet include Canon USA, Sony, and Nikon. A previous screen also included Price and Digital camera type facets, but they are no longer displayed because we already selected the $400-$500 and SLR constraints from those facets. Due to those constraints, the resulting facet counts and camera listings reflect only digital SLR cameras between $400 and $500 in price. Any of the displayed facet constraints can be clicked to drill down and further narrow the search results by that constraint. Applied constraints can be removed by clicking on them within the breadcrumb trail.
Faceted search provides an effective way to allow users to refine search results, continually drilling down until the desired items are found. The benefits include
-
Superior feedback – users can see at a glance a summary of the search results and how those results break down by different criteria.
-
No surprises or dead ends – users know how many results match before they click. Values with zero counts are normally removed to reduce visual noise and eliminate the possibility of a user accidentally selecting a constraint that would lead to no results.
-
No selection hierarchy is imposed – users are generally free to add or remove constraints in any order.
It’s relatively simple to get faceting information from Solr, as there are few prerequisites. Solr offers the following types of faceting, all of which can be requested with no prior configuration:
-
Field faceting – retrieve the counts for all terms, or just the top terms in any given field. The field must be indexed.
-
Query faceting – return the number of documents in the current search results that also match the given query.
-
Date faceting – return the number of documents that fall within certain date ranges.
Faceting commands are added to any normal Solr query request, and the faceting counts come back in the same query response. If you are not familiar with the details of making requests in Solr, see the tutorial.
To implement the Manufacturer facet, I send a field faceting command to Solr. This example assumes a field named « manu » exists in the schema and that it has the manufacturer indexed as a single token. The « string » type in the Solr schema is an appropriate field type to meet these needs.
Let’s assume for a moment that the user typed « camera » into the search box. The Solr query to retrieve the top « camera » matches would be:
http://localhost:8983/solr/select?q=camera
To retrieve facet counts for the « manu » field, we would simply add the following parameters to that query request:
&facet=true&facet.field=manu
Any number of facet commands can be added to a single query request. To facet on both the « manu » field and the « camera_type » field, we would add the following parameters:
&facet=true&facet.field=manu&facet.field=camera_type
The query response will now contain facet count information for the given fields in addition to the top matches for the query.
<lst name="facet_fields"> <lst name="manu"> <int name="Canon USA">17</int> <int name="Olympus">12</int> <int name="Sony">12</int> <int name="Panasonic">9</int> <int name="Nikon">4</int> </lst> <lst name="camera_type"> <int name="Compact">17</int> <int name="Ultracompact">11</int> <int name="SLR">17</int> <int name="Full body">9</int> </lst>
Facet counts returned are always in the context of the current query. For example, there may be 100 cameras manufacturerd by Canon in the search index, but only 17 that match the current search results. Now it’s up to the presentation layer to display this information to the user in the form of clickable links with counts displayed next to them.
If we request field faceting on the « price » field, we get back counts for individual prices. However, we want price ranges, not individual prices. One workaround is to index another field that contains the ranges that the prices fall into (for example 100_200, 200_300, 300_400) and use field faceting on that field. A more flexible solution is to utilize query facets that provide the ability to retrieve facet counts for arbitrary queries.
Let’s assume that we have an indexed « price » field and we want to get the facet counts for the following ranges of prices: $100 or less, $100-$200, $200-$300, $300-$400, $400-$500, and $500 or over. We simply add a facet.query command to our query request for each desired range:
&facet=true&facet.query=price:[* TO 100] &facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] &facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] &facet.query=price:[500 TO *]
In addition to the standard query results and any field faceting counts requested, the query response will also contain a facet count for each facet query that was specified.
<lst name="facet_queries"> <int name="price:[* TO 100]">28</int> <int name="price:[100 TO 200]">54</int> <int name="price:[200 TO 300]">98</int> <int name="price:[300 TO 400]">84</int> <int name="price:[400 TO 500]">73</int> <int name="price:[500 TO *]">56</int> </lst>
Now that we’ve learned how to retrieve facet counts, how do we allow the user to drill down and narrow the search results with any of those constraints? The answer is standard Solr filter queries, where search results are filtered by any number of arbitrary queries.
Let’s assume again that the user typed « camera » into the search box and we have queried solr for the top matching documents, and also requested some facet counts to be displayed to the user.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &facet.query=price:[* TO 100] &facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] &facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] &facet.query=price:[500 TO *]
Now let’s assume that the user wants to drill down on the constraint $400-$500 from the Price facet to get a new set of results that include only cameras in that price range. For this we use the fq (filter query) parameter, which allows one to filter by a query. We’ll also send the relevant faceting commands again since we also want to update the facet counts.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &fq=price:[400 to 500]
The fq command can appear anywhere in the query request – parameter order does not matter. Notice that we no longer request the facet counts for the prices since we are constraining results to one price range and thus already know that the counts for other ranges would be zero.
Now that we’ve received the Solr response and updated the facet display and results listing in our web frontend (including adding « $400-$500 » breadcrumb to allow the user to remove it if desired), let’s assume that the user clicks on « SLR » in the camera_type facet. To filter our search results further, we’ll simply add an additional fq parameter.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu &fq=price:[400 to 500] &fq=camera_type:SLR
When the Solr response to this request is received by the web front-end, we can add an « SLR » breadcrumb, and once again update our facet counts and top search results.
-
Read more about Solr on the Solr Home Page.
-
Read Solr’s Documentation.
-
Find out more about Solr’s Faceting capabilities.
-
Learn more about enhancing findability.
-
Read the Solr tutorial.
Faceted Search with Solr
Faceted search has become a critical feature for enhancing findability and the user search experience for all types of search applications. In this article, Solr creator Yonik Seeley gives an introduction to faceted search with Solr.
By Yonik Seeley
Faceted search is the dynamic clustering of items or search results into categories that let users drill into search results (or even skip searching entirely) by any value in any field. Each facet displayed also shows the number of hits within the search that match that category. Users can then « drill down » by applying specific contstraints to the search results. Faceted search is also called faceted browsing, faceted navigation, guided navigation and sometimes parametric search.
It’s easiest to understand what faceted search is through an example, appropriately from CNET Reviews, the first website to use Solr even before it had been contributed to Apache by CNET.
This example is actually faceted browsing because it started with all digital cameras and not a user search. Manufactuter is a facet of these search results, and the facet constraints or facet values for this facet include Canon USA, Sony, and Nikon. A previous screen also included Price and Digital camera type facets, but they are no longer displayed because we already selected the $400-$500 and SLR constraints from those facets. Due to those constraints, the resulting facet counts and camera listings reflect only digital SLR cameras between $400 and $500 in price. Any of the displayed facet constraints can be clicked to drill down and further narrow the search results by that constraint. Applied constraints can be removed by clicking on them within the breadcrumb trail.
Faceted search provides an effective way to allow users to refine search results, continually drilling down until the desired items are found. The benefits include
-
Superior feedback – users can see at a glance a summary of the search results and how those results break down by different criteria.
-
No surprises or dead ends – users know how many results match before they click. Values with zero counts are normally removed to reduce visual noise and eliminate the possibility of a user accidentally selecting a constraint that would lead to no results.
-
No selection hierarchy is imposed – users are generally free to add or remove constraints in any order.
It’s relatively simple to get faceting information from Solr, as there are few prerequisites. Solr offers the following types of faceting, all of which can be requested with no prior configuration:
-
Field faceting – retrieve the counts for all terms, or just the top terms in any given field. The field must be indexed.
-
Query faceting – return the number of documents in the current search results that also match the given query.
-
Date faceting – return the number of documents that fall within certain date ranges.
Faceting commands are added to any normal Solr query request, and the faceting counts come back in the same query response. If you are not familiar with the details of making requests in Solr, see the tutorial.
To implement the Manufacturer facet, I send a field faceting command to Solr. This example assumes a field named « manu » exists in the schema and that it has the manufacturer indexed as a single token. The « string » type in the Solr schema is an appropriate field type to meet these needs.
Let’s assume for a moment that the user typed « camera » into the search box. The Solr query to retrieve the top « camera » matches would be:
http://localhost:8983/solr/select?q=camera
To retrieve facet counts for the « manu » field, we would simply add the following parameters to that query request:
&facet=true&facet.field=manu
Any number of facet commands can be added to a single query request. To facet on both the « manu » field and the « camera_type » field, we would add the following parameters:
&facet=true&facet.field=manu&facet.field=camera_type
The query response will now contain facet count information for the given fields in addition to the top matches for the query.
<lst name="facet_fields"> <lst name="manu"> <int name="Canon USA">17</int> <int name="Olympus">12</int> <int name="Sony">12</int> <int name="Panasonic">9</int> <int name="Nikon">4</int> </lst> <lst name="camera_type"> <int name="Compact">17</int> <int name="Ultracompact">11</int> <int name="SLR">17</int> <int name="Full body">9</int> </lst>
Facet counts returned are always in the context of the current query. For example, there may be 100 cameras manufacturerd by Canon in the search index, but only 17 that match the current search results. Now it’s up to the presentation layer to display this information to the user in the form of clickable links with counts displayed next to them.
If we request field faceting on the « price » field, we get back counts for individual prices. However, we want price ranges, not individual prices. One workaround is to index another field that contains the ranges that the prices fall into (for example 100_200, 200_300, 300_400) and use field faceting on that field. A more flexible solution is to utilize query facets that provide the ability to retrieve facet counts for arbitrary queries.
Let’s assume that we have an indexed « price » field and we want to get the facet counts for the following ranges of prices: $100 or less, $100-$200, $200-$300, $300-$400, $400-$500, and $500 or over. We simply add a facet.query command to our query request for each desired range:
&facet=true&facet.query=price:[* TO 100] &facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] &facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] &facet.query=price:[500 TO *]
In addition to the standard query results and any field faceting counts requested, the query response will also contain a facet count for each facet query that was specified.
<lst name="facet_queries"> <int name="price:[* TO 100]">28</int> <int name="price:[100 TO 200]">54</int> <int name="price:[200 TO 300]">98</int> <int name="price:[300 TO 400]">84</int> <int name="price:[400 TO 500]">73</int> <int name="price:[500 TO *]">56</int> </lst>
Now that we’ve learned how to retrieve facet counts, how do we allow the user to drill down and narrow the search results with any of those constraints? The answer is standard Solr filter queries, where search results are filtered by any number of arbitrary queries.
Let’s assume again that the user typed « camera » into the search box and we have queried solr for the top matching documents, and also requested some facet counts to be displayed to the user.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &facet.query=price:[* TO 100] &facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] &facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] &facet.query=price:[500 TO *]
Now let’s assume that the user wants to drill down on the constraint $400-$500 from the Price facet to get a new set of results that include only cameras in that price range. For this we use the fq (filter query) parameter, which allows one to filter by a query. We’ll also send the relevant faceting commands again since we also want to update the facet counts.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &fq=price:[400 to 500]
The fq command can appear anywhere in the query request – parameter order does not matter. Notice that we no longer request the facet counts for the prices since we are constraining results to one price range and thus already know that the counts for other ranges would be zero.
Now that we’ve received the Solr response and updated the facet display and results listing in our web frontend (including adding « $400-$500 » breadcrumb to allow the user to remove it if desired), let’s assume that the user clicks on « SLR » in the camera_type facet. To filter our search results further, we’ll simply add an additional fq parameter.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu &fq=price:[400 to 500] &fq=camera_type:SLR
When the Solr response to this request is received by the web front-end, we can add an « SLR » breadcrumb, and once again update our facet counts and top search results.
-
Read more about Solr on the Solr Home Page.
-
Read Solr’s Documentation.
-
Find out more about Solr’s Faceting capabilities.
-
Learn more about enhancing findability.
-
Read the Solr tutorial.
Faceted Search with Solr
Faceted search has become a critical feature for enhancing findability and the user search experience for all types of search applications. In this article, Solr creator Yonik Seeley gives an introduction to faceted search with Solr.
By Yonik Seeley
Faceted search is the dynamic clustering of items or search results into categories that let users drill into search results (or even skip searching entirely) by any value in any field. Each facet displayed also shows the number of hits within the search that match that category. Users can then « drill down » by applying specific contstraints to the search results. Faceted search is also called faceted browsing, faceted navigation, guided navigation and sometimes parametric search.
It’s easiest to understand what faceted search is through an example, appropriately from CNET Reviews, the first website to use Solr even before it had been contributed to Apache by CNET.
This example is actually faceted browsing because it started with all digital cameras and not a user search. Manufactuter is a facet of these search results, and the facet constraints or facet values for this facet include Canon USA, Sony, and Nikon. A previous screen also included Price and Digital camera type facets, but they are no longer displayed because we already selected the $400-$500 and SLR constraints from those facets. Due to those constraints, the resulting facet counts and camera listings reflect only digital SLR cameras between $400 and $500 in price. Any of the displayed facet constraints can be clicked to drill down and further narrow the search results by that constraint. Applied constraints can be removed by clicking on them within the breadcrumb trail.
Faceted search provides an effective way to allow users to refine search results, continually drilling down until the desired items are found. The benefits include
-
Superior feedback – users can see at a glance a summary of the search results and how those results break down by different criteria.
-
No surprises or dead ends – users know how many results match before they click. Values with zero counts are normally removed to reduce visual noise and eliminate the possibility of a user accidentally selecting a constraint that would lead to no results.
-
No selection hierarchy is imposed – users are generally free to add or remove constraints in any order.
It’s relatively simple to get faceting information from Solr, as there are few prerequisites. Solr offers the following types of faceting, all of which can be requested with no prior configuration:
-
Field faceting – retrieve the counts for all terms, or just the top terms in any given field. The field must be indexed.
-
Query faceting – return the number of documents in the current search results that also match the given query.
-
Date faceting – return the number of documents that fall within certain date ranges.
Faceting commands are added to any normal Solr query request, and the faceting counts come back in the same query response. If you are not familiar with the details of making requests in Solr, see the tutorial.
To implement the Manufacturer facet, I send a field faceting command to Solr. This example assumes a field named « manu » exists in the schema and that it has the manufacturer indexed as a single token. The « string » type in the Solr schema is an appropriate field type to meet these needs.
Let’s assume for a moment that the user typed « camera » into the search box. The Solr query to retrieve the top « camera » matches would be:
http://localhost:8983/solr/select?q=camera
To retrieve facet counts for the « manu » field, we would simply add the following parameters to that query request:
&facet=true&facet.field=manu
Any number of facet commands can be added to a single query request. To facet on both the « manu » field and the « camera_type » field, we would add the following parameters:
&facet=true&facet.field=manu&facet.field=camera_type
The query response will now contain facet count information for the given fields in addition to the top matches for the query.
<lst name="facet_fields"> <lst name="manu"> <int name="Canon USA">17</int> <int name="Olympus">12</int> <int name="Sony">12</int> <int name="Panasonic">9</int> <int name="Nikon">4</int> </lst> <lst name="camera_type"> <int name="Compact">17</int> <int name="Ultracompact">11</int> <int name="SLR">17</int> <int name="Full body">9</int> </lst>
Facet counts returned are always in the context of the current query. For example, there may be 100 cameras manufacturerd by Canon in the search index, but only 17 that match the current search results. Now it’s up to the presentation layer to display this information to the user in the form of clickable links with counts displayed next to them.
If we request field faceting on the « price » field, we get back counts for individual prices. However, we want price ranges, not individual prices. One workaround is to index another field that contains the ranges that the prices fall into (for example 100_200, 200_300, 300_400) and use field faceting on that field. A more flexible solution is to utilize query facets that provide the ability to retrieve facet counts for arbitrary queries.
Let’s assume that we have an indexed « price » field and we want to get the facet counts for the following ranges of prices: $100 or less, $100-$200, $200-$300, $300-$400, $400-$500, and $500 or over. We simply add a facet.query command to our query request for each desired range:
&facet=true&facet.query=price:[* TO 100] &facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] &facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] &facet.query=price:[500 TO *]
In addition to the standard query results and any field faceting counts requested, the query response will also contain a facet count for each facet query that was specified.
<lst name="facet_queries"> <int name="price:[* TO 100]">28</int> <int name="price:[100 TO 200]">54</int> <int name="price:[200 TO 300]">98</int> <int name="price:[300 TO 400]">84</int> <int name="price:[400 TO 500]">73</int> <int name="price:[500 TO *]">56</int> </lst>
Now that we’ve learned how to retrieve facet counts, how do we allow the user to drill down and narrow the search results with any of those constraints? The answer is standard Solr filter queries, where search results are filtered by any number of arbitrary queries.
Let’s assume again that the user typed « camera » into the search box and we have queried solr for the top matching documents, and also requested some facet counts to be displayed to the user.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &facet.query=price:[* TO 100] &facet.query=price:[100 TO 200];&facet.query=[price:200 TO 300] &facet.query=price:[300 TO 400];&facet.query=[price:400 TO 500] &facet.query=price:[500 TO *]
Now let’s assume that the user wants to drill down on the constraint $400-$500 from the Price facet to get a new set of results that include only cameras in that price range. For this we use the fq (filter query) parameter, which allows one to filter by a query. We’ll also send the relevant faceting commands again since we also want to update the facet counts.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu&facet.field=camera_type &fq=price:[400 to 500]
The fq command can appear anywhere in the query request – parameter order does not matter. Notice that we no longer request the facet counts for the prices since we are constraining results to one price range and thus already know that the counts for other ranges would be zero.
Now that we’ve received the Solr response and updated the facet display and results listing in our web frontend (including adding « $400-$500 » breadcrumb to allow the user to remove it if desired), let’s assume that the user clicks on « SLR » in the camera_type facet. To filter our search results further, we’ll simply add an additional fq parameter.
http://localhost:8983/solr/select?q=camera &facet=on&facet.field=manu &fq=price:[400 to 500] &fq=camera_type:SLR
When the Solr response to this request is received by the web front-end, we can add an « SLR » breadcrumb, and once again update our facet counts and top search results.
-
Read more about Solr on the Solr Home Page.
-
Read Solr’s Documentation.
-
Find out more about Solr’s Faceting capabilities.
-
Learn more about enhancing findability.
-
Read the Solr tutorial.
distributions drupal
distributions drupal
http://epiqo.com/en/recruiter
http://octopusvideo.org/
http://www.mediamosa.org/
http://www.drupalcommerce.org/
http://openpublishapp.com/
http://openpublicapp.com/
http://www.leveltendesign.com/enterprise
http://www.opendealsapp.com/
http://www.drupalcommerce.org/
http://usecod.com/
http://videola.tv/
=> http://www.slideshare.net/nuvoleweb/building-and-maintaining-a-distribution-in-drupal-7-with-features
distributions drupal
distributions drupal
http://epiqo.com/en/recruiter
http://octopusvideo.org/
http://www.mediamosa.org/
http://www.drupalcommerce.org/
http://openpublishapp.com/
http://openpublicapp.com/
http://www.leveltendesign.com/enterprise
http://www.opendealsapp.com/
http://www.drupalcommerce.org/
http://usecod.com/
http://videola.tv/
=> http://www.slideshare.net/nuvoleweb/building-and-maintaining-a-distribution-in-drupal-7-with-features
sigb opensource
• Pmb : http://www.sigb.net
• Koha : http://www.koha-fr.org
• Gnuteca : http://www.gnuteca.org.br/
• Emilda : http://www.emilda.org/
• Evergreen : http://www.open-ils.org/
• AvantiMicroLCS : http://www.avantilibrarysystems.com/
• Open Biblio (USA): http://obiblio.sourceforge.net/
• Open Biblio (B) : http://openbiblio.sourceforge.net/
Open Source Systems for Libraries :
http://www.oss4lib.org/
http://umramap.cirad.fr/amap2/logiciels_amap/index.php?page=openamaptheque
• Free Biblio : l’actualité du logiciel libre et
gratuit pour bibliothèques :
http://www.freebiblio.info/
• Grille d’analyse des logiciels gratuits de
gestion de bibliothèque :
http://logiciels.bib.free.fr/index.php
oBiblio, OPALS,. OpenAmapthèque, OpenBiblio, PhpMyLibrary,. PMB, Senayan.
sigb opensource
• Pmb : http://www.sigb.net
• Koha : http://www.koha-fr.org
• Gnuteca : http://www.gnuteca.org.br/
• Emilda : http://www.emilda.org/
• Evergreen : http://www.open-ils.org/
• AvantiMicroLCS : http://www.avantilibrarysystems.com/
• Open Biblio (USA): http://obiblio.sourceforge.net/
• Open Biblio (B) : http://openbiblio.sourceforge.net/
Open Source Systems for Libraries :
http://www.oss4lib.org/
http://umramap.cirad.fr/amap2/logiciels_amap/index.php?page=openamaptheque
• Free Biblio : l’actualité du logiciel libre et
gratuit pour bibliothèques :
http://www.freebiblio.info/
• Grille d’analyse des logiciels gratuits de
gestion de bibliothèque :
http://logiciels.bib.free.fr/index.php
oBiblio, OPALS,. OpenAmapthèque, OpenBiblio, PhpMyLibrary,. PMB, Senayan.
Top Agile and Scrum Tools – Which One Is Best? | Agile Scout
THE TOP AGILE AND SCRUM TOOLS – WHICH ONE IS BEST?
Top Agile and Scrum Tools – Which One Is Best? | Agile Scout
Top Agile Tools – Best Kanban Tools | Agile Scout
Top Agile Tools – Best Kanban Tools
Top Agile Tools – Best Kanban Tools | Agile Scout
Benoît Sagot – WOLF
Le WOLF (Wordnet Libre du Français) est une ressource lexicale sémantique (wordnet) libre pour le français.
Le WOLF a été construit à partir du Princeton WordNet (PWN) et de diverses ressources multilingues (Sagot et Fišer 2008a, Sagot et Fišer 2008b, Fišer et Sagot 2008). Les lexèmes polysémiques ont été traités au moyen d’une approche reposant sur l’alignement en mots d’un corpus parallèle en cinq langues. Le lexique multilingue extrait a été désambiguïsé sémantiquement à l’aide des wordnets des langues concernées. Par ailleurs, une approche bilingue a été suffisante pour construire de nouvelles entrées à l’aide des mots monosémiques. Nous avons pour cela extrait des lexiques bilingues à partir de Wikipedia et de thésaurus. Le wordnet obtenu a été évalué par rapport au wordnet français issu du projet EuroWordNet.
En 2009, un travail spécifique a été effectué sur les synsets adverbiaux (Sagot, Fort et Venant 2009a, Sagot, Fort et Venant 2009b)
Le WOLF contient tous les synsets du Princetown WordNet, y compris ceux pour lesquels aucun lexème français n’est connu.Le WOLF est au format XML utilisé par le projet BalkaNet. Pour l’instant, les éléments SENSE sont remplis par des informations sur les sources par lesquelles le lexème a été trouvé, et non par son numéro de sens.
Le WOLF est une ressource libre, distribuée sous licence Cecill-C (compatible LGPL).
Pour l’instant, le WOLF et le Lefff ne sont pas couplés. Dans les mois à venir, les entrées du Lefff devraient se voir attribuer des identifiants de synsets du WOLF (c’est-à-dire du PWN).
Shahzad Bhatti » Blog Archive » Working with Amazon Web Services
Working with Amazon Web Services
I started at Amazon last year, but didn’t actually got chance to work with them until recently when we had to integrate with Amazon Ecommerce Service (ECS).
Amazon Web Services come in two flavors: REST and SOAP. According to inside sources about 70% use REST. I also found that REST interface was more reliable and simple. Though, I will describe both techniques here:
Getting Access ID
First, visit http://www.amazon.com/gp/browse.html?node=3435361 to get your own access key.
RTFM
I will describe ECS here and it comes with 450 pages of documentation, though most of it just describes URLs and input/output fields. You can find documentation and sample code at http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=59. I also found Eric Giguerre’s tutorial on AWS very useful.
Other interesting links include: blog site for updates on AWS, a Forum #1, Forum #2 and FAQ.
Services
Inside ECS, you will find following services:
- ItemSearch
- BrowseNodeLookup
- CustomerContentLookup
- ItemLookup
- ListLookup
- SellerLookup
- SellerListingLookup
- SimilarityLookup
- TransactionLookup
REST Approach
The rest approach is pretty simple, in fact you can simply type in following
URL to your browser (with your access key) and will see the results (in XML)
right away:
Finding images for Harry Potter Video:
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=%5Byour-key%5D &Operation=ItemSearch&SearchIndex=Video&Keywords=potter%20harry&ResponseGroup=Images
Finding images for Harry Potter Video:
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=%5Byour-key%5D &Operation=ItemSearch&SearchIndex=Books&Keywords=rails&ResponseGroup=Request,Small
Finding ASINS by keywords:
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=your-key &Operation=ItemSearch&SearchIndex=Books&Keywords=rails&ResponseGroup=ItemIds
Find DVD cover art:
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=%5BID%5D&Operation=ItemSearch &SearchIndex=DVD &Keywords=potter%20harry &ResponseGroup=Images
Find CDs that contain music by Beethoven:
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Music &ResponseGroup=Small,Tracks &Composer=Beethoven
Find by Vendor:
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Apparel &ResponseGroup=Large,Variations &MerchantId=[ID] &ItemPage=1
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Apparel &ResponseGroup=Large,Variations &MerchantId=[ID] &ItemPage=2
Find all new products on Amazon that cost less than $1:00
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Blended &ResponseGroup=Small,Offers &MerchantId=All &MaximumPrice=99
Find all new/old products on Amazon that cost less than $1:00
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Blended &ResponseGroup=Small,Offers &MerchantId=All &MaximumPrice=99 &Condition=All
Find used Barbie dolls
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Toys &Title=Barbie &Manufacturer=Mattel &Condition=All &ItemPage=1
or
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Toys &Title=Barbie &Manufacturer=Mattel &Condition=All &ItemPage=2
Scenario #6:
Search for Godiva dark
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=GourmetFood &Keywords=dark%20chocolate
&Manufacturer=Godiva
Search for purple products
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemSearch &SearchIndex=Blended &Keywords=purple
Find competitive pricing
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &ItemId=ABC1,ABC2,P12345 &ResponseGroup=Request,Small,Offers &Condition=All &MerchantId=All
Find a toy by UPC
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup Amazon E-Commerce Service Developer Guide 46 &IdType=UPC &ItemId=[UPC] &SearchIndex=Toys &ResponseGroup=Request,Small,Offers &Condition=Collectible &MerchantId=All
Find a particular gas gril
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &IdType=UPC &ItemId=[UPC] &SearchIndex=OutdoorLiving &DeliveryMethod=ISUP &ISPUPostalCode=12345 &ResponseGroup=Request,Small,Offers &Condition=All &MerchantId=All
Compare pricing for different size/color
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &IdType=SKU &ItemId=[SKU1,SKU2,SKU3] &SearchIndex=Apparel &ResponseGroup=Request,Small,Offers,Variations &MerchantId=[ID]
Find a book
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &ItemId=[ASIN] &SearchIndex=Books &ResponseGroup=Request,ItemAttributes,Offers
Find by ASIN
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &ItemId=[ASIN]
Find reviews for bestsellers
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] Amazon E-Commerce Service Developer Guide 47 &Operation=ItemLookup &ItemId=[ASIN] &SearchIndex=Books &ResponseGroup=Request,EditorialReview,Reviews,SalesRank
See additional customer reviews
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &ItemId=[ASIN] &SearchIndex=Books &ResponseGroup=Request,Reviews &ReviewPage=2 http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=ItemLookup &ItemId=[ASIN] &SearchIndex=Books &ResponseGroup=Request,Reviews &ReviewPage=3
Lookup samples and notes
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=SimilarityLookup &ItemId=ABC1 &ResponseGroup=Request,Small,Offers &Condition=All &MerchantId=All
Lookup similar group of products
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService &AWSAccessKeyId=[ID] &Operation=SimilarityLookup &ItemId=ABC1,ABC2,ABC3 &ResponseGroup=Request,Small,Offers &Condition=All &MerchantId=All
The REST base URLs are:
- United States (US): http://webservices.amazon.com/onca/xml?Service=AWSECommerceService
- United Kingdom (UK): http://webservices.amazon.co.uk/onca/xml?Service=AWSECommerceService
- Germany (DE): http://webservices.amazon.de/onca/xml?Service=AWSECommerceService
- Japan (JP): http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
- Canada (CA): http://webservices.amazon.ca/onca/xml?Service=AWSECommerceService
- France (FR): http://webservices.amazon.fr/onca/xml?Service=AWSECommerceService
REST request is pretty simple, in Java all you need is to create URL and add all service arguments as form arguments. For example,
http://www.taggalaxy.de/ – AS_Blog \ Vincent Helwig
http://www.taggalaxy.de/0 Commentaire Publié le 3 juin 2008 _ WebsiteManière intéressante de visualiser les photos de FlickR. on navigue dans les tags comme dans une galaxie, chaque planète représentant un tag…
http://www.taggalaxy.de/ – AS_Blog \ Vincent Helwig
Drupal + Alfresco webinar slides available
People want intranets that are fun and easy to use, full of compelling content relevant to their job, and enabled with social and community features to help them discover connections with other teams, projects, and colleagues. IT wants something that’s lightweight and flexible enough to respond to the needs of the business that won’t cost a fortune.
That’s why Drupal + Alfresco is a great combination for things like intranets like the one Optaros built for Activision and why we had a record-breaking turnout for the Drupal + Alfresco webinar Chris Fuller and I did today. Thanks to everyone who came and asked good questions. I’ve posted the slides. Alfresco recorded the webinar so they’ll make it available soon, I’m sure. When that happens, I’ll update the post with a link. Until then, enjoy the slides.
[UPDATE: Fixed the slideshare link (thanks, David!) and added the links to the webinar recording below]
1. Streaming recording link:
https://alfresco.webex.com/alfresco/lsr.php?AT=pb&SP=TC&rID=42774837&act=pb&rKey=b44130d69cc9ec5f2. Download recording link:
https://alfresco.webex.com/alfresco/ldr.php?AT=dw&SP=TC&rID=42774837&act=pf&rKey=c50049ac82e1220a
Drupal + Alfresco webinar slides available
Achievo.org – Project Management Software
This part includes management of projects, phases, tasks, notes, statistics, planning, members en project templates.The time-registration part is the part where employees can register time on project/phase/activity combinations.
Achievo.org – Project Management Software