Archives de catégorie : bidouille

Acer E261 Samsung S23B350 Sis672 et 1920×1080

Un petit aide mémoire qui peut être utile pour le branchement d’écran LED Samsung 16/9ème sur l’Acer ou autre machine à base de Chipset SIS672 ou SIS671 sous Vista.
De base l’opération est impossible on ne peut avoir même après installation des drivers Samsuns mieux que du 1680×1050.
Le problème réside dans la non prise en compte des informations transmises par le moniteur par le driver de la carte SIS. Le driver SIS ne prend pas en compte l’infromation EDID fournie par le driver de l’écran Smasung. J’aurai au moins appris ce qu’était EDID DDC et DDT …
La solution est pourtant hyper simple mais m’a pris quand même beaucoup de temps … il suffit d’installer le driver Windows 7 même si théoriquement il n’est pas prévu pour Vista … et bien si … ça marche.
Il faut décompresser l’archives ailleurs que dans le répertoire de téléchargement (sinon risque de message d’anomalie éditeur inconnu) et de lancer l’installation.

Simple ? Trivial ? peut être mais le dernier driver SIS officiellement marqué pour Vista (version 5.25) ne marche pas …

Le parcours du combattant m’a permis de découvrir deux outils d’investigations très pratique et noramment permettant de se construire de nouveaux driver pour écran ils s’agit de powerStrip et monInfo et c’est par là.

Pour Debian tout est dans l’article du blog Algo interessante Debian Squeeze y Ubuntu Qui a un bon petit goût du sud.
Il suffit donc de télécharger le driver de l’installer et d’utiliser ma version légèrement modifiée du xorg conf

Section "Device"
Identifier "Configured Video Device"
Driver "sis671"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
Modeline "1920x1080" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
Virtual 1920 1080
EndSection

En espérant que ce petit article épargnera à d’autres les quelques heures où j’ai buté sur le problème

zenphoto sur demo1g de chez ovh

Suite aux évolutions très positive de la configuration de mon compte demo1g chez ovh (dommage que ce ne soit plus commercialisé). J’ai voulu tester une installation avec pdo_sqlite.
ça a marché presque comme une lettre à la poste …. efin presque c’est un gros mot
le premier challenge a été de mettre en place sqlite et comme pas de chance la version de l’hébergement n’est pas tout à fait la bonne. on est en test on s’en fout. Modification dans functions-db-PDO_SQLite.php

array('application'=>DATABASE_SOFTWARE,'required'=>'3.3.7','desired'=>'3.7.0','version'=>$matches[0]);

après il faut pouvoir accéder à sqlite dans le menu d’installation pour celà une première modification dans setup.php pour inverser le test de définition de RELEASE …

				case 'pdo_sqlite':
					if (defined('RELEASE')) {

voilà pour la partie sqlite … tout semble fonctionner
sauf dans la partie administration quand on essaye de sauvegarder des options on a un message parlant de tentative hameçonnage. Le problème est lié à une protection anti XSRF qui ne marche pas du fait d’une utilisation imprévue des variable de proxy.
pour corriger il faut modifier functions.php
et passer de

function getUserIP() {
	if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
		return sanitize($_SERVER['HTTP_X_FORWARDED_FOR'], 0); 	} else {
		return sanitize($_SERVER['REMOTE_ADDR'], 0); 	}
}

à

function getUserIP() {
	if (isset($_SERVER['HTTP_REMOTE_IP'])) {
		return sanitize($_SERVER['HTTP_REMOTE_IP'], 0); 	} else {
		return sanitize($_SERVER['REMOTE_ADDR'], 0); 	}
}

un bouchon série logiciel

Dans le but de dialoguer avec un process d’une applance Linux qui est connecté sur le port série je suis en train d’investiguer pour essayer de trouver une sorte de « bouchon série logiciel » afin de pouvoir « me mettre à la place du port série » à partir d’un accès telnet.
Reptyr aurait été une solution mais hélas n’est pas comaptible à l’infrastructure. L’essai avec gdb pour jouer avec le file descriptor a eu le bonheur de faire planter plusieurs fois.

Je n’ai pas réussi une cross compilation correcte de peekfd et il me reste de tenter snoop.
Si par hasard quelqu’un avait une idée … j’achète.

hacking Expressgate eeepc

