Jai omis hier dans mon billet Soulager Apache avec nginx un point essentiel. Lorsque nginx appelle un contenu dynamique, Apache voit que le demandeur est nginx et non pas le visiteur du site, donc toutes les requêtes viennent de 127.0.0.1. Heureusement, il est possible de forwarder les entêtes HTTP adaptés.
17/03/2013
Apache et nginx - Transmettre l'IP du visiteur
Par CrazyCat le 17/03/2013, 12:05 - Apache
Soulager apache avec nginx
Par CrazyCat le 17/03/2013, 00:27 - Apache
Le problème avec Apache, c'est que lorsqu'on appelle une page web, il crée un processus par élément appelé par la page (image, feuille de style, ...), ce qui peut rapidement saturer la mémoire du serveur si trop de visites simultannées sont faites sur un site. Heureusement, on peut utiliser un proxy comme nginx pour économiser des ressources.
09/12/2012
Access denied for user ‘debian-sys-maint’@'localhost’ (using password: YES)
Par CrazyCat le 09/12/2012, 14:23 - MySQL
Sur Debian, il arrive parfois que cette erreur apparaisse lors d'une tentative de mise à jour de MySQL, ou même lorsque l'on désire arrêter le serveur.
En fait, l'utilisateur debian-sys-maint n'est pas toujours créé, ou bien il est créé sans les bons privilèges, ce qui est génant.
Correction
Le mot de passe de cet utilisateur se trouve dans le fichier /etc/mysql/debian.cnf. Une fois que vous l'avez copié, connectez-vous en tant que root sur la base mysql du serveur:
mysql -u root -p mysql
Et là, donnez les bons droits à l'utilisateur debian-sys-maint (en remplaçant PASSWORD par le mot de passe précédent):
GRANT ALL privileges ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Redémarrez MySQL, tout doit être bon.
31/08/2012
Plugin lightIRC pour MyBB
Par CrazyCat le 31/08/2012, 23:27 - IRC
Si comme moi vous utilisez MyBB comme forum et que vous voulez y ajouter une page d'accès à un réseau IRC, il n'y avait que le plugin PJirc qui intègre une applet Java.
Je préfère lightIRC, voici donc le Plugin lightIRC pour MyBB.
N'hésitez pas à signaler tous les bugs que vous y trouverez.
Installation
Décompressez le fichier zip et copiez son contenu (sous-répertoires inclus) à la racine de votre forum.
Attention
L'interface lightIRC nécessite que le serveur IRC autorise son accès, pensez à demander à l'administrateur les informations concernant son flashpolicy.
Si vous utilisez votre propre serveur IRC, n'hésitez pas à lire http://www.lightirc.com/faq.html
06/08/2012
Bind9 sur Debian
Par CrazyCat le 06/08/2012, 21:33 - Linux/Unix
Récemment, j'ai eu un petit souci avec Bind9. Proprement configuré suite à une installation sous Debian, impossible que mes domaines soient bien pris en compte par les différents serveurs DNS.
Je laisse passer 48h pour la propagation, et toujours rien.
Coup de génie: je teste depuis la machine que bind fonctionne bien en faisant telnet 127.0.0.1 53 et ça fonctionne, bind est bien lancé (ce que j'avais vérifié avec un netstat -anp | grep 53).
Je tente d'une autre machine, et là rien...
En fait, il semblerait que les dernières versions de bind9 sur Debian remplissent ainsi le fichier /etc/bind/named.conf.options :
options {
directory "/var/cache/bind";
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on { 127.0.0.1; };
allow-recursion { 127.0.0.1; };
};
Il suffit donc de remplacer listen-on { 127.0.0.1; }; par listen-on { any; }; (ou avec l'IP publique de votre serveur) et tout rentre dans l'ordre.
09/06/2012
m_restrictcolors : Restriction de couleur sur UnrealIrcd
Par CrazyCat le 09/06/2012, 12:25 - IRC
On m'a demandé s'il était possible sur UnrealIrcd de limiter l'usage de la couleur aux opérateurs d'un canal. C'est maintenant possible avec ce module que je viens de développer.
11/05/2012
"Bell" avec Putty et screen
27/04/2012
Cryptage réversible en java
Par CrazyCat le 27/04/2012, 00:51 - Langages
Mon cryptage réversible a fait des émules ! Ophanin a fait une version java du système et vous la livre.
A priori complètement compatible avec la version PHP, peut-être un souci sur le décodage mais je suis certain que ce sera vite corrigé.
11/04/2012
[MàJ] Utiliser OpenStreetMap plutôt que GoogleMap ?
Par CrazyCat le 11/04/2012, 17:17 - JavaScript
Edition du 11 avril: Je me rends compte que je n'ai pas mis l'adresse du site dédié, il s'agit de osmLeaflet.jQuery. C'est là que l'on peut facilement suivre les mises à jour et évolutions.
Depuis quelques temps, je m'intéresse au projet OpenStreetMap qui me semble une bonne alternative à GoogleMap pour l'intégration de cartes sur des sites.
Malheureusement pour les plus fainéant d'entre nous (moi y compris), aucun code officiel à utiliser directement n'existe. Sauf depuis l'intervention de Mathieu Robin qui a créé un plugin OSM pour JQuery, qu'il a appelé osmLeaflet.jQuery.
Voici l'exemple d'utilisation qu'il donne sur son billet d'explication qui vous montre la simplicité déconcertante de son utilisation, mais je vous invite fortement à aller voir le blog.
$(document).ready(function () { // Initialisation de la map var osmMap = $(document).osmLeaflet({ target : 'map', zoom : 12, lattitude : 51.50, longitude : -0.09 }); // Ajout d'un marker osmMap.osmLeaflet('addMarker', {lattitude : 51.50, longitude : -0.09}); // Ajout d'une popup osmMap.osmLeaflet('addPopup', {lattitude : 51.51, longitude : -0.13, text : "Hey !"}); });
06/04/2012
Votre position en JS
Par CrazyCat le 06/04/2012, 18:15 - JavaScript
Suite à ce billet, j'ai exploré le blog de Mathieu et j'y ai trouvé une information sur la géolocalisation en JS.
En poursuivant mes recherches à ce sujet, j'ai trouvé un tutoriel fort intéressant: géolocalisation en HTML5.
Je me permet donc d'en mettre les grandes ligne ici (ce ne sont que des copier/coller)
Récupérer les coordonnées
Un système très simple permet d'obtenir les coordonnées. Le système gère la non-prise en compte de la géolocalisation par le navigateur, ainsi que le fait que l'utilisateur refuse de partager sa position.
if (navigator.geolocation) navigator.geolocation.getCurrentPosition(successCallback, errorCallback); else alert("Votre navigateur ne prend pas en compte la géolocalisation HTML5"); function successCallback(position){ alert("Latitude : " + position.coords.latitude + ", longitude : " + position.coords.longitude); }); function errorCallback(error){ switch(error.code){ case error.PERMISSION_DENIED: alert("L'utilisateur n'a pas autorisé l'accès à sa position"); break; case error.POSITION_UNAVAILABLE: alert("L'emplacement de l'utilisateur n'a pas pu être déterminé"); break; case error.TIMEOUT: alert("Le service n'a pas répondu à temps"); break; } });
Suivre les déplacements
Ce petit code permet de suivre les déplacements de l'utilisateur
var watchId = navigator.geolocation.watchPosition(successCallback, errorCallback); function stopWatch(){ navigator.geolocation.clearWatch(watchId); }
Et le lien d'arrêt du suivi:
<a href="#" onclick="stopWatch()">Stop Watch</a>
La vitesse ! La boussole ! L’altitude !
Lorsque l’on récupère la variable position afin d’obtenir la latitude grâce à position.coords.latitude, on a accès à plusieurs autres attributs :
- position.timestamp, qui renvoie le timestamp de l’heure à laquelle a été mise à jour la position
- position.coords.altitude, qui correspond à l’altitude de l’utilisateur
- position.coords.accuracy, qui correspond à la précision des coordonnées
- position.coords.altitudeAccuracy, qui correspond à la précision de l’altitude
- position.coords.heading, qui correspond à l’angle compris entre 0 et 360° par rapport au Nord (ce n’est pas aussi précis que la boussole interne d’un smartphone)
- position.coords.speed, qui correspond à la vitesse de l’utilisateur par rapport à sa dernière position.
« billets précédents - page 1 de 8
Derniers commentaires