Demande d'information
Alignement des images
Les balises audio et video foirent
Planète Libre et Micro-blogging
Mis à jour du flux RSS
Partages ?
®om
4LW
Admin-Linux
agatzebluz
Aldevar
Another Pinky Punky
AnTav
Antistress
Antoine Millet
Antonin Moulart
archi02
arNuméral
Artisan Numérique
Asher256
Aternatik
Aurélien Bompard
Bastnic
Benkemoun
Bilbo Planet
Biscotte
Blogmotion
bochecha
botchchikii
bouleetbil
Boutor
Breizh ardente
Cairo-Dock
Cameleon
Capof's Space
Captaine74
Carl Chenet
Cedynamix
champtoussel dominique
ChEza
Chicha
Chimrod
Christophe-Marie
Clapico
Corbier
Costalfy
Creasy
CSM 'illovae' Seldon
CyberSDF
Cyrille BORNE
dada
dahu_fou
Damien Cougar
Damocles
Daria
David Dup
David Larlet
Davromaniak
Ddmdllt
Des nouvelles de Wikilivres
Desidia
Devil505
Dhoko
DigitalSpirit
djibux
Dorian Dd
Duchatelet
E-PhasE
Eddy33
Edouard
Effraie
eMerzh
Emilien Macchi
Emilpoe
Emmanuel Gontcho
Emmanuel Kasper
Equinoxefr
Eric
Exceed
FACIL
Facilinux
Feilong
fgallaire
Finss
florentg
floruby
Fonctionerd
Framablog
François
Franck Archange
FredBezies
Full Circle Magazine
Fuse
Génération Linux
G3L
Gaëtan Tenshu
Gilir
Grégory Gutierez
Gregory Colpart
Guillaume Kulakowski
Hugues
Hyla project
Il Palazzo-sama
inalgnu
Jérémy Verda
Jeff
jeremy2491
jeromeg
jesuislibre
JJL
Johan Cwiklinski
Jonathan Ernst
Jonathan Le Lous
Jopa
Jp Fox
Juky
Julien
Julius
ka.da
Kagou
kamagatos
Kate
Kiddo
KissCoolMan
Labo-Linux
LeDucDuBleuet
Lemarinel
Lenezir
Liberez le tux
Libre Astux
Linalis
Littlewing
Louis Roché
lowje
Luc
Macsim
Manu Absolacom
Marco
Matao
Mathieu Comandon
Maxime Carron
McKey
meepix
Michael Zwyssig
Michauko
Mickaël
Minimumserious
Monitoring-FR
Morot
Motarion
mozillaZine-fr
Mr.Yann
MrTom
Nÿco
Naparuba
Nicofo
Nicolargo
Nicosmos
Nicoz
NiKo
nizarus
Noplay
Olivier Faurax
Olivier Prieur
Omega
Oncle Tom
Op'Aisne Source
openSyd
opossum1er
Osku
OxyRadio
Paquet Fedora du Jour
Pascal Chevrel
pc-kc
Peck
Phil
Pianopenguin
Pingax
PlayOnLinux
Ploum
Pokemon_JOJO
Poupoul2
Rémi Samier
Raphaël Hertzog
Ravomavain
Renaud Littolff
Renault
Respawner
Retouche Libre
Ricard
Robin Millette
Roland Mas
RollsRox
Rydgel
Saïmon
Samuel Martin
Sauthier
SckyzO
Scoffoni
Scurz
Shnoulle
Silvyn
Skhaen
Slobberbone
Splitsch
StandarT
StephZ
Sylvain
System Linux
Taltan
Tbellemb
Tchouvince
theClimber
TheGlu
TheLinuxFr
Thibaut
Thierry Andriamirado
Thom1
Thomas Bassetto
Tigrou Damien
TitaX
toitoinebzh
Toorop
TrouveTonGull.info
Tuxargon
Tuxicoman
U-Classroom
Uggy
Ulrich Diplodocus
Une goutte de blog
Uselink
Vanaryon
VELCS
Vetsel
Warren Dumortier
Wattazoum
Wavemaker
Weedfast
Yannig
yeKcim
Yellowiscool
Yoho
Yves Gesnel
Zanko
Zic
Zippy
ZitrouilleL'extension Openplanet pour Dotclear permet de créer un planet sur votre blog, un regroupement de blogs par le biais des fils de syndication (rss, atom...).
J'ai eu à l'installer pour le site http://planet.madeinfr.org/ mais quelques problèmes rencontrés m'ont obligé à le modifier quelque peu.
Je publie donc la version modifiée et le patch basé sur la version 1.2 bêta 2.
Voici la liste des corrections / ajouts :
Les sources sont en pièce jointe à ce billet.
Il est assez simple d'ajouter des éléments dans le menu principal et notamment des raccourcis vers des applications utiles, pour cela, il suffit d'éditer le fichier xml /etc/systemui/systemui.xml et d'y ajouter quelques lignes.
Par exemple, pour ajouter dans le menu, un raccourci vers htop et deux entrées permettant de rédémarrer la machine, il suffit d'ajouter dans le fichier xml le texte en vert suivant :
[...]
<menuitem priority="20" name="Reboot">
<return>6</return>
<po>osso-powerup-shutdown</po>
</menuitem>
<menuitem priority="10" name="Soft poweroff">
<return>7</return>
<po>osso-powerup-shutdown</po>
</menuitem>
<menuitem priority="5" name="Htop in XTerm">
<callback service="com.nokia.xterm" path="/com/nokia/xterm" interface="com.nokia.xterm"
method="run_command" bus="session" autostart="true">
<argument type="string">/usr/bin/htop</argument>
</callback>
</menuitem>
</powerkeymenu>
Et voilà le résultat :

