<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>XGENUS &#187; Info</title>
	<atom:link href="http://www.xgenus.com/category/info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xgenus.com</link>
	<description>Vive le Libre</description>
	<lastBuildDate>Tue, 31 Jan 2012 21:47:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Automatisation de déploiement Android</title>
		<link>http://www.xgenus.com/2012/01/16/automatisation-de-deploiement-android/</link>
		<comments>http://www.xgenus.com/2012/01/16/automatisation-de-deploiement-android/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 21:27:07 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Info]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[déploiement]]></category>

		<guid isPermaLink="false">http://www.xgenus.com/?p=114</guid>
		<description><![CDATA[J&#8217;ai longtemps cherché pour le travail à configurer des téléphones Android de façon automatique. Il n&#8217;y a pas d&#8217;outils de déploiement professionnel ou je n&#8217;en ai pas trouvé. Des produits payant comme Afaria de Sybase existe, mais eux même sont soumis à l&#8217;immense diversité d&#8217;Android. Le scripting python apporte souvent des solutions. Sur Android, il [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai longtemps cherché pour le travail à configurer des téléphones Android de façon automatique. Il n&#8217;y a pas d&#8217;outils de déploiement professionnel ou je n&#8217;en ai pas trouvé.<br />
Des produits payant comme Afaria de Sybase existe, mais eux même sont soumis à l&#8217;immense diversité d&#8217;Android.</p>
<p>Le scripting python apporte souvent des solutions. Sur Android, il existe <a href="http://code.google.com/p/android-scripting/">SL4A</a> (Scripting Layer for Android) qui permet en effet de coder rapidement de petites choses. Mais rien pour contrôler d&#8217;autres applications ou paramètres du système. On peut rapidement s&#8217;amuser avec la webcam pour scanner des codes barres, appeler des webservices, etc&#8230;</p>
<p>J&#8217;ai cherché à regarder du côté de la ligne de commande avec adb (Android Debug Bridge) qui permet d&#8217;installer des applications, de les lancer ou encore d&#8217;avoir un shell (plus que limité si on a pas rooté son téléphone).</p>
<p>J&#8217;ai aussi essayé le développement d&#8217;application pour simuler des touches ou des cliques. De rare code source sont disponible mais non fonctionnel. Les fonctions ou librairies ayant disparu des versions plus récente du SDK. On peut avec des Intent ouvrir des Activity mais bon rien de nouveau à adb.<br />
On est dans un environnement comme chrooté, et on ne peut ouvrir la base Sqlite d&#8217;une autre application.</p>
<p>En continuant dans la piste du dévelopement, j&#8217;ai trouvé <a href="http://code.google.com/p/robotium/">Robotium</a> qui permet enfin d&#8217;avoir des résulats intéressant avec la grosse limite qu&#8217;on ne peut l&#8217;utiliser que sur ses propres applications. On peut aussi automatiser d&#8217;autres applications en changeant les certificats de l&#8217;APK et en les remplaçant par les siens. J&#8217;ai pu ainsi avoir une version de K9Mail qui me permettait une auto-configuration de compte mail IMAP directement lié à notre gestion de parc. Le principe est simple, récupération du numéro de série du téléphone, récupération de l&#8217;utilisateur, récupération des paramètres du compte mail de l&#8217;utilisteur et remplissage des valeurs avec la simulation de clique (un peu comme avec AutoIt sous windows)</p>
<p>Après avoir fini le travail, j&#8217;ai trouvé <a href="http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html">MonkeyRunner</a> qui permet en python de simuler des cliques et la frappe clavier, le lancement d&#8217;Activity directement depuis le PC lié au téléphone (le python étant en fait éxécuté en Jython avec les outils google). Plus besoin de modifier des applications (qui n&#8217;est pas toujours possible surtout avec les ROM de certains constructeurs/opérateurs) mais on a pas la même souplesse. On ne peut pas attendre une boite de dialogue, ou alors en faisant une copie d&#8217;écran et de l&#8217;analyse d&#8217;image&#8230; </p>
<p>Bref, on peut faire des choses pour automatiser mais c&#8217;est loin d&#8217;être une solution d&#8217;entreprise pour gérer le déploiement d&#8217;un parc de téléphone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xgenus.com/2012/01/16/automatisation-de-deploiement-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Récupération de certains fichiers dans une archive tar</title>
		<link>http://www.xgenus.com/2011/11/28/recuperation-de-certains-fichiers-dans-une-archive-tar/</link>
		<comments>http://www.xgenus.com/2011/11/28/recuperation-de-certains-fichiers-dans-une-archive-tar/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 09:44:05 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Info]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://www.xgenus.com/?p=107</guid>
		<description><![CDATA[Souvent on oublie comment faire en ligne de commande pour lister le contenu ou récupérer un seul fichier d&#8217;une archive tar. Pour rappel : Lister le contenu du fichier mon_archive.tgz : tar -t mon_archive.tgz Décompresser un fichier se trouvant dans mon /: tar -xvzf mon_archive.tgz chemin_du_fichier/fichier Attention à bien mettre le chemin complet comme vous [...]]]></description>
			<content:encoded><![CDATA[<p>Souvent on oublie comment faire en ligne de commande pour lister le contenu ou récupérer un seul fichier d&#8217;une archive tar.<br />
Pour rappel : </p>
<p>Lister le contenu du fichier mon_archive.tgz :<br />
<code>tar -t mon_archive.tgz</code></p>
<p>Décompresser un fichier se trouvant dans mon /:<br />
<code>tar -xvzf mon_archive.tgz chemin_du_fichier/fichier</code></p>
<p>Attention à bien mettre le chemin complet comme vous l&#8217;avez vu en listant le contenu.<br />
Dans le cas d&#8217;un fichier à l&#8217;intérieur de répertoires, la décompression va créer tous les répertoires dans le répertoire courant.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xgenus.com/2011/11/28/recuperation-de-certains-fichiers-dans-une-archive-tar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forward de port avec Xinetd</title>
		<link>http://www.xgenus.com/2011/10/04/forward-de-port-avec-xinetd/</link>
		<comments>http://www.xgenus.com/2011/10/04/forward-de-port-avec-xinetd/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 20:52:07 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Info]]></category>

		<guid isPermaLink="false">http://www.xgenus.com/?p=91</guid>
		<description><![CDATA[Il est souvent utile de forwarder un port d&#8217;un serveur à un autre comme pour une migration de service et que les caches DNS ne sont pas maîtrisable. La configuration est très simple, il suffit de créer un fichier contenant le port à binder et le service de destination comme ci-dessous : service [nom_du_service] { [...]]]></description>
			<content:encoded><![CDATA[<p>Il est souvent utile de forwarder un port d&#8217;un serveur à un autre comme pour une migration de service et que les caches DNS ne sont pas maîtrisable.<br />
La configuration est très simple, il suffit de créer un fichier contenant le port à binder et le service de destination comme ci-dessous :</p>
<p><code><br />
service [nom_du_service]<br />
{<br />
type = UNLISTED<br />
flags = REUSE<br />
socket_type = stream<br />
wait = no<br />
user = root<br />
redirect = [ADDRESSE_IP] [PORT]<br />
port = [PORT]<br />
}<br />
</code></p>
<p>Il reste plus qu&#8217;à recharger la configuration : /etc/init.d/xinetd restart</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xgenus.com/2011/10/04/forward-de-port-avec-xinetd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sécuriser en SSL un protocole qui ne le gère pas ? Stunnel est la solution</title>
		<link>http://www.xgenus.com/2010/08/23/securiser-en-ssl-un-protocole-qui-ne-le-gere-pas-stunnel-est-la-solution/</link>
		<comments>http://www.xgenus.com/2010/08/23/securiser-en-ssl-un-protocole-qui-ne-le-gere-pas-stunnel-est-la-solution/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 09:58:55 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Info]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://www.xgenus.com/?p=73</guid>
		<description><![CDATA[Comment gagner du temps à rajouter la sécurisation SSL/TLS d&#8217;un protocole sans avoir à modifier le code source ? La solution est stunnel Pour une debian, il suffit d&#8217;installer stunnel, puis d&#8217;éditer le fichier /etc/default/stunnel4 Puis de mettre le flag ENABLED=1 Il faut créer un certificat SSL (par ex) : openssl req -new -x509 -days [...]]]></description>
			<content:encoded><![CDATA[<p>Comment gagner du temps à rajouter la sécurisation SSL/TLS d&#8217;un protocole sans avoir à modifier le code source ?<br />
La solution est <a href="http://www.stunnel.org/">stunnel</a></p>
<p>Pour une debian, il suffit d&#8217;installer stunnel, puis d&#8217;éditer le fichier <em>/etc/default/stunnel4</em><br />
Puis de mettre le flag <code>ENABLED=1</code></p>
<p>Il faut créer un certificat SSL (par ex) :<br />
<code>openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem</code></p>
<p>Puis on commente et on rajoute le protocole qu&#8217;on veut protéger du fichier <em>/etc/stunnel/stunnel.conf</em> (exemple) :<br />
<code>;[https]<br />
;accept  = 443<br />
;connect = 80<br />
;TIMEOUTclose = 0</p>
<p>[mosquitto]<br />
accept = 8883<br />
connect = 1883</code></p>
<p>On lance stunnel :<br />
<code>/etc/init.d/stunnel4 start</code></p>
<p>Et c&#8217;est fait.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xgenus.com/2010/08/23/securiser-en-ssl-un-protocole-qui-ne-le-gere-pas-stunnel-est-la-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logguer des connexions réseaux avec Iptables</title>
		<link>http://www.xgenus.com/2010/08/04/logguer-des-connexions-reseaux-avec-iptables/</link>
		<comments>http://www.xgenus.com/2010/08/04/logguer-des-connexions-reseaux-avec-iptables/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 09:30:27 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Info]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://www.xgenus.com/?p=69</guid>
		<description><![CDATA[Souvent on ne sait plus si tel ou tel service est encore utilisé. Les services n&#8217;ont pas tous des logs propres sur la date et l&#8217;ip de connexion. On peut facilement grace à iptables logguer ses informations. Par exemple , voici la ligne de commande pour voir les connexions au TNSListner d&#8217;Oracle (TCP port 1521) [...]]]></description>
			<content:encoded><![CDATA[<p>Souvent on ne sait plus si tel ou tel service est encore utilisé.<br />
Les services n&#8217;ont pas tous des logs propres sur la date et l&#8217;ip de connexion.<br />
On peut facilement grace à iptables logguer ses informations.<br />
Par exemple , voici la ligne de commande pour voir les connexions au TNSListner d&#8217;Oracle (TCP port 1521) avec l&#8217;en-tête &laquo;&nbsp;** ORACLE **&nbsp;&raquo; qui apparaitra dans le /var/log/syslog ou messages (en RedHat) :<br />
<code>iptables -A INPUT -p tcp --dport 1521 -j LOG --log-prefix '** ORACLE **' --log-level 4</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xgenus.com/2010/08/04/logguer-des-connexions-reseaux-avec-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bonjour tout le monde !</title>
		<link>http://www.xgenus.com/2009/11/15/bonjour-tout-le-monde/</link>
		<comments>http://www.xgenus.com/2009/11/15/bonjour-tout-le-monde/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 20:00:42 +0000</pubDate>
		<dc:creator>jeff</dc:creator>
				<category><![CDATA[Info]]></category>

		<guid isPermaLink="false">http://gaia.wnet.fr/jeff/xgenus/wordpress/?p=1</guid>
		<description><![CDATA[Bienvenue sur mon site. Comme tout le monde peut le voir, j&#8217;ai choisi WordPress pour partager mes connaissances, et expériences sur Internet. J&#8217;ai longtemps réfléchi entre un Wiki, un site Joomla ou encore un blog. La facilité de WordPress (et autres blogs) me permettra d&#8217;écrire rapidement des astuces, des infos sur des technos que j&#8217;essaye. [...]]]></description>
			<content:encoded><![CDATA[<p>Bienvenue sur mon site.</p>
<p>Comme tout le monde peut le voir, j&#8217;ai choisi <strong>WordPress</strong> pour partager mes connaissances, et expériences sur Internet.<br />
J&#8217;ai longtemps réfléchi entre un Wiki, un site Joomla ou encore un blog.<br />
La facilité de WordPress (et autres blogs) me permettra d&#8217;écrire rapidement des astuces, des infos sur des technos que j&#8217;essaye.</p>
<p>J&#8217;espère que ce site vous donnera des infos que vous n&#8217;auriez pas trouvées ailleurs, et le goût aux nouvelles technologies, plus particulièrement celles du Libre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xgenus.com/2009/11/15/bonjour-tout-le-monde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