Finalement au bout de quelque temps j’ai réussi à en faire ce que je voulais … mais pour ça il faut retrouver pas mal d’anciennes versions et ça n’a pas été le plus facile.
J’ai donc maintenant un navigateur avec adblock et java …. plus la possibilité d’ouvrir d’ajouter des programmes en php sur la machine.
Au cours de mes investigation j’ai vu qu’il y avait la possibilité de mettre un fichier addon-xterm.bin sous ASUS.SYS pour activer xterm, mais je ne suis pas arrivé au bout visiblement cet addon est codé et décodé par un programme appeler xterm_dec. Un coup de strings sur l’exécutable m’a montré la présence d’un clé de codage (en clair dans le code).
Finalement il a été plus simple de recréer un va-xterm.sqx. pour cela le plus compliqué a été de retrouver un paquet debian xterm pour etch. On trouvera son bonheur sous snapshot debian.
le mieux est de repartir d’un squashfs-root précédement récupéré. D’extraire dans ce répertoire squashfs-root d’un coup depkg-deb extract. Puis on recrée un squashfs que l’on dépose dans ASUS.SYS. Un coup de touch ASUS.SYS/addon-xterm.bin arrêt de la machine et on relance.
une fois expressgate lancé on trouve dans la barre de lancement trois icône pour lancer xterm. ça doit marcher ™. On en profite pour récupérer sous usr/share une archive xterm…tgz ..le contenu nous permettra de mettre à jour le squashfs va-xterm. Je vous laisse découvrir le contenu …du répertoire applications que fous mettrez dans usr/share de votre squashfs-root.

Tant que l’on est dans xterm on en profite pour lancer firefox -safe-mode afin de désactiver le plugin splashtop qui empêche de charger les extension.
et plus qu’à aller chercher les anciennes versions des plugins.

pour gagner du temps vous pouvez télécharger un archive en tgz ou en zip. Dans cette archive il y a un fihier version32 qui est destiné à remplacer le fichier version qui est sous c:ASUS.SYS et que vous aurez bien pris soin de sauvegarder et un fichier va-xterm.sqx à déposer sous c:ASUS.SYS …

Première modifications à expressGate/splashtop

Cet article n’est qu’un compte rendu rapide du comment faire. Il s’agit de l’application des informations issue du forum phoronix. Pour plus d’infomation vous pouvez lancer une recherche sur expresgate hacking. Cette opé concerne expressgate sur eeepc où celui ci est stocké le disue dur windows et pas sur un SSD.

Commençons :
Le principe :
A la racine du disque dur windows vous trouverez un répertoire caché ASUS.SYS. Celui-ci contient entre autre un ensemble de fichiers avec l’extension sqx et un fichier version. Ce sont ces fichiers qui nous intéressent.
Le fichier version décrit la version de chaque fichier ainsi que son checksum. Afin de pouvoir fair le modification il faut le modifier. L’opération consiste à ne garder que les 32 premiers octets.
Donc l’amener sur linux et le raccourcir par dd

dd if=version bs=32 count=1 of=version32

plus qu’à remplacer sous ASUS.SYS le fichier version par notre version32
les fichier sqx contiennent chacun des élément par exemple bs-php….sqx contient php. C’est en fait un partie d’arboresence stocké sous forme d’un suashfs (un système de fichier très compressé en lecture seule). A noter qu’il s’agit de squashfs en version 3 la version du noyau de linux utilisé par expressgate étant incompatible avec la 4.
Il faut donc aller sur sourceforge charger une version 3 de squashfs et de compiler les squashfs-tools. C’est bon ? vous avez squashfs et unsquashfs ?
copier sur votre partition linux un des paquet et soumettez le unsquahfs (regardez le man) sous squashfs-root vous allez trouver la structure complète. Vous êtes donc prêt à faire vos première modifications …
ces modifcations faites un coup de squasfs pour créer un nouveau fichier .sqx le déposer sous ASUS.SYS et l’affaire est faite.

Ma première modification a consisté à m’attaquer au paquet bs-apache afin de pouvoir ouvrir la machine à l’utilisation d’outils php. Donc décompression du bs-apache modification de la configuration sous opt/apache/conf les dernière lignes du httpd.conf contiennent des règles de réécritures supprimer à partir re rewritecond.
resquacher remettre sous ASUS.SYS.
mettre à la racine de votre disque windows un fichier phpinfo.php contenant

