jeudi 11 février 2016

Raspberry Pi : Changer de carte SD sans perte

Ce tutoriel concerne les Raspberry Pi mais est facilement transposable à tout système utilisant des cartes SD.

Si comme moi vous avez acheté une SD NOOBS, vous n'avez que 8Go sur la carte, avec au mieux 5 Go d'utilisables. Et surtout, comme vous avez déjà configuré votre système, installé ou développé des applications, vous ne voulez pas tout perdre. Mais vous manquez de place, cruellement. Heureusement, il est possible de cloner sa carte sur une plus grande.

Je donne les explications pour procéder sous Windows et sous linux, car les logiciels employés ne sont pas les mêmes. Tous les logiciels utilisés sont gratuits.

Lire la suite...

jeudi 24 juillet 2014

[MyBB] Ajouter des réseaux sociaux dans les profils

Si vous ne connaissez pas MyBB, c'est un forum que j'apprécie beaucoup et pour lequel je réalise parfois quelques plugins.

J'ai eu besoin de pouvoir ajouter sur les profils des utilisateurs des informations sur les réseaux sociaux tels que Twitter, Facebook, Babelio, ... J'ai donc développé "usersocial", et pense l'avoir rendu simple à utiliser.

Lire la suite...

mardi 13 mai 2014

Utiliser le webservice HPOO runFlow avec SOAP

Ce billet concerne fort peu de monde en l'état, mais contient diverses astuces et réflexions sur l'utilisation de SOAP et des objets relativement complexes à y intégrer, la documentation n'étant pas très explicite. La part HPOO est anecdotique, c'est essentiellement parce que c'est l'interfaçage avec ce système qui m'a posé des soucis.

J'espère que ce petit résumé de mes pérégrinations au sein du SOAP et des webservices HPOO aideront certains qui pourraient tomber sur les mêmes écueils que moi.

Lire la suite...

lundi 17 mars 2014

Bloquer la sortie d'une page

Parfois, on a besoin de pouvoir interdire de quitter une page web autrement que par le "cheminement normal", c'est à dire très souvent par l'envoi d'un formulaire. Le but n'est bien entendu pas d'emprisonner le visiteur sur la page mais de l'alerter et de lui demander une confirmation de l'action qu'il veut réaliser.

L'astuce suivante fait appel à JQuery pour une simplification du code et de sa compatibilité entre les navigateurs mais peut être codée à la main si vous le désirez.

Bloquer la sortie

Pour cela, il suffit de faire appel à onbeforeunload une fois la page chargée:

jQuery(function($) {
   $(window).bind('beforeunload', function(){
      return 'message de confirmation';
   });
});

Le message de confirmation n'est pas visible sur tous les navigateurs, je ne l'ai vu que sur IE8 et il est plutôt mal mis en page.

Avec ce script, toute action fermant la page (même la fermeture du navigateur) demandera une confirmation à l'utilisateur.

Autoriser la sortie normale

La sortie normale de la page devant s'effectuer par une validation de formulaire, il suffit donc d'ajouter une fonction onclick sur le bouton de soumission qui désactivera le script:

<input type="submit" value="envoyer" onclick="$(window).unbind('beforeunload');" />

lundi 14 octobre 2013

[MàJ] Yii : ajout d'une entrée depuis le CGridView

(Mise à jour : ajout de l'option fillIsFilter) Il est parfois utile de pouvoir remplir un CGridView directement depuis sa vue sans avoir à changer de page. Cette extension permet d'avoir un formulaire dans la grille et d'ajouter à la volée de nouvelles entrées.

Pour les anglophones, la source originale est sur cette page.

Lire la suite...

vendredi 21 juin 2013

Recherche sur plage de taille avec CGridView

En travaillant sur un système de reporting de transferts de fichier (utilisant Yii), j'ai eu besoin d'un champ permettant de faire une recherche sur la taille des fichiers, avec une syntaxe "humainement compréhensible". Et cela avec un seul champ de recherche. (traduction de mon article à http://www.yiiframework.com/wiki/516/search-a-file-size-range-in-cgridview/)

Lire la suite...

dimanche 17 mars 2013

Apache et nginx - Transmettre l'IP du visiteur

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.

Lire la suite...

Soulager apache avec nginx

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.

Lire la suite...

dimanche 9 décembre 2012

Access denied for user ‘debian-sys-maint’@'localhost’ (using password: YES)

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.

lundi 6 août 2012

Bind9 sur Debian

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.

- page 2 de 7 -