Scroll Bar dans une div

La propriété "overflow", permet d'inclure une horrible scrollbar dans une div, à défaut de perdre du temps pour en faire une en DHTML 🙂

 

Dans une feuille de style (CSS) :

#scroll {
height: 235px; /* Hauteur de 235 pixel */
width: 180px;  /* Largeur de 180 pixel */
overflow: auto;
}

 

 

Div : 

<div id="scroll">

 Contenu de votre "div" 🙂

</div>

 

Propriété d'overflow :

Visible : Le contenu n'est pas coupé, mais peut dépasser de l'élément.
hidden : Le contenu sera coupé a hauteur de l'élément. Aucune scrollbar s'affichera.
scroll : Le contenu sera coupé avec l'affichage de la scrollbar en permanence.
auto : Le contenu sera coupé avec au besoin l'affichage de la scrollbar.

 

 

je sais…c'est moche, mais ça dépanne 😮

Concerver les URL pour le référencement (Migration suite au changement de nom de domaine)

Petit bout de code, fait vite fait hier soir avec Jonas suite à la migration de son blog.
L'objectif était de conserver sur son ancien domaine (host) les URL déjà référencées et qu'elles soient redirigées sur le nouveau domaine.

1: Récupération des URI :

=> Dans un fichier .Htaccess :

    RewriteEngine on
    RewriteRule (.*)$ index.php [L]

La RewriteRule permet de redirger n'importe quelle URI (/aaa/bbb/fichier.html) sur l'index.

 

2: Redirection vers le nouveau domaine

=> Index.php

<?php
$r_url=$_SERVER['REQUEST_URI'];
//$r_url=substr($r_url, 5);
$New_host="http://www.votredomaine.ch";

header("location: $New_host$r_url");exit;
?>

Explication :

$r_url=$_SERVER['REQUEST_URI'];
    => Recupère l'URI

$r_url=substr($r_url, 5);
    Permet de supprimer les 5 premiers caractères.
    Sur l'ancien domaine, les URI était sous la forme
    http://xxx.domain.tld/site/le_blog/…
    alors que sur le nouveau domaine :https://www.domaine.tld/le_blog/…
    Il fallait donc supprimer /site.

$New_host="http://www.votredomaine.ch";
    => Le nouveau domaine

header("location: $New_host$r_url");exit;
    => On redirige

Attention, cette methode fonctionne à condition que les URL soient identiques des deux cotés (ancien et nouveau domaine).

Détecter / trouver une liste de mots interdits (bani) dans une chaine (de caractères) en php

Petite fonction « vite faite » permettant de détecter dans une chaîne de caractères, si un ou des mots bannis y figurent.

Dans la pratique, cela servirait en bloquer une action en cas de mots injurieux.

La fonction:

<?php
function IsBLWord($string)
    {
        //LISTE DES MOTS A TROUVER
        $badword=array("CONNARD","ENCULE");

        $i = 0; //initialisation du compteur
        $Cbadword=count($badword);
            while ($i <= $Cbadword-1) {
                if (preg_match("/b$badword[$i]b/i", $string))
                    {
                        $i=$Cbadword; //un des mots a été trouvé, on stop la boucle
                        $finded="1";  //on indique qu'un mot a été trouvé
                    }
                else
                    {
                        $finded="0";    //on indique qu'aucun mot a été trouvé
                    }
                
                $i++;
            }

        if($finded=="1")
            {RETURN true;} //on mot été trouvé, on retourne true
        else
            {RETURN false;} //aucun mot a été trouvé, on retourne false
    }
?>

Utilisation :

<?php
$txt="Le voila le connard du quartier";

if(IsBLWord($txt)==TRUE)
     {
          exit; //on bloque l'action car le terme "connard" figure dans la chaine.

    }

 

?>

 

Il y a certainement moyen d'optimiser cela… ou utiliser une autre regex.
mais celle-ci fonctionne très bien pour mon utilisation 🙂

UPDATE : La fonction PHP strpos() peut être utilisée si l'on veut détecter qu'un mot.

Format users (utilisateurs) dans Lifetype 1.2, Autorisé les –

Lifetype n'autorise que les caractères de A à Z et les chiffres de 0 à 9.
Il est bien, égalment, d'autoriser les utilisateurs avec des ".", des "_" ou des "-".

Modification:

Dans : class/data/validator/usernamevalidator.class.php

Ligne 10 :     define( "ONLY_ALPHANUMERIC_REGEXP", "^([a-z0-9]*)$" );

=>

    define( "ONLY_ALPHANUMERIC_REGEXP", "^([-_.a-z0-9]*)$" );

Google Analytics – Statistique (stats) avec plusieurs comptes / profiles – Multi tags

Il est parfois nécessaire de tager un site web avec plusieurs comptes Analytics ou plusieurs profiles.

Par exemple, un service de blog voudra connaître les stats de son réseau et l'utilisateur connaître les stats liées à son blog.
Pour cela, il faut déclarer les deux (ou plus) comptes.