Voici un tout petit programme de moins de 20 lignes permettant très simplement de surveiller un serveur grâce aux protocoles Jabber.
Il suffit de créer un compte Jabber spécifique pour le serveur à surveiller, et de l'ajouter dans votre liste de contacts, celui-ci apparaitra avec pour status la charge du système, pratique ! non ?
En prérequi, il vous faut juste le gem xmpp4r-simple, installez le comme ceci :
sudo gem install xmpp4r-simple
Le code est très facilement étendable selon vos besoins, je vous laisse faire...
require 'rubygems' require 'xmpp4r-simple' LOGIN='le_compte_du_serveur@im.apinc.org' PASS='lepass' DEST='votre_compte_perso@im.apinc.org' begin $im = Jabber::Simple.new(LOGIN, PASS) $im.deliver(DEST, "Hello !") loop do $im.status(nil, `hostname`.strip + ' : ' + `cat /proc/loadavg`.split.first(3).join(' ')) sleep 30 end rescue => e p e; sleep 10 retry end
Lancez maintenant le script :
ruby jabber.rb
Voilà un petit aperçu du résultat dans Pidgin :
Il est possible de retirer les ombres des icones du bureau simplement en supprimant les 2 fichiers suivants :
Afin de pouvoir restaurer les ombres, je vous conseille de simplement modifier l'extension de ces fichiers en png.old, c'est assez simple, ouvrez un terminal et saisissez les commandes suivantes :
$ sudo gainroot
$ cd /usr/share/themes/NOM_DU_THEME/images/
$ mv ApplicationShortcutAppletPressed.png ApplicationShortcutAppletPressed.png.old
$ mv ApplicationShortcutApplet.png ApplicationShortcutApplet.png.old
Pour que le changement soit pris en compte, redémarrez la machine.
Voici le résultat, avant, après :
Bon, et pour ceux qui oseraient se demander comment on revient comme avant, on fait l'inverse : on renomme les .png.old en png.
Voici un exemple très simple expliquant l'utilisation de la bibliothèque libre Oled4D dont j'ai parlé dans un précédent billet.
Ce programme va afficher l'image ci-dessous :
Le code source commenté est affiché en seconde partie de ce billet.
Plus d'informations :
Voici les étapes à suivre pour tester cette bibliothèque :
Voici une partie du code source (la déclaration de data_image à été tronquée volontairement), l'exemple va afficher un écran bleu, affiche un cercle jaune, 1 tux, réalise 4 copier / coller de l'image du tux, affiche du texte « Hello world ! » puis créé un polygone.
/* Oled4d Programme d'exemple pour interface Arduino / Écran Oled de 4DSystems */ #define RED RGB(255, 0, 0) #define GREEN RGB(0, 255, 0) #define BLUE RGB(0, 0, 255) #define YELLOW RGB(255, 255, 0) #define WHITE RGB(255, 255, 255) #define BLACK RGB(0, 0, 0) #define SMALL FONT_5X7 #define MEDIUM FONT_8X8 #define BIG FONT_8X12 #include <NewSoftSerial.h> #include <HardwareSerial.h> extern HardwareSerial Serial; #include <Oled4d.h> NewSoftSerial serial(2, 3); // count : 1152 #define DATA_IMG_WIDTH 24 #define DATA_IMG_HEIGHT 24 char data_image[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xbe, [...] 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }; void setup() { Serial.begin(9600); // Mode série pinMode(2, INPUT); pinMode(3, OUTPUT); // Configuration de l'interface série logicielle serial.begin(9600); } void loop() { // Créer l'objet en interface série logiciel Oled4dSoft oled = Oled4dSoft(serial, 8); // Pour utiliser l'uart « hardware », procéder ainsi : //Oled4dHard oled = Oled4dHard(Serial, OLED_RESET_PIN); // Initialise l'écran oled.init(); // Efface l'écran oled.clear(); // Fond d'écran bleu oled.setBG(RGB(0, 0, 128)); // Dessine un cercle oled.drawCircle(64, 64, 20, RGB(255, 255, 0)); // Affiche l'image oled.displayImage(0, 0, DATA_IMG_WIDTH, DATA_IMG_HEIGHT, COLORMODE_65K, data_image); // Copier / coller de l'image 5 fois for (int i = 1; i < 5; i++) { oled.screenCopyPaste(0, 0, i * DATA_IMG_WIDTH, 0, DATA_IMG_WIDTH, DATA_IMG_HEIGHT); } // Affiche du texte oled.drawText(1, 3, SMALL, GREEN, "Hello world !"); // Dessine un polygone char array[] = { 10, 32, 20, 64, 76, 120, 127, 64 }; oled.drawPolygon(sizeof(array) / 2, array, RGB(255, 128, 0)); while (1); }
Voilà, je pense que le code est assez explicite, en cas de souci, n'oubliez pas le forum d'aide.
Voici une librairie libre de gestion d'afficheur OLED de la société 4D Systems pour Arduino.
Comme leur nom l'indique très bien, ils utilisent la technologie OLED avec tous les avantages de cette technologie : pas besoin d'un rétroéclairage, ils ont un angle de vue de 180°, bonne consommation, très bon contraste, vous pouvez les trouver entre autres chez Lextronic ou encore chez Sparkfun.
Le jeux d'instructions n'est pas toujours très logique mais est assez complet, le principal défaut de ces afficheurs sont leur prix, à 65€ l'unité, j'imagine mal comment espérer faire de la petite série à un tel prix...
Ces afficheurs sont pilotables directement par le biais d'une connection série dans lequel on envoie directement des commandes assez hauts niveaux :
Ils disposent également d'un port microsd permettant ainsi de charger des images ou encore des bouts de programmes, attention, cependant car n'espérez pas mettre des images jpg dans la microsd ou autre et les afficher comme ça, d'un coup, ça ne fonctionnera pas, tout d'abord, car le chip de 4D ne gère pas les images compressées mais uniquement des champs de bits et surtout car il n'y a aucune gestion de FAT gérée par le controleur, ainsi, il est possible d'accéder au contenu de la microsd depuis votre programme mais en brut : à vous de gérer la couche du système de fichiers...
Voici la marche à suivre pour tester cette librairie avec Arduino (la librairie peut parfaitement fonctionner hors du projet Arduino...) :
Oui, il s'agit bien de Tux ! ;)
Voici un petit bout de code :
// Créer l'objet en interface série logiciel
Oled4dSoft oled = Oled4dSoft(serial, 8);
// Pour utiliser l'uart « hardware », procéder ainsi :
//Oled4dHard oled = Oled4dHard(Serial, OLED_RESET_PIN);
// Initialise l'écran
oled.init();
// Efface l'écran
oled.clear();
// Dessine un cercle
oled.drawCircle(64, 64, 20, RGB(255, 255, 0));
// Affiche du texte
oled.drawText(1, 3, SMALL, GREEN, "Hello world !");
Voilà, je pense que l'exemple est assez explicite et logique...
Vour remarquerez qu'il est possible de passer par l'uart intégré à l'Atmel ou de passer par l'uart logiciel avec la libraire NewSoftSerial (cette librairie dispose de fonctions avancées et est bien supérieure à la librairie d'uart fourni par défaut dans le projet Arduino).
Voici une petite démo affichant en vrac des lignes, des triangles, des cercles, des polygones, des rectangles...
La vidéo reflète assez mal les couleurs de l'écran qui sont bien vives en réel.
Actuellement, cette librairie supporte uniquement les instructions standards (General Command Set), les autres (Extended Command Set), qui permettent entre autre un accès au contenu de la microsd, ne sont pas encore gérées mais le plus gros du travail est fait...
Cette librairie est mise à disposition sous license GPL.
Vous pouvez télécharger la toute dernière version de cette librairie depuis mon compte GitHub à l'adresse suivante : http://github.com/hugokernel/Oled4D
Je mettrai à jour également la page sur le wiki : http://www.digitalspirit.org/wiki/projets/oled4d.
Ouverture ce jour d'un planet (un regroupement d'article issus de différents blogs au sein d'un même blog), consacré au « fait soit même » (autrement appelé « Do It Yourself » outre atlantique) avec une forte attirance pour l'électronique, sa petite particularité est que tous les articles diffusés sont en français.
La publication sur le planet est ouverte à tout le monde, il suffit de posséder un blog et des articles en français sur le sujet, et de nous le signaler par le biais du formulaire approprié.
L'adresse de ce planet est : http://planet.madeinfr.org/
Il est aussi possible de suivre les articles et l'actualité de Made in Fr sur Twitter et Identi.ca :
Pour les besoins de la nouvelle version du gestionnaire de fichiers en ligne Hyla (http://www.hyla-project.org/) qui utilisait jusqu'à lors le moteur de gabarits de la PhpLib, un nouveau moteur bien plus performant à été réécrit respectant la logique des templates de ce dernier.
Il améliore les performances en terme de vitesse d'un facteur 10 et ajoute un certain nombre de fonctionnalités très pratiques :
Ce moteur est disponible en mode autonome (standalone) totalement indépendant de Hyla.
Les habitués des templates de la Phplib y trouveront leurs comptes rapidement, les autres seront séduits par la facilité et la légereté de cette librairie.
Je vous invite à consulter le site pour plus de détails et des exemples d'utilisation sur le blog de développement de Hyla.
J'ai découvert par l'intermédiaire de Clochix un petit programme très pratique, voir indispensable, à installer, notamment, sur les serveurs auxquels vous avez l'habitude de gérer à distance par ssh.
Ce paquet permet, en s'intercalant entre vous et les commandes halt, shutdown ou reboot, de vous protéger d'un rédémarrage ou un arrêt intempestif, voir dramatique (oui, dramatique), de votre serveur en vous demandant de saisir le nom du serveur (hostname) à qui s'adresse ladîte commande...
Une petite mise en situation :
root@prod:$ shutdown
W: molly-guard: SSH session detected!
Please type in hostname of the machine to shutdown: dev
Good thing I asked; I won't shutdown prod ...
Voilà une belle sueur froide d'évitée...
Le paquet se nomme molly-guard et est disponible sur toutes les bonnes distributions GNU/Linux...
Ma nouvelle configuration, reçue ce jour de la part d'Arianne :
Building configuration...
Current configuration : 1 byte (mais ça suffit déjà)
!
! Last configuration change at 00:00:00 UTC Sun Feb 24 2008 by Hugo
! NVRAM config last updated at 00:00:00 UTC Sun Feb 24 2008 by Hugo
!
version 28
!
hostname Charles Rincheval
!
username Hugo privilege 15 password 7 0963661A090356
!
!
interface Year/0
description Age du capitaine
encapsulation 28 year old
ip address 28.0.0.0 255.0.0.0
!
interface Moto0/0.340
description DORSODURO
ip address 75.0.0.0
speed auto
media-type dorsoduro
ip marque aprilia
no negotiation auto (boite manuelle)
!
interface RechercheMaison0/0.300
description En train de chercher maison
encapsulation maison + jardin + garage
ip address gare.proximité.pas.loin
standby preempt delay on-attend-l'agence
standby 7 preempt delay minimum avant-la-fin-de-lannée-ça-sera-pas-mal!
!
interface Amour0/0.380
description Aurélie
ip address bientôt25ans.chatain.motarde.aimelesminous
speed 650 sv
media-type bisou
ip marque xXxXxXxXx
negotiation auto (c'est elle qui décide :p)
!
!
ip default-gateway aurelie.xXxXxXxXx
ip route taf.maison.potes.raclette moto.dorsoduro
!
!
snmp-server community tagada RO
snmp-server location veneux
snmp-server contact hugo@digitalspirit.org
snmp-server host minou.minette.chaton.miaou tagada
!
!
control-plane (mais en hélico)
!
!
!
banner motd ^CCC
HUGO
RESTRITED AREA
Authorized personnel only
attention j'aime les moto, les geekeries, les minous et les raclettes
attention pas de bullshit ou de pastis (sinon il finit sur les portières)
^C
!
!
end
Arianne, merci, je me marre encore !!