Netbeans6 et auto-complétion QT4

Bonjour …

La méthode de la version 5 ne marchant plus … Si l’on include direct QApplication ou d’autre ça ne marche pas si l’on fait référence seulement à /usr/include/qt4/ (méthode qui fonctionnait sur l’ancienne version …).

Donc je fait un rapide billet histoire de me souvenir de la manip’ (comme je programme pas souvent en C++)…

  1. Clic droit sur le nom du projet.
  2. Properties (propriétés) puis C++ compiler et choisir le dossier d’include …

et voilà, … ça tourne impec’ :p … il en faut peu pour être heureux 😉

(Bon l’alternative aurait été de faire un include de <QTGui/QApplication> … mais bon faudrait modifier pas mal de projet pour le prendre en compte alors ;)).

Les recherches des personnes sur le net suivant leurs cultures …

Bonjour …

en lisant s2m ajourd’hui, j’ai trouvé une superbe url :

http://www.google.com/intl/en/press/intl-zeitgeist.html

c’est un compte rendu des recherches (top15) faites par pays …

Quelque truc marrant :

Plus de 50% des recherches par les afghans porte sur l’Afghanistan … seul le gouvernement à des PC ou des hackers qui cherchent des failles??

Environ 30% des recherches faites par les Canadiens porte sur les voyages et les cultures étrangères …

Chine : carrefour en 5ème position!!!

Italie : big brothers en tête … les italiens viennent de comprendre ce qu’est internet :p

Norvège : …. inquiété par les aliens : 9ème position xD

Arabie Saoudite : à la recherche d’anonimité (8e) et Nicole Kidman (2e) … pourquoi ??

Suède : … Hitler 13e ??? Je savais qu’ils étaient raciste … mais à ce point :p. A noté que les stars de Walt Disney sont recherché : Pinochio(15), Mickey(5)

Ukraine : Pays du P2P ->Torrent(1) … faut dire qu’avec le réseau internet qu’ils ont 😉

UK : Chihuahua (1) et thé(6) …ils changeront jamais :p

Hop … ça ne sert à rien de savoir tous ça, mais ça donne un peu une idée de la vie des geeks des autres pays 😉

Netbeans 6.1 PHP et Cpp

Héhé … j’ai trouvé suite à l’un de mes précédent post comment installer proprement le plugin C++ sur un Early Access … c’est un tous petit peu plus propre …

Il suffit de rajouter cette url de mise à jour et de choisir le plugins C++

Et on peut aussi rajouter les autres histoire d’avoir un truc complet :

Lien 1 Lien2 Lien3

Je trouve dommage d’avoir séparé la version PHP du reste de l’IDE car en plus, l’ensemble des plugins proposés dans la Early Acess ne sont pas dispo, même dans la version Full … d’où l’expression alsacienne être « Full » (ne pas confondre pas avec le mot anglais ^^), à noter que l’alsacien ne s’écrivant pas … je sais pas comment ça s’écrit :d …

JavaFX … quelque liens utile

Je ne vais pas dire que je suis fan de java … mais bon javafx a du potentiel … d’autant plus que c’est plutôt bien géré par linux … déjà mieux que flex ou encore silverlight ^^.

Alors bon … quelque liens rapide : (histoire que je les ai sous la main le jour où j’en ai besoin ^^)

Le Wiki

La page de résumé

L’adresse de la doc

Le plugin de dev de javafx pour netbeans

La page de l’API

… A partir de la … on peut déjà faire pas mal. (rien qu’avec la doc de l’api…)

Ajax et infobulle

Ben voilà … nouvelle article sur l’ajax, une petite astuce pour notifier le visiteur d’événement survenue avec ajax. La plupart du temps en ajax on privilégie une zone sur l’écran, au centre, tout en haut, tout en bas.

J’expérimente depuis quelque temps déjà, une autre zone, qui est elle aussi assez souvent bien vue par l’utilisateur … a coté du pointeur de la souris :

Le pointeur de la souris est manquant … mais faut l’imaginer quoi :p

Donc voila le code :

Le CSS dont on a besoin :

#infobulle {
    background-color:white;
    border:1px solid #CCCCCC;
    font-family:Verdana,Arial;
    font-size:0.7em;
    padding:10px;
    position:fixed;
    visibility:hidden;
}

Le code Javascript :

var timeOUTaffBulle=null;
var bubble = document.getElementById("infobulle");
var cursor_padding = 5;
var nav = navigator.appName;
var ie = document.all;
var ns = document.layers;
if(!ie)
 document.captureEvents(Event.MOUSEMOVE);

document.onmousemove = get_mouse;

function get_mouse(e){
 if(ie){
 x = event.x;
 y = event.y;
 window.status = x;
 }else{
 x = e.pageX;
 y = e.pageY;
 }

 bubble = document.getElementById("infobulle");
 bubble.style.left = x + cursor_padding+'px';
 bubble.style.top = y - document.documentElement.scrollTop + cursor_padding+'px';
}

