Komodo Edit : Adieu eclipse !
Cet article fait suite à l’article ‘web’ de Daniel Chetboul paru sur le planet, et le programme présenté étant génial, j’ai décidé de vous en parler un peu plus.
Introduction
Dans une autre dimension, j’utilisais PsPad comme éditeur de texte pour développer (en PHP). Léger, indentation, auto-complétion (mais basique, par rapport à une liste de fonctions prédéfinie) et gestion de projet. Quand je suis passé sous linux, Quanta+ remplissait aussi la même fonction à quelques détails près, et j’étais content,
Puis, grâce à Lilian, j’ai découvert Eclipse, avec des fonctionnalités géniales, tels que l’auto-complétion[1] sur les fonctions des classes et les simples fonctions (avec prise en compte des commentaires). De plus, il inclut tout un système de plugins pour entendre ses fonctionnalités (PHP, svn). Mais à la longue, on se rend compte qu’Eclipse…. c’est lourd. Très lourd. Trop lourd. Et je ne parle pas de travail avec un lecteur réseau distant (ssh) : 15 minutes pour ouvrir un projet. Malheureusement, les fonctionnalités sont bien, et on ne peut pas trop s’en passer une fois que l’on voit ce que l’on peut faire..
Komodo
Et je découvris donc sur le planet… komodo. La différence saute tout de suite aux yeux: c’est léger, et ça fait la même chose, et même plus.
Le programme est en XUL (voir liens, mais c’est une technologie assez intéressante, notamment utilisée pour firefox et ses plugins, que j’ai rencontrée lors du développement de firegpg), disponible sur toutes les plates-formes (XUL y aide), et disponible en deux versions (une gratuite, une payante, évidemment avec plus de fonctionnalités).
On retrouve dans la version de base (Komodo EDIT)
- Gestion de projets (plusieurs même, c’est un peu le but)
- Support (complet) du PHP, Javascript, HTML, Css, Python, Ruby, Tcl, XML MAIS PAS du Java (ça ne fait pas tout mais bon)
- Support (basique) d’un bon nombre de fichiers (environ 50), par exemple SQL, Pascal, bash, etc.
- Support de libraires (par exemple Rails pour le Ruby)
- Coloration du code, indentation du code
- Recherche dans les fichiers du projet
- Interaction avec d’autres programmes dans le cadre du projet (par exemple une console)
- Gestion de serveurs distants
- Extensible avec des thèmes et plugins (aucun n’existe pour le moment, mais c’est possible)
- Gestionnaire de raccourcis claviers bien développé (peut par exemple se baser sur Vi ou Emacs)
- Et pleins d’autres choses…
Malheureusement disponible qu’en version complète (et à 295$) (Komodo IDE) :
- Travail de groupe (SVN, CVS, …)
- Débugage
- Inspecteur HTML, DOMViewer, explorateur de code (fonctions, classes)
- Créateur d’expressions régulières
(Basé sur leur site web, je n’ai pas testé)
Le programme à néanmoins quelques défauts :
- Propriétaire. (Remarquons que les développeurs semble se servir beaucoup de l’open source, c’est bien)
- En anglais
La différence entre eclipse et komodo question légèreté est flagrante (sans parler de l’utilisation du CPU) : 50Mo contre 200Mo de mémoire résidante et 187Mo conte 760Mo en mémoire virtuelle.
Installation sur ubuntu
L’installation sur ubuntu est théoriquement très simple. Normalement, vous ne devriez pas avoir à installer question librairies et nouveaux programmes, mais si cela ne fonctionnerait pas, installez libstdc++6, libstdc++5, xorg-x11-deprecated-libs.
Pour l’installation, il vous suffit de faire :
cd /tmp
wget http://downloads.activestate.com/Komodo/Linux/4.0/Komodo-Edit-4.0.3-278227-linux-libcpp6-x86.tar.gz
tar xvf Komodo-Edit-4.0.3-278227-linux-libcpp6-x86.tar.gz
cd Komodo-Edit-4.0.3-278227-linux-libcpp6-x86/
sudo ./install.sh
Si tout c’est bien passé, Komodo est apparu dans le menu (Sous développement), ou vous pouvez le lancer en tapant /opt/Komodo-Edit-4.0/bin/komodo dans un terminal.
Si vous êtes avec un noyau 64 bits, ça peut ne pas fonctionner (je n’ai pas rencontré de problèmes personnellement), dans ce cas :
- Installez les librairies 32 bit :
sudo apt-get install ia32-libs lib32asound2 lib32ncurses5 ia32-libs-sdl ia32-libs-gtk gsfonts gsfonts-x11 linux32. Réessayez de lancer komodo. Si ça ne marche pas, continuez. - Créez un fichier /etc/pango32/pangorc, et entrez le texte suivant :
[Pango] ModuleFiles=/etc/pango32/pango.modules [PangoX] AliasFiles=/etc/pango/pangox.aliases
- Avant de lancer komodo dans un terminal, tapez
export GTK_PATH=/usr/lib32/gtk-2.0/etexport PANGO_RC_FILE=/etc/pango32/pangorc, puis lancez komodo, cela devrait fonctionner. Pour éviter de taper trois commandes à chaque fois, vous pouvez créer un petit script shell.
(Source)
Quelques captures

