Suis-je connecté ?
Par Pmol le vendredi, août 31 2007, 20:42 - *Step - Lien permanent
Quelle est mon Ip interne ? Mon Ip externe ? Mon temps de ping ? Autant de questions existentielles que ce menulet va résoudre.
On va commencer par le début : c'est quoi un menulet ? Wikipédia ne nous disant rien dessus, je vais être obligé de vous expliquer ce que c'est. Un menulet, c'est un programme qui vient se placer dans la barre des menus (d'où le nom, c'est dans la même veine que les droplets). En général, il affiche des infos utiles, comme l'heure ou la charge de la batterie de votre ordinateur portable.
Donc, mon menulet à moi qu'il est beau affiche l'état de votre connexion (si vous êtes connecté à internet y'a une jolie icône verte, sinon une jolie icône rouge). Si vous cliquez dessus, un menu apparaît et vous donne votre Ip externe (celle que les gens de l'extérieur voient), votre Ip interne (celle de votre ordinateur dans votre réseau personnel) et le temps de ping d'une des Ip de "google.fr". Ça ne sert pas à grand chose, mais quand on a besoin d'un de trucs là on est content d'avoir un outil tout fait qui les récupère.
Au niveau technique, le menulet à été codé en Obj-C avec Cocoa (en théorie c'est compatible avec GNUstep, mais les essais de lasts on pas été convaincants). C'était mon premier "vrai" truc codé avec Obj-C, donc le codage a été un peu laborieux (merci à Psy pour son aide d'ailleurs). Donc en gros, pour expliquer le fonctionnement : au lancement du programme, je crée un NSMenuItem (c'est ce qui est affiché dans la barre des menus), je lui affecte une icône et un menu. Ensuite, je lance un NSThread qui ira chercher les informations sur le réseau toutes les 3 secondes et qui ira mettre à jour l'info affichée dans le menu. Pour récupérer les informations j'ai utilisé un script Bash, parce que utiliser les "commandes" (les truc comme grep ou cut) avec Obj-C, c'est vraiment la galère.
Et parce qu'une appli sans screenshot c'est pas drôle :

Commentaires