<?php phpinfo();

éteindre passer sous expressgate lancer le navigateur et ouvrir
http://127.0.0.1:1080/links/winhdd/disk1/phpinfo.php

Et voilà

ENcore une idée loufoque – concevoir un site tout en Javascript

Ce matin, alors que je planchais dans une transformation d’un objets dom récupéré par xhtml … je me suis fait la réflexion suivante …

Pour concevoir une appli web en général on est obligé de jouer avec au mois trois langages différents qui n’ont rien à voir entre eux. L’idée de Sun de mettre java sur les serveurs et sur les clients a me semble t’il fait plus ou moins long feu, pourtant …

Et si on concevait une appli web uniquement en Javascript ? par exemple en concevant la page html comme un objet dom que l’on transmettrait en json … plus j’y pense plus je pense que cette idée devrait être creusée.

(Edit) en fait je m’aperçoit que pas ma ont déjà eu l’idée entre jsext (projet mort) jsdb et v8cgi.
J’aurais préféré un projet basé sur spidermonkey mais le seul que j’ai réussi à recompiler est en fait v8cgi

Slax livebox orange et IPV6

pour des besoins de test j’ai établi un petit script permettant de se connecter à travers une livebox en IPV6 en tunellant IPV6 en IPV4. Ce script est inspiré d’une description debian et a été mis au point / testé sur une SLAX. sur SLAX il nécessite le paquet iproute. Il faut aussi avoir un dyndns en place afin de pouvoir récupérer l’adresse V4 externe

#!/bin/sh
ADDRESS=`ip -f inet addr show |grep 192.168|sed 's/ *inet (192.168.1.[0-9]*).*/1/'`
IP=`host domain.dyndns.org|grep address|sed 's/.*address//' | tr "." " "`
IPV6=`printf "2002:%02x%02x:%02x%02x::1/16" $IP`
ip tunnel add tun6to4 mode sit ttl 74 remote any local $ADDRESS
ip link set dev tun6to4 up
ip -6 addr add $IPV6 dev tun6to4
ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4
echo nameserver 80.10.246.2 >> /etc/resolv.conf
echo nameserver 80.10.246.129  >> /etc/resolv.conf

Encore un wordpress multiblog

J’ai profiter de l’arrivée de WordPress 3 pour revoir ma stratégie de multi blog …
le but état de modifier au possible les modification de WordPress.
Mon premier pas a été de tenter la version Mu en créant un réseau de wordpress … intéressant mais imposant une format de d’URL. Alors que je voulait mixer du person.domain.tld/blog et du person.domain.tld. Cela est bien sur possible avec un peu d’url rewriting mais par contre il n’y a pas une vrai indépendance entre les blogs et pas de moyens très simple pour se réserver un blog de test …
La solution est un mélange d’URL Rewriting et Liens symboliques. Bien sur ce n’est jouable qu’à condition de pouvoir créer des liens symbolique ce qui n’est pas possible chez tout les hébergeurs, et la méthode varie suivant ceux-ci.
La racine du blog contiendra un fichier wp-config.php un .htaccess et un lien symbolique vers l’installation de wordpress.

Ce qui suit concerne l’installation chez 1and1
1) création du lien symbolique par exécution d’un petit php déposé à la racine de elui-ci Makelien.php

<?php
passthru('ln -s /kunden/homepages/xxx/xxxxxx/htdocs/chemin_pour/wordpress wordpress'); passthru('ls -l');

2) exécuter et supprimer le petit php
3) copier le répertoire wp-content à la racine du blog
4)ecrire .htacces avec ce contenu


Options +FollowSymLinks
RewriteEngine On
RewriteBase /blog

RewriteRule ^$ /blog/wordpress/index.php [L]

RewriteCond %{REQUEST_FILENAME} !/blog/wordpress/.*
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ wordpress/$1 

RewriteCond %{REQUEST_FILENAME} /blog/wordpress/.*
#RewriteCond %{REQUEST_FILENAME} !/blog/wordpress/wp.*
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /blog/wordpress/index.php [L]

Si le site n’est pas dans un sous répertoire blog supprimer la ligne RewriteBase et le /blog de chaque RewriteRule
5) poser à la base du blog un wp-config.php