document.onmousemove = get_mouse;

// affiche la bubble
function see_bubble(text){
 bubble.style.visibility = "visible";
 bubble.style.display = "block";
 if(timeOUTaffBulle!=null)
 bubble.innerHTML+="
"+text;
 else
 bubble.innerHTML = text;
}

function affBulle(text)
{
 see_bubble(text)
 timeOUTaffBulle=setTimeout("kill_bubble()",1800)
}

function kill_bubble(){
 bubble.style.visibility = "hidden";
 bubble.style.display = "none";
 if(timeOUTaffBulle!=null)
 {
 clearTimeout(timeOUTaffBulle);
 timeOUTaffBulle=null;
 }
}
/*FIN INFOBULLE*/

Donc voila … il suffit juste de mettre une div avec comme id « infobulle » et d’appeler la fonction : affBulle(‘Salut à vous …’);
Pour afficher une superbe infobulle à côté de votre souris.

Gérer les accents en Ajax

Un rapide article sur la gestion des accents en Ajax, avec scriptaculous (bien entendu).

Rapide rappel :

Faire une requete en GET avec scriptaculous :

new Ajax.Request('url',
{
    asynchronous:true,
    onSuccess: function(e) {
        //le traitement
    }
});

Les requetes en POST avec scriptaculous :

new Ajax.Request('url',
{
    method:'post',
    postBody:'param1='+escape(document.getElementById('val1').value)+
    '&param2='+escape(document.getElementById('val2').value),
    asynchronous:true,
    onSuccess: function(e) {
        //traitement
    }
});

Et donc pour rajouter le support des accents, il faut rajouter l’option :

encoding: ‘iso-8859-1’

Faire une requete en GET avec les accents :

new Ajax.Request('url',
{
    asynchronous:true,
    encoding: 'iso-8859-1',
    onSuccess: function(e) {
        //le traitement
    }
});

Les requetes en POST avec les accents :

new Ajax.Request('url',
{
    method:'post',
    postBody:'param1='+escape(document.getElementById('val1').value)+
    '&param2='+escape(document.getElementById('val2').value)+
    asynchronous:true,
    encoding: 'iso-8859-1',
    onSuccess: function(e) {
        //traitement
    }
});

Et voilà, plus aucun problème avec les accents et autre caractères spéciaux. (En français bien sur).

Réduire la consommation de bande passante (Apache mod_deflate)

Rapide mémo sur la configuration du mod_deflate de apache qui permet de réduite pas mal la consommation de bande passante en compressant les données à la volée avec gzip avant de l’envoyer au client :

Tous d’abord, on charge le module dans la config :

Debian : a2enmod deflate

Ubuntu : sudo a2enmod deflate

Ensuite :

on ouvre le fichier apache2.conf ou httpd.conf, et l’on met l’une de ces lignes :

Si l’on veut seulement compresser les fichiers html, xml, et texte plein …

AddOutputFilterByType DEFLATE text/html text/plain text/xml

ou si l’on veut tous compresser par défaut

SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \
\.(?:exe|t?gz|zip|bz2|sit|rar)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

ou pour compresser suivant le navigateur :

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Pour avoir des logs :

DeflateFilterNote Input input_info
DeflateFilterNote Output output_info
DeflateFilterNote Ratio ratio_info
LogFormat ‘ »%r » %{output_info}n/%{input_info}n (%{ratio_info}n%%)’ deflate
CustomLog /var/log/apache2/deflate_log deflate

… Un blog xD …

Bé voila … j’ai crée un blog …

Rapidement … les raisons du blog … ben y’a certain truc qui ne sont d’aucun interet pour le site web, que je vais peut être poster ici.
Et pis vala … c’est tout.

Sérieusement …c’est juste que mon site web est très mal foutu … et j’ose plus le reprogrammer … le référencement est tellement bon xD. Et ouai … c’est ce qui arrive lorsque la créature dépasse l’espérance de son maitre :p. Bon tous ça pour dire que j’ai plus de 500 visites par jour, dont environ 200-250 unique … pour des mot-clés tel que programmation php, anonimité php, proxy php, programmation socket windows, …

Si c’est pas cool pour un site web sans contenu, avec un pagerank naze ^^. D’un autre coté, c’est dommage que mon site soit si bien référencé dans certaine catégorie, … comme la programmation php, je me retrouve devant des sites web tel que php-debutant (la référence des débutants), tous comme le site du zero, ou bien encore : www.j0k3r.net, un site pas mal pour les webmestres … C’est moche le référencement, :p mais pas pour moi 🙂

Sinon, comme j’utilisais le forum comme un blog … je me suis dis que ça ferais moins loser-sans-pote-qui-se-fait-chier-tous-le-temps-comme-un-pauvre-con, ça ferait mieux de faire tous de suite un blog xD

Bon … donc c’est à partir d’ici qu’est censé revivre mon site xD