Avec GA
Avec le nouveau code GA, il est très simple d'indiquer à Google Analytics les divers comptes / profiles.

Code fournit par Google :

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-XXXXXXX-YY");
pageTracker._trackPageview();

</script>

Il suffit d'ajouter une nouvelle variable pageTracker, avec le UA du compte / profile.

Exemple :

<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-XXXXXXX-YY");
pageTracker._trackPageview();


var pageTrackerB = _gat._getTracker("UA-AAAAAA-BB");
pageTrackerB._trackPageview();

</script> 

Avec URCHIN

Pour ceux qui utiliseraient encore Urchin.js, il suffit d'ajouter la variable :
_uff=0;

Afin que le second tag soit pris en considération.

 


Articles en relation :

Statistiques des sous domaines dans Google Analytics.

Google Analytics (urchin) avec Flash

Relayer un flux vidéo (stream) avec VLC sous Debian

Histoire de diffuser une webcam en live, je relaie le flux ASF de ma Linksys via un serveur afin de disposer d'une meilleures bande passantes.
Le relaie se fait avec VLC, voici comment commencer.

ETAPE 1 : Installer VLC

Rien d'extraordinaire : 

# APT-GET INSTALL vlc

ETAPE 2 : Capture et diffusion 

Puis on va lancer la capture du stream et la diffusion : 

vlc -vvv http://URL_SOURCE_DE_VOTRE_FLUX/video.asf
 –sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard
{access=http,mux=ogg,dst=url_du_serveur:8080}'

 

http://URL_SOURCE_DE_VOTRE_FLUX/video.asf
L'url de votre flux vidéo, dans mon cas, celui du flux fournit par le serveur intégré à la caméra.

url_du_serveur
URL ou Adresse IP de votre serveur qui fera office de relay.
C'est cette URL qui sera utilisée dans les clients!

8080
Port d'écoute de votre serveur de diffusion (relay).
Si vous utiliser le même serveur pour votre serveur web, ne pas mettre 80 (qui sera utilisé par Apache par exemple.).

 

ETAPE 3 : Lire votre flux (stream)

Sur votre ordinateur : 

1) ouvrir VLC
2) Fichier => Ouvrire un flux réseaux
3) Flux http  => indiquer :  url_du_serveur:8080

 

 

La doc de vlc est dispo ici : http://www.videolan.org/doc/

Installation de Nagios 3 sous Debian

Petite tutoriel expliquant brièvement l'installation de l'outils de monitoring OpenSource Nagios

Je parts du principe qu'apache est installé et configuré.
On qu'on utilise l'outil APT pour obtenir les packages.
Et qu'on est logé en SSH sur le serveur 🙂

=> Si apache n'est pas installé : apt-get install apache2, et configurer son apache.

1) Installation  de nagios 3.x

On commence par mettre à jour les définitions de parquets APT :
APT-GET UPDATE

Puis on install Nagios : APT-GET nagios-text

Puis un panneau de configuration SAMBA : groupe/nom_de_domain.tld

Puis demande si l'on dispose d'une adresse IP via DHCP : Non

=> la config de Nagios Common commence, il faudra sélectionner le serveur web apache, et saisir le mot de passe administrateur (pour l'utilisateur : nagiosadmin). (attention à ne pas faire de faute de frappe, aucune confirmation ne sera demandée)

=> Le coeur de Nagios est installé.

2) Configuration d'apache

Il se peut comme dans mon cas, qu'apache n'ait pas été configuré automatiquement.

Il faut donc ouvrir le fichier httpd.conf et l'éditer.(via VI, ou Webmin, ou télécharger le fichier via winscp par exemple).

Dans : /etc/nagios/ il y aun fichier : apache.conf.

Copier/coller le contenu du fichier, dans à la fin du fichier httpd.conf .

Voici le contenu du fichier apache.conf :
# BEGIN FOR NAGIOS

# nagios is ScriptAlias'd to answer both as /cgi-bin/nagios and
# /nagios/cgi-bin, which should make things work in both standard
# and "virtualhost" style installs.
ScriptAlias /cgi-bin/nagios /usr/lib/cgi-bin/nagios
ScriptAlias /nagios/cgi-bin /usr/lib/cgi-bin/nagios
# the following are from the heady days of netsaint.  if you have
# users who refuse to update their bookmarks, uncomment the next two
# lines.
#ScriptAlias /cgi-bin/netsaint /usr/lib/cgi-bin/nagios
#ScriptAlias /netsaint/cgi-bin /usr/lib/cgi-bin/nagios

<DirectoryMatch /usr/lib/cgi-bin/nagios>
        Options ExecCGI

        AllowOverride AuthConfig
        Order Allow,Deny
        Allow From All

        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /etc/nagios/htpasswd.users
        require valid-user
</DirectoryMatch>

# Where the stylesheets (config files) reside
Alias /nagios/stylesheets /etc/nagios/stylesheets