<?php
// ** Réglages MySQL ** //
define('DB_NAME', 'xxxxxxxxxxxxxxxx');		// Le nom de la base de données
define('DB_USER', 'xxxxxxxxxxxxxxx');     		// Votre identifiant MySQL
define('DB_PASSWORD', 'xxxxxxxxxx'); 	// ...et votre mot de passe
define('DB_HOST', 'xxxxxxxxxxxx');    			// Dans la plupart des cas, vous n'aurez pas à modifier cette ligne
define('DB_CHARSET', 'utf8'); define('DB_COLLATE', ''); 
// Modifiez chaque KEY en y mettant une phrase unique.  Vous n'avez pas besoin de la mémoriser.
// Elle doit être longue et compliquée.  Vous pouvez aller sur le site http://api.wordpress.org/secret-key/1.1/ 
// afin de générer des phrases uniques pour votre installation. Chaques phrases doit être différentes.
define('AUTH_KEY', 'xxxxxxxxxxxxxxxxxxxxxx'); // Modifier par une phrase unique. 
define('SECURE_AUTH_KEY', 'xxxxxxxxxxxxxxxxxxxx'); // Modifier par une phrase unique.  
define('LOGGED_IN_KEY', 'xxxxxxxxxxxxxxxxxxxxxx'); // Modifier par une phrase unique.
define('NONCE_KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); 
 
// Vous pouvez faire plusieurs installations sur une même base de données, en leur donnant chacune un préfixe unique.
$table_prefix  = 'blog_xxxxxxxxx_';		// Que des chiffres, lettres ou caractères soulignés, s'il vous plait !
 
// Modifiez la ligne suivante pour traduire l'administration de WordPress. Il faut que le dossier
// wp-content/languages contienne un fichier .mo correspondant à la langue choisie.
// Par exemple,  installez de.mo dans wp-content/languages et précisez 'de' pour la variable WPLANG,
// si vous souhaitez mettre en place la traduction allemande.
define ('WPLANG', 'fr_FR'); define('WP_CONTENT_DIR',dirname(__FILE__).'/wp-content'); define('WP_CONTENT_URL','http://adresse_du_blog/wp-content'); define('WP_POST_REVISIONS', false); //pour éviter de surcharger la base de données
 
require_once(ABSPATH . 'wp-settings.php');

6) dans l’installation de wordpress (celle ou pointe les liens symboliques) créer un wp-config.php qui chargera le bon config-php suivant le nom du site d’appel.

<?php
define('ABSPATH', dirname(__FILE__) . '/'); switch ($_SERVER['HTTP_HOST'])
  {
    case 'person1.domain.tld' :
	    include_once('/kunden/homepages/xx/xxxxxx/htdocs/person1/blog/wp-config.php'); 	    break;     case 'person2.domain.tld' :
	 include_once('/kunden/homepages/xxxx/xxxxx/htdocs/person2/wp-config.php');          break;     default :
	    exit('Accès illégal');   }

plus rien n’empêchera les mises à jour automatiques des sites

Retour d’expérience choix de logiciel de montage AVCHD

Noël et passé et nous a apporté un camescope Sony haute définition (format AVCHD).
Le logiciel fourni ne permettant pas de faire des montages et le Web fourmillant de fausses pistes voici un article en forme de rapport de test. Le but étant de faire du montage sur une configuration pas très musclé (Portable Acer 1642z sous XP Familal)
A part peut être sous Seven Windows Movie Maker qui aurait suffit à mon bonheur ne permet pas de faire de montage HD à partir de film AVCHD. Je suis donc parti à la recherche ….
On trouve des articles parlant de la possibilité de montage AVCHD avec Windows Movie Maker Live sous Vista … et bien j’ai été dans l’incapacité d’importer la video (juste le son) donc ce n’est pas la solution peut être sous Seven le test aurait il été positif ?
La littérature faisait aussi référence à un codec Coreavc … la version de test ne me permettait pas d’obtenir une image de bonne qualité et une lecture complètement saccadé j’ai du abandonné la configuration de la machine est insuffisante pour ce Codec.
J’ai aussi essayé de faire appel à ffdhow et ffmpeg y compris à travers des convertisseur M2TS vers autre format HD …. j’ai obtenu des images assez dégradées notamment avec apparition de lignes horizontales au bout d’un certain temps.
J’ai téléchargé une version de test d’Adobe Première … l’installation n’est pas allée jusqu’au bout … décevant pour un produit relativement cher. Les pré-requis me laissaient entrevoir des problèmes de fonctionnement sur cette petite configuration, j’ai laissé tomber.
Vint au tour (j’aime cette expression désuète) de corel video studio … pas de problème d’installation … par contre à l’utilisation totalement inutilisable sur la configuration avec des blocages complets de l’ordinateur … pourtant l’import se passait plutôt bien. Dommage j’avais gardé une excellente image des produits Ulead.
Testé aussi avseditor assez sympa et fonctionnant avec libavcodec … mais l’image devenait trop rapidement saccadée … donc inutilisable dans ma situation.
Finalement après avoir lu les spécification j’ai tenté sony vegas movie studio HD … et bien j’ai pu réaliser simplement un petit montage et le sauvegarder en AVCHD … sans vraiment de soucis la fluidité était correcte … le temps de sauvegarde relativement court. La publication vers Wmv HD (VC-1) est par contre très long … mais on ne peut pas tout avoir.

