Fantomas' side - Articles pour le tag robothttps://blog.fantomas.site/blog/tags/robot/Les derniers articles taggés sous robotfrCopyright (c) 2005-2018, Julien FacheFri, 17 Feb 2017 20:23:53 +0000Des certifs et des bots https://blog.fantomas.site/blog/2017/02/15/des-certifs-et-des-bots/ <img src="/media/cache/fe/fb/fefbb039279fa0435d58de63b71ec8ae.jpg" alt="Des certifs et des bots" /> <p>Je ne sais pas si c'est le passage à Firefox 51, qui met désormais bien en avant le manque de connexion sécurisée sur les sites consultés ou le contexte ambiant qui donne envie de chiffrer ses communications, mais j'ai donc décidé d'utiliser <a href="https://fr.wikipedia.org/wiki/HyperText_Transfer_Protocol_Secure" title="HTTPS">HTTPS</a> pour servir ce blog et mes autres sites. </p><p>Enfin surtout ceux contenant des données personnelles ou nécessitant de se s'authentifier, car mon problème est surtout là. Le vol d'identifiants devient de ce fait moins facile.</p><p>N'étant pas très familier avec ce genre de procédures, je me suis naturellement tourné vers <a href="https://letsencrypt.org/">Let's Encrypt</a> et le script <a href="https://certbot.eff.org/">certbot</a> fourni par l'<a href="https://www.eff.org/fr">EFF</a>, pour obtenir et mettre en place les certificats sur le serveur. </p><p>Après quelques minutes de lectures et de tests, facilement j'ai pu générer et installer les certificats de sécurité nécessaire, adapter les configurations Apache, et le tour était joué. Je me rapelle d'une époque où cela prenait bien plus de temps.</p><p>Un des points fort de certbot est l'automatisation du processus de validation nécessaire pour obtenir un certificat. Le renouvellement automatique des certificats est donc pris en charge, en lançant le tout périodiquement en cronjob par exemple. </p><p> Franchement il est difficile de faire plus simple, surtout à ce prix là (<em>gratuit</em>), c'est une belle initiative qui mérite d'être saluée.</p><p>Si je devais trouver un défaut à certbot, cela serait le plug-in Apache, qui à l'heure actuelle ou j'écris ces lignes, fait quelque peu défaut, surtout si vous avez une configuration complexe. </p><p>Revoyons la procédure en pas à pas et avec l'exemple : </p><h3>Installer certbot :</h3><pre>wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto ./certbot-auto # Installe les dépendances <br />a2enmod ssl # On installe le mod SSL pour Apache</pre><h3>Récupérer un certificat pour son domaine :</h3><pre>./certbot-auto certonly -d mon.domaine -d www.mon.domaine </pre><h3>Adapter sa configuration Apache</h3><pre>&lt;VirtualHost *:80&gt; # On redirige tout le trafic HTTP vers HTTPS ServerName mon.domaine ServerAlias www.mon.domaine RewriteEngine on RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] &lt;/VirtualHost&gt; &lt;IfModule mod_ssl.c&gt; &lt;VirtualHost *:443&gt; # On entre en version HTTPS ServerName mon.domaine ServerAlias www.mon.domaine # Ici votre conf d'habituelle # On installe les certificats et la configuration SSL SSLCertificateFile /etc/letsencrypt/live/mon.domaine/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/mon.domaine/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf &lt;/VirtualHost&gt; &lt;/IfModule&gt;</pre><h3>Mettre en place le cronjob</h3><pre>25 0,12 * * * ./certbot-auto renew --quiet</pre><p>Merci qui ? Merci Let's Encrypt et l'EFF !</p> fantomas42@gmail.com (fantomas)Wed, 15 Feb 2017 15:25:28 +0000https://blog.fantomas.site/blog/2017/02/15/des-certifs-et-des-bots/DécouvertesExpériencesVeliberator is alive https://blog.fantomas.site/blog/2015/03/18/veliberator-alive/ <img src="/media/cache/81/d8/81d82d0abd1cd34e9ef24554f4f07cb7.jpg" alt="Veliberator is alive" /> <p>Il y a quelques jours, j'ai décidé de mettre à jour le code de <a href="https://github.com/Fantomas42/veliberator">veliberator</a>, l'API qui me sert à récupérer en direct les informations du réseau Vélib'. Je vous en avais déjà parlé lors d'un <a href="http://fantomas.willbreak.it/blog/2009/09/24/le-temps-des-releases-veliberator/">article précèdent</a> en 2009.</p><p>Donc après avoir fini la mise à jour de 2015, je me suis demandé à quel point il était compliqué d'en faire un robot pour <a href="http://fr.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a>, une vieille idée qui me trottait en tête depuis longtemps.</p><p>Or après quelques recherches il est assez simple de faire un bot IRC, grâce à la <a href="https://pypi.python.org/pypi/irc">librairie irc pour Python</a>. Un module étant même fourni spécifiquement pour écrire ce genre de robot.</p><p>Malgré une documentation éparse, j'ai pu en quelques heures mettre sur pied une version IRC de veliberator me permettant de trouver les stations libres les plus proches.</p><p>Pour rencontrer veliberator le robot, connectez-vous sur <a href="irc://irc.freenode.net/#velib">irc.freenode.net/#velib</a> et écrivez une des choses suivantes:</p><blockquote><p>veliberator, status 42001<br />veliberator, address tour eiffel<br />veliberator, help</p></blockquote><p>Quand c'est facile et utile, le développement devient plus qu'un plaisir.</p> fantomas42@gmail.com (fantomas)Wed, 18 Mar 2015 19:11:41 +0000https://blog.fantomas.site/blog/2015/03/18/veliberator-alive/DéveloppementAnalyse hiérarchique par le contenu https://blog.fantomas.site/blog/2008/12/14/analyse-hierarchique-par-le-contenu/ <img src="/media/cache/8b/34/8b34dc4ae060294c4321957d71309f39.jpg" alt="Analyse hiérarchique par le contenu" /> <p>Je suis actuellement en train de lire un livre sur les différents types d'intelligences dîtes collectives. C'est à dire l'analyse de données représentant les choix, ou les comportement de plusieurs personnes, et comment en extraire des vérités globales. </p><p>Une des première applications à laquelle je me suis attaqué à été de construire un <strong>Feed Clusterer</strong> en Python, servant à effectuer des regroupements par pertinences entre différents sites web. </p><h1>Comment ca marche ?</h1><p>Tout site web qui se respect propose un service de Flux RSS ou Atom, résumant les dernières actualités publiées sur le site. L'idée est d'en récupérer le contenu et d'en extraire une liste de mot pertinents. </p><p>En calculant le <a href="http://en.wikipedia.org/wiki/Pearson%27s_correlation_coefficient" title="Coefficiant de Pearson sur Wikipedia">coefficient de Pearson</a> en me basant sur les fréquences de mots comme vecteur, je peux en constituer des groupes et les classer de façon hiérarchique. </p><p>Pour visualiser cela, il suffit ensuite de tracer un <strong>dendogramme</strong>. Un dendogramme va représenter les groupes et la distance entre chaque groupes sur un ensemble de branches. Comme le montre l'image de l'article. </p><p>Ceci reste une expérience à petite échelle, mais imaginons maintenant toutes les données que récoltent les gros site web, en particulier ceux à vocations sociales, comme FaceBook, Twitter, MySpace, et n'oublions pas certains moteurs de recherches qui avec leurs dizaines de services sont capables de tracer toutes nos habitudes. </p><p>Je ne rentrerais pas dans le détails de toutes les applications inimaginables avec ces données pour tracer les gens, mais de plus avec l'internet mobile, on fournit une nouvelle donnée, c'est à dire le lieu et donc les conditions dans lesquelles on est quand on décide d'acheter un livre sur Amazon. </p><p>Marketing ciblé, ou Big Brother ? Où est la différence ? <br />A titre personnel, je pense que la différence se fera quand on mettra à profit les intelligences collectives au services de l'intelligence humaine, et non à son asservissement, commercial ou autre. </p><p> Donc pour finir j'ai décidé de programmer une application Django mettant à l'ouvrage cette étude, qui servira à proposer une navigation différente sur le site. Bientôt la release. :)</p> fantomas42@gmail.com (fantomas)Sun, 14 Dec 2008 00:33:28 +0000https://blog.fantomas.site/blog/2008/12/14/analyse-hierarchique-par-le-contenu/DéveloppementExpériencesOgame Statistics https://blog.fantomas.site/blog/2008/03/02/ogame-statistics/ <img src="/media/cache/7a/36/7a3635d3277fc35ef96d0597c303e101.jpg" alt="Ogame Statistics" /> <p>Lors de mon dernier article, je vous ai parlé de Open Flash Chart, en vous spécifiant que cela avait un rapport avec un prochain article, cet article le voilà. </p><p><a href="http://ostat.upasika.org" title="Ogame Statistics">Ogame Statisitics</a> est un nouveau site que je viens d'ouvrir permettant de consulter les statistiques de tous les joueurs et alliances présents sur un univers de jeu de <a href="http://ogame.fr" title="Ogame.fr">Ogame</a>. </p><p>Le site réalisé grâce au framework <a href="http://www.djangoproject.com" title="Django Project">Django</a>, permet de créer une interface visuel des statistiques collectées par un module de mon robot pour Ogame, <a href="http://fantomas.willbreak.it/2008/jan/22/ogame-attack-watcher-la-suite/" title="Ogame Attack Watcher, la suite !">Obot</a> dont j'ai déjà parler précèdement sur le blog. </p><p>En effet j'ai développé un nouveau module pour mon robot permettant de récolter toute les statistiques à un moment donné sur un serveur de jeu.</p><p> Des initiatives ont déjà été prises pour effectuer des visualisations de statistiques, utiles pour les alliances, mais le gros inconvénient de ces systèmes est qu'il est nécessaire de rentrer les données manuellement et assez fréquemment pour obtenir un suivi, ce qui est une tache longue et répétitive donc idiote :) </p><p> Là où se démarque Ogame Statistics, est que la mise à jours des données est automatique et régulière, car elle est prise en charge par Obot :) </p><p> Au menu du site, on trouvera un moteur de recherche, pour permettre de retrouver son profil ou son alliance, ses dernières statistiques, ainsi que celle de son alliance, et des graphiques d'évolutions réalisés avec Open Flash Chart. Une petite touche d'Ajax avec <a href="http://www.jquery.com" title="jQuery.com">jQuery</a> pour le trie des données et le résultat n'en est que mieux. </p><p>La version 1.0 vient de sortir, mais va venir s'agrémenter de nouvelles fonctionnalités orientés sur la comparaison des différents univers de jeux, et la gestion des alliances inter-univers. </p><p>Le site : <a href="http://ostat.upasika.org" title="Ogame Statistics">Ogame Statistics </a></p> fantomas42@gmail.com (fantomas)Sun, 02 Mar 2008 19:59:32 +0000https://blog.fantomas.site/blog/2008/03/02/ogame-statistics/DéveloppementOgame Attack Watcher, la suite ! https://blog.fantomas.site/blog/2008/01/22/ogame-attack-watcher-la-suite/ <img src="/media/cache/1f/0e/1f0e63cdd26059036d598f5b9495aca4.jpg" alt="Ogame Attack Watcher, la suite !" /> <p>Cela fait maintenant quelques semaines que le silence se fait sur le blog, ceci est du au développement intensif de mon dernier projet, mon robot pour Ogame, j'ai nommé <strong>Obot</strong>. C'est l'occasion idéale de faire un focus sur la progression de ce projet.</p> <p>Je résume le projet dont <a href="http://fantomas.willbreak.it/blog/2007/sep/25/ogame-attack-watcher/" title="Ogame Attack Watcher">j'ai parlé dans un article précédent</a> : j'ai ouvert le site web <a href="http://oaw.upasika.org" title="oaw.upasika.org">OAW</a> pour mettre à disposition les avancées techniques du robot, et éventuellement recruter de nouveaux contributeurs pour ce projet.</p> <p>Avec actuellement en frontal un site réalisé grâce au framework python <a href="http://www.djangoproject.com" title="Le site du framework Django">Django</a>, qui m'as permis d'interfacer des fonctionnalitées de la librairie <strong>Obot</strong>, comme la vérification du compte Ogame à l'inscription, j'ai réalisé le paramétrage du robot via des interfaces en Ajax, et une internationalisation facile à mettre en place et à mettre à jours.</p> <p>J'ai déployé en arrière plan une version stabilisée par des tests unitaires et fonctionnels, une version serveur du robot, capable de gérer jusqu'à 1000 comptes en simultanés (vive la théorie :p)</p> <p>Résultat, le premier bot <strong>online gratuit</strong> pour Ogame ! <strong>Open-source</strong> en plus :D</p> <p><a href="http://oaw.upasika.org" title="Ogame Attack Watcher"><strong>http://oaw.upasika.org</strong></a></p><p>Dénommé à la base Ogame Attack Watcher, car à la base le robot et le site web étaient uniquement destinés à la surveillance des attaques sur les planètes de son compte, le développement de la librairie de fonctions contenues dans <strong>Obot</strong> a pris une tournure différente : automatiser et optimiser le développement ses planètes.</p> <p>Au programme :</p><ul><li>Alerte par e-mail en cas d'attaques ou autres événements</li><li>Édification automatique des bâtiments</li><li>Constitution automatique de la flotte</li><li>Construction automatique des défenses</li><li>Développement automatique de la recherche</li><li>Stratégie de rétablissement du niveau d'énergie</li><li>Stratégie de préservation des points en cas d'attaque ennemie</li><li>Envois par e-mail des nouveaux messages in-game</li></ul><p>Les fonctionnalités actuelles du robot permettent de délaisser son compte pendant plusieurs jours sans avoir à s'inquiéter de son développement, sans avoir à se mettre en mode vacance !</p> <p>L'API générale étant stabilisée, le développement des fonctionnalités a été plutôt rapides, chacune étant modulaires, ont peux très bien les activer à la demande par simple configuration.</p> <p>Les développements actuels concernent le site web, mais aussi dans le perfectionnement des modules de stratégie, et pour finir je vais bientôt commencer le développement du module automatisant le raid. Il est aussi necessaire de maintenir le code à jour du fait, des modifications apportées sur les pages du jeu et des règles. Pour l'instant le robot tourne jusqu'à la version <em>0.78c</em> du jeu.</p> <p>Pour une version téléchargeable, ce n'est pas pour tout de suite, n'ayant pas toutes les compétences sur le paquetage d'application python surtout sur plate-forme Windows. Je fais un appel donc aux bonnes volontés :) La distribution des sources pour les utilisateurs avancés, peux se faire par le svn, par simple demande mail.</p> fantomas42@gmail.com (fantomas)Tue, 22 Jan 2008 21:29:57 +0000https://blog.fantomas.site/blog/2008/01/22/ogame-attack-watcher-la-suite/DéveloppementOgame Attack Watcher https://blog.fantomas.site/blog/2007/09/25/ogame-attack-watcher/ <img src="/media/cache/56/35/5635fe8697215a2a69270321a475876b.jpg" alt="Ogame Attack Watcher" /> <p><a href="http://ogame.willbreak.it" title="OGame Attack Watcher">Ogame Attack Watcher</a> (OAW) est un programme écrit en Python qui permet la surveillance de comptes inter-univers pour <a href="http://fr.wikipedia.org/wiki/Ogame" title="Fiche wikipedia sur OGame">OGame</a>.</p> <p>En effet OGame est un jeu de rôle massivement multijoueurs en ligne, qui se joue à travers un navigateur internet.</p> <p>L’intérêt de ce programme est de pouvoir surveiller à distance son compte de toutes tentatives d'attaques sur ses planètes, qui pourraient ruiner des semaines d'efforts. Le programme se connectera toute les 30 minutes sur votre compte et vous préviendra par email de toute attaques, laissant le temps de préparer une manœuvre.</p> <p>Le plaisir d'écrire ce programme pour moi a été de pouvoir recevoir ces attaques directement sur mon téléphone mobile pour pouvoir savoir de n'importe où si je me fais attaquer sur le jeu, le tout grâce au transfert d'email :) Ce que je vous recommande de faire fortement.</p> <p>Une seconde version du programme est en cours d'écriture, avec beaucoup plus de fonctionnalités :</p><ul><li>Migration des flottes et des ressources en cas d'attaques.</li><li>Construction de batiments, défense, recherches</li><li>Mode Raider :p</li></ul><p>Les bonnes volontées sont les bienvenues d'ailleurs.</p><p>Il ne manque juste l'adresse du programme pour pouvoir s'enregistrer et utiliser OAW : <a href="http://ogame.willbreak.it" title="Ogame Attack Watcher">http://ogame.willbreak.it</a> ou directement <a href="http://oaw.upasika.org" title="Nouvelle adresse !">http://oaw.upasika.org</a></p> <p>Le svn du projet en version 2 :</p><p> <a href="http://obot.upasika.org" title="SVN Obot">http://obot.upasika.org</a></p> fantomas42@gmail.com (fantomas)Tue, 25 Sep 2007 12:55:32 +0000https://blog.fantomas.site/blog/2007/09/25/ogame-attack-watcher/Développement