# Enable this ScriptAlias if you want to enable the grouplist patch.
# See http://apan.sourceforge.net/download.html for more info
# It allows you to see a clickable list of all hostgroups in the
# left pane of the Nagios web interface
#ScriptAlias /nagios/side.html /usr/lib/cgi-bin/nagios/grouplist.cgi

# Where the HTML pages live
Alias /nagios /usr/share/nagios/htdocs
<DirectoryMatch /usr/share/nagios/htdocs>
        Options FollowSymLinks

        AllowOverride AuthConfig
        Order Allow,Deny
        Allow From All

        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /etc/nagios/htpasswd.users
        require valid-user
</DirectoryMatch>
# END FOR NAGIOS

=> Sauver le fichier, puis relancer Apache.

Normalement, l'interface web de nagios devrait répondre via l'adresse :
http://votre_serveur.tld/nagios

User : nagiosadmin
Pass : votre mot de passe définit.

3) Installation des plugins

Télécharger la dernière version des plugins depuis :
http://www.nagiosplugins.org/

version du tutos :1.4.13: http://freefr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz

Mirror : http://luca.lovalvo.net/download/nagios-plugins-1.4.13.tar.gz

=>
Wget : http://freefr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz

=> tar –xzf nagios-plugins-1.4.13.tar.gz

=> cd nagios-plugins-1.4.13.tar.gz

=> ./configure

=> On compile les fichiers : Make

=> On install : Make install

Il faudra ensuite configurer les groupes d’hôtes, les hôtes et les services dans les fichiers de configuration de Nagios… et le tour est joué 🙂

=> Fini la grasse mat et les nuits tranquille 🙂

PS : Quelques emplacements clefs

  • Fichiers de configuration de Nagios : /etc/nagios
  • Fichiers de configuration des plugins : /etc/nagios-plugins/config
  • Exécutables des plugins : /usr/lib/nagios/plugins
  • Pages HTML de l’interface web : /usr/share/nagios/htdocs
  • Emplacement des CGI de Nagios : /usr/lib/cgi-bin/nagios

Voir aussi : Installation de nagios sans passer par APT-GET

 

Supprimer XP Police Antivirus

XP police Antivirus est un spyware se faisant passer pour un logiciel Anti-spyware au look "Windows XP security Center".

Ci-dessous  : Une solution simple de s'en débarsser

Dans le registre :

Effectuer une recherche de : "PoliceAV", et supprimer les clefs en rapport avec le spyware (Donc la clef "PoliceAV").

HKCUSoftwareMicrosoftWindowsCurrentVersionRunPoliceAV

=>Redémarrer la machine

Dans C:Program Files :

Supprimer le dossier : XPPoliceAntivirus et l'intégralité de son contenu.

=>Redémarrer la machine

A partir de la, le spyware ne s'execute pas, mais n'est pas totalement éradiqué.

Trace restantes devant être repérées, et supprimées : 

Win32/FakeAV.ABP crée les fichiers/dossiers suivant :

%Documents and Settings%<username>protect.dll – detected as Win32/Opachki.A
%Documents and Settings%<username>Local SettingsTempmsb.dll – detected as Win32/Opachki.A
%Program Files%XPPoliceAntivirusiehost.dll – detected as Win32/FakeAlert.AAB
%Program Files%XPPoliceAntivirusprotect.dll – detected as Win32/Opachki.A
%Program Files%XPPoliceAntivirussetup.dat – detected as Win32/Opachki.A
%Program Files%XPPoliceAntivirusxppolice.exe – detected as Win32/FakeAV.ABP

 

%Documents and Settings%<username>DesktopXP Police Antivirus.LNK
%Documents and Settings%<
username>Start MenuXP Police Antivirus.LNK

Registre :

HKCUSoftwareXP Police Antivirus
HKCUSoftwareMicrosoftWindowsCurrentVersionRunautochk = "rundll32.exe %Documents and Settings%<
username>protect.dll,_IWMPEvents@16"

 

Banana Security devenu KeyLemon SA

Connaissez-vous Banana Security?
Cette petite application sortie il y a un peu plus d'un an et qui avait déjà fait parlez d'elle, permettant d'effectuer une reconnaissance facial pour verrouiller/déverrouiller votre ordinateur à partir de votre webcam.

Partit d'un travail de diplôme d'étudiant HES Valais, Banana security devient une SA renommée en KeyLemon SA.

Actuellement en version 1.3 KeyLemon Screen semble être une application toujours prometteuse mais malheureusement pas encore très satisfaisante à ce jour.

Après installation et configuration de l'application, l'ordinateur se verrouille correctement, mais une simple photo ou un collègue suffit à le déverrouiller 🙁

Donc mon bon vieux Wireless PC Lock restera en fonction… striste 🙁

 wireless pc lock

 

Télécharger LemonScreen depuis le site officiel

Télécharger une copie de : LemonScreen_1.3.0.msi