Édition d’un fichier (une CSS).

Une recherche sur tout le projet.

Un navigateur est intégré ! Très pratique afin d’éviter de switcher entre deux fenêtres !

L’index de l’aide de komodo, extrêmement bien faite, avec tutoriels et tout et tout !
Quelques Liens
Le site de komodo (en) | La liste complète des fonctions de komodo (en) | Les différences entre komodo IDE et Edit | Xul sur la wikipedia
Notes
[1] Quelqu’un connait le mot en français ?
Tags:amd64, arch, linux, Logiciels, programmation, UbuntuArticles relatifs
23 commentairesFireGPG : Une extension firefox pour utiliser plus facilement gpg avec firefox, ainsi qu’avec gmail (et 50 ème billet en plus !)
Pour mon 50 ème billet[1], je vais vous parler d’un truc (en partie donc) programmé par moi-même : Une extension firefox qui vous permettra d’utiliser plus rapidement et facilement gpg avec firefox ! Parce que la ligne de commande, malheureusement y’a pas tout le monde qui aime, et devoir à chaque fois du copier/coller dans un autre programme, tel que kgpg, c’est quand même lassant à la longue. Évidemment, des plugins existent pour les différents programme de lecture de mails, mais pour FireFox, il n’y a étonnamment rien sauf un plugin qui sauvegarde les clés sur leur propres serveurs, bonjour la sécurité. Alors Asher et moi on l’a programmé ! Il utilise les programmes présents sur le disque (en l’occurrence, gpg) et peut même être utilisé sous windows (avec WinPT). De plus, il intègre quelques boutons supplémentaires pour faciliter son utilisation avec gmail ! Elle n’est pas belle la vie ?
C’est quoi gpg ? Le wiki d’ubuntu-fr l’explique assez bien, et vous donne même le mode d’emploi pour l’installation et l’utilisation !
Pour l’installer le plugin sur ubuntu, c’est très simple :
- Premièrement, vous devez installer les programmes nécessaires, tels que gpg, et un gestionnaire de clé si vous êtes allergiques à la ligne de commande. Pour ce faire, installez les paquets correspondants, c’est à dire
gnupg, et par exemplekgpg. - Deuxièmement, générez votre clé privée : Soit avec votre interface graphique, soit en tapant
gpg --gen-keydans un terminal. - Troisièmement , installez le plugin firefox, en vous rendant sur ce lien, et cliquant sur le gros bouton Download FireGPG. Autorisez le site à installer des plugins (c.f la barre d’état en haut), recliquez sur le gros bouton, et relancez firefox !
- Normalement, et si tout s’est bien passé. vous ne devriez pas avoir de message d’erreur lors que l’utilisation d’une commande au bol (par exemple crypter), qui vous signale que FireGPG ne trouve pas gpg. Vous pouvez vous rendre dans les options de FireGPG (un menu spécifique est apparu dans le menu Outils, et celui de votre touche droite), et sélectionner votre clé précédemment générée !
À ce stade, l’utilisation est très simple : sélectionnez le texte sur lequel vous désirez effectuer une opération, et sélectionnez l’opération avec le menu (Signer, Vérifier, Crypter, Décrypter et Importer une Clé sont disponibles !) Si votre sélection est dans un élément modifiable, la sélection sera remplacée, sinon une nouvelle fenêtre s’ouvrira !
Maintenant vous n’avez plus d’excuse : Signer vous mails ! Ainsi on sera que vous être vraiment l’expéditeur ! Cryptez les mails confidentiels, qui contiennent des mots de passes ! Un mail est très facilement interceptable, et falsifiable… 
Si par hasard vous tomberiez sur un site qui ne fonctionne pas avec FireGPG, signalez le-nous ! Le plugin reste en version beta et peut ne pas fonctionner dans tous les cas.
Site officiel L’annonce sur le blog d’Asher
Notes
[1] Hé oui, ça aussi fait longtemps que je n’ai pas posté de billets comme Asher, pour la simple est bonne raison que j’étais très occuper à développer avec lui cette extension firefox ;). Mais voila, je suis quand même arrivé au 50 ème, avec presque 300 commentaires, et 4 mois !
Articles relatifs
21 commentairesChanger régulièrement son fond d’écran (gnome) grâce à un script python !
Un truc qui me manquait, vue que j’ai trouvé plusieurs potentiels fonds d’écran pour… mon fond d’écran, c’était la possibilité d’en mettre plusieurs, qui changent de manière automatique toutes les X secondes. (Ça n’existe pas en natif dans Gnome, au contraire de KDE), ça permet d’éviter de faire un choix ;). Après n’avoir trouvé que ça d’intéressant, je me suis dit que c’était plus simple de le faire moi-même et en profiter pour découvrir le python ! (Au final c’est pas compliqué, sauf que c’est un langage de tabulés[1] ;))
Voila le script :
#!/usr/bin/python # coding=UTF-8 # ######################################################################################################### # Changeur de font d'écran à intervalles réguliers pour GNOME, Version 1.0 # # # # Par Maximilien Cuony [maxi_the_glu@bluewin.ch][http://theglu.tuxfamily.org] # # # # Basé sur un script de guix77 [http://linuxfr.org/comments/465267.html#465267] # ######################################################################################################### ## Importation des librairies nécessaires import os, re, time, random, commands, sys, StringIO from getopt import GetoptError, gnu_getopt ## Configurations par default : #Dossier des images Path_images = os.path.expanduser("~") + "/" + "fondsdecran/" # extensions a chercher File_Match = re.compile('[{png}{jpeg}{swg}{jpg}{gif}]$') # Nombre de secondes avant de changer une image Secondes = 60 ## Fonctions # Récupération de la liste des images disponibles def Dir_Contents(Item=""): Final_List = [] if Item == '': return ('') elif os.path.isdir(Item): List = os.listdir(Item) for Item2 in List: Item3 = Item + "/" + Item2 Temp_List = Dir_Contents(Item=Item3) for Item4 in Temp_List: Final_List.append(Item4) elif os.path.isfile(Item): if File_Match.search(Item): return([Item]) else: return([]) return (Final_List) # Fin de Dir_Contents # Affichage de l'aide def Show_Help(): print "Ceci est un programme pour changer de fond d'écran GNOME à intervalles réguliers" print "" print "Vous pouvez lancer le script sans arguments, et il utilisera les variables par défaut (" + Path_images + " comme dossier de recherche et changement de l'image toute les " + `Secondes` + " secondes)," print "Ou se servir des paramètres --sec SECONDES ou -s SECONDES pour changer le fond toutes les SECONDES secondes, ainsi que --path DOSSIER ou -p DOSSIER pour définir le dossier de recherche des images." print "" print "Par Maximilien Cuony [maxi_the_glu@bluewin.ch][http://theglu.tuxfamily.org], basé sur un travail de guix77 [http://linuxfr.org/comments/465267.html#465267]" # Fin de Dir_Contents ## Gestion des arguments try: args = sys.argv[1:] optlist = gnu_getopt(args, 'hs:p:', ['sec=', 'help', 'path=']) except GetoptError: print "" # Les options for option, value in optlist[0]: if option in ["-h", "--help"]: Show_Help() sys.exit(0) elif option in ["-s", "--sec"]: Secondes = int(value) elif option in ["-p", "--path"]: Path_images = value ## Préparation # Récupération de la liste des images disponibles avec la fonction List = Dir_Contents(Path_images) if len(List) == 0: print "Erreur: aucun fichier image trouvé dans "+Path_images sys.exit(1) # Amélioration du système de hasard Secs = int(time.strftime('%S')) * int(time.strftime('%H')) * int(time.strftime('%M')) for i in range(0,Secs): random.random() # Boucle principale (qui ne se termine jamais) while 1: # obtenir aléatoirement un fichier Position = random.randint(0,len(List) - 1) Fichier = (List[Position]) # Modification du fond guix = "gconftool-2 -t string -s /desktop/gnome/background/picture_filename '" + str(Fichier) + "'" commands.getstatusoutput(guix) # On attend un moment time.sleep(Secondes) # Fin de la boucle (qui va recommencer)
(Oui, ce n’est pas vraiment très beau, mais je début en python je vous rappelle. Ne vous inquiétez pas, le programme n’est pas dangereux ;).)
Comment l’utiliser ? C’est pas très compliqué, d’abord il vous faut récupérer le script sur votre ordinateur : Sélectionnez le programme plus haut EN ENTIER, et copiez le dans votre presse-papier. Ouvrez un éditeur de texte (par exemple gedit), copiez-y le texte, et sauvegardez le fichier avec un nom tel que changefond.py dans votre dossier personnel (par exemple aussi). Rendez-vous dans le dossier ou le fichier a été sauvé avec nautilus, cliquez avec la touche droite dessus, et sélectionnez Propriétés. De là, cliquez sur l’onglet Permissions, et cochez la case Autoriser l’exécution de fichier comme un programme. Votre programme est maintenant exécutable !
Maintenant il s’agit de faire un dossier ou vos fonds seront stockés : par défaut, il s’agit du dossier fondsdecran dans votre dossier personnel, mais ne paniquez pas: cela est très facilement modifiable ! Déplacez ou copiez donc toutes vos images dans un seul dossier.
Après, il s’agit de lancer le script au démarrage : les menus Système/Préférences/Sessions et l’onglet Programmes au démarrage vous permettront de le faire : Cliquez sur Ajouter, et entrez le texte suivant :
/chemin/vers/le/script/nomduscript.py --sec nombredesecondes --path /dossier/des/images
Si vous désirez un changement d’images toutes les 60 secondes, pas besoin d’entrer le --sec nombredesecondes, et si les images à mettre en fond d’écran dans /home/votrelogin/fondsdecran --path /dossier/des/images est inutile ! Validez, et à votre prochaine connexion[2], votre fond d’écran changera tout seul toutes les nombredesecondes secondes !
Remarque: vous pouvez aussi tester le programme en ligne de commande, en tapant exactement la même commande que vous avez entré pour le démarrage afin de vérifier que tout est fonctionnel !
Notes
[1] En fait, la structure visuelle, tels que les tabulations et les retours à la lignes permettent de définir les parties du programme.
[2] Vous pouvez aussi appuyer sur Alt-F2, et entrer la même commande afin d’éviter la déconnection
Articles relatifs
10 commentairesMise à jour de MonCanard.org
MonCanard.org a été mis à jour, voici la liste des modifications :
- Interaction avec le blog de développement.
- Mise en place des courses pseudo-aléatoires
- Suppression des comptes qui ne sont pas validés.
- Résolution du problème des \’ dans les news.
Interaction avec le blog de développement.
Dorénavant, les nouvelles sur le développement de MonCanard.org, techniques, ou n’ayant pas un rapport avec le côté RP du jeu seront administrées à partir du blog du développeur (celui-la donc), et affichées dans cette zone. Un cache est en place, les billets sont donc en retard d’une heure au maximum.
Mise en place des courses pseudo-aléatoires
Il à été reproché au courses d’êtres trop répétitives, dorénavant elles seront choisies aléatoirement parmis un choix de 10 courses. La programmation de courses vraiment aléatoires avec des obstacles différents viendrons plus tard. Le nombre de places est aussi aléatoires.
Suppression des comptes qui ne sont pas validés.
Dorénavant, tous les comptes n’étant pas validés, ou n’ayant pas initialisés leur premiers canards seront supprimées à la mise à jour. Cela va faire descendre de beaucoup les statistiques, mais c’est pas vraiment grave.
Résolution du problème des \’ dans les news.
Tout le monde à pu remarqué que les ‘ étaient affichées comme des \’ dans les news, et que c’était franchement pas beau. Le problème est maintenant résolu !
Vous avez des idées pour MonCanard.org ? Envoyez vos idées sur le forum !
Tags:moncanard.org, programmation, sites personnelsArticles relatifs
1 commentairePrésentation de MonCanard.Org
MonCanard.Org est un jeu d’élevage programmé par moi-même, disponible à l’adresse http://www.moncanard.org.
Le but du jeu est simple: il s’agit de nourrir ses canards chaque jour, et de les voir évoluer, puis de les revendre au final ! La reproduction permettant au passage d’en avoir de plus en plus…
Le jeu est tout neuf, et ne comporte quelque utilisateur pour le moment, mais semble évoluer dans le bon sens !
Tags:moncanard.org, programmation, sites personnelsArticles relatifs
1 commentaire