Donc ce logiciel étant d’un prix très raisonnable (30€) par rapport aux produits du domaine et suffisamment léger ce sera donc mon choix. Je précise que je n’ai pas testé la version premium qui elle à l’avantage d’être en français mais ce n’est pas tout à fait le même tarif et vu le temps passé j’en tenais un je n’allais pas le lâcher.

C’est quand même un peu dommage que Sony disposant d’un produit plutôt complet ne le propose pas de base avec leurs camescope, ça fait finalement un peu économie de bout de chandelle …. ne pas fournir un produit de 30€ et faire des offres de remboursements de 50 à 100€ les voies du marketing seront toujours aussi obscures.
(ps à l’enregistrement du Camescope Sony propose 20% de remise sur des accessoires mais pas sur les logiciels de montage on devine une organisation en Bussiness Unit assez cloisonnée).

Changement disque Acer sous Vista

Après m’être beaucoup documenté j’ai procédé au changement de disque d’un portable ACER. Pour faire cette opération j’ai décidé d’utilisé un livecd de gparted un disque dur et un boitier externe achetés sur topachat.
Visiblement il y avait deux obstacle possible le fonctionnement de la partition de restauration et la possibilité de redémarrer. J’ai aussi vu qu’il fallait éviter de démarrer avec deux disques avec des partitions windows.
Pour ce point certains sites signalait des problèmes en cas de redimensionnement de la partition. Donc j’ai compris le message …. on duplique avec gparted et on étend avec Vista.

la démarche :
d’abord booter avec gparted
un fois gparted lancé brancher le disque dur préalablement installé dans le boitier externe. Lancer la console …
Dupliquer la MBR et la table de partition en utilisant dd dans mon cas dd if=/dev/sda of=/dev/sdb bs=512 count=1
on se retrouve donc sur le disque externe avec trois partition la première étant la partition cachée de restauration. Pour éviter des erreurs ultérieur on n’y touche surtout pas …. et on fait une copie bit à bit de la première partition du disque d’origine.
dd if=/dev/sda1 of=/dev/sdb1;sync;sync et on peut aller chercher le courrier et payer une facture.
A ce stade on s’est donc occupé de la partition de restauration …
Dans la fenêtre de Gparted on fait reconnaître les périphériques, on pointe sur le disque /dev/sdb.
Les partitions 2 et 3 sont actuellement vide et inutile on peut donc les supprimer.
Toujours avec Gparted on peut donc faire un copier coller des partition /dev/sda2 et /dev/sda3 sur /dev/sdb bien faire attention de ne pas accoler la troisième partition si on veut plus tard pouvoir étendre la place réservée au système (par tranquilité je lui ai laissé 80Go). On applique les modifications et on peut aller manger. Quelques temps plus tard le clonage des partitions est terminé il faut rendre la partition système bootable et ça se fait par un simple clique droit sur /dev/sdb2 et on bascule le drapeau.
Il ne reste plus qu’à arrêter la machine, démonter le disque dur, et remettre celui qui était dans le boitier externe. On redémarre et tada !!! ça marche. Vista est lancé.
IL faut maintenant profiter de la place en étendant les partitions. Démarrer/ordinateur clic droit Gérer et dans l’outil aller dans la gestion des stockages l’extension des partitions ne prend que 5 minutes.

(par sécurité j’ai basculé sur en caché la partition système de l’ancien disque dur une erreur et si vite arrivée).