Devel



Astuces diverses pour le développement, l'administration


Environnement Unix like pour développer

sous Windows

Cygwin
MinGW

sous Mac OS X

Fink
DarwinPorts (MacPorts)

Compiler sous Linux des applications Win32 avec WineLib

Encodage des caracteres

EncodageDesCaracteres


Imprimer un code source avec coloration syntaxique (ou sans)


coloration syntaxique / syntax highlighting
http://fr.wikipedia.org/wiki/Coloration_syntaxique

Pour imprimer un code source on peut utiliser la commande a2ps.

Exporter un code source en HTML avec coloration syntaxique (syntax highlight)

Emacs / Xemacs

htmlize.el (emacs-goodies-el)
http://fly.srk.fer.hr/~hniksic/emacs/htmlize.el
emacs CMonApplet.java
M-x htmlize-buffer
C-x C-s

vim / gvim

voir vim http://www.vim.org
code2html
http://www.vim.org/scripts/script.php?script_id=330

copie de code2html-... .vim dans /usr/share/vim/

Utilisation de 2html.vim

vi CMonApplet.java
ECHAP (pour passer en mode commande)
:runtime syntax/2html.vim (ça s'écrit en bas)
ENTREE
Le buffer se sépare en deux (en haut le fichier html)
ECHAP
:w (pour sauver le résultat)
ECHAP :q (pour quitter le premier buffer)
ECHAP :q (pour quitter le second)

Utilisation de code2html.vim

ToDo


vi MySourceCode.java
ESC :runtime syntax/2html.vim RETURN
(A second buffer with html code appear)
ESC :w (pour sauver le fichier html)
ESC :q (pour quitter un buffer)
ESC :q (pour quitter le dernier buffer)

On obtient le fichier MySourceCode.java.html


Export en une ligne de commande

Voir la documentation suivante
:help vim-arguments
:help clientserver

vim -c ":runtime syntax/2html.vim" -c ":w" -c ":q" -c ":q" CMonApplet.java

voir aussi ":TOhtml"

On peut utiliser gvim à la place de vim, les couleurs sont plus jolies !


Export avec Cascading Style Sheet css

vim -c ":let html_use_css = 1" -c ":runtime syntax/2html.vim" -c ":w" -c ":q" -c ":q" CMonApplet.java


Aide vi

:help vim-arguments
:help clientserver
:help highlight
:help


Couleurs (Noir & Blanc)...

http://www.vim.org/scripts/script.php?script_id=233
http://www-2.cs.cmu.edu/~maverick/VimColorSchemeTest/

Autre

GNU Source-highlight http://www.gnu.org/software/src-highlite

Des bibliothèques en PHP permettant de gérer la coloration syntaxique d'un code source dans une page web : PhpLib
GeSHi http://qbnz.com/highlighter
pygmens http://www.pygments.org/ (Python)

Exporter un code source en PS

Emacs / Xemacs

M-x ps-print
C-u M-x ps-print-buffer-with-faces <entrer un nom de fichier>

Importer dans Word / OpenOffice un code source avec coloration syntaxique

Solution 1 :
- Ouvrir l'éditeur de texte Notepad++
- exporter en .rtf vers le presse-papier (Plugins / NppExport / Copy RTF to clipboard)
- coller dans le traitement de texte
http://www.etanonline.fr/2008/coloration-syntaxique-dans-word-et-openoffice-grace-a-notepad/

Solution 2 pour OpenOffice uniquement
http://extensions.services.openoffice.org/project/CodeFormatter

Autres solutions

Paste-it! http://paste.tgl0be.org/index.php
Pastebin http://pastebin.com collaborative debugging tool
Nopaste http://rafb.net/paste/
Gnopaste http://sourceforge.net/projects/gnopaste
Yet Another Nopaste ! http://yanopaste.jujunie.com/
bpaste http://bpaste.net/

Editeurs de texte avec impression avec coloration syntaxique : Notepad++
Bibliothèques permettant la coloration syntaxique
http://code.google.com/p/syntaxhighlighter Coloration de code en javascript
http://geshi.org bibliothèque PHP permettant la coloration syntaxique
Modules Perl
http://www.unixgarden.com/index.php/programmation/ameliorer-les-impressions-de-code-source
Template::Toolkit et Perl::Tidy

Mettre en forme un code

Ces outils permettent de rendre le code source plus uniforme au niveau de la présentation (indentation, formatage...)
GNU/Emacs
Sélectionner l'ensemble du code soit à la souris soit en tapant CTRL-x h
Appliquer l'indentation automatique en tapant ALT-x indent-region
Artistic Style astyle http://astyle.sourceforge.net (C, C++, C#, and Java)
GNU Indent http://mysite.wanadoo-members.co.uk/indent/beautify.html
CheckStyle http://checkstyle.sourceforge.net (Java)
Beautify PHP
SourceFormatX (shareware Windows)

Complexité d'un projet logiciel


Auto-completion / intellisense

ctags Exuberant Ctags http://ctags.sourceforge.net/
etags (Emacs Tags) http://www.gnu.org/software/emacs/manual/html_node/emacs/Tags.html

Analyse syntaxique / analyse lexicale

Rechercher "flex bison lex yacc grammaire" sur Google.fr
lex/yacc flex/bison


Compresser simplement le répertoire d'un projet

Copier ceci dans le fichier zip.sh

#!/usr/bin/env sh
rm *.zip
zip -r nom_fichier.zip *

Rendre ce fichier executable : chmod u+x zip.sh
Exécuter le fichier : ./zip.sh

Envoyer les fichiers d'un projet par FTP

Copier ceci dans le fichier ftp.sh

#!/usr/bin/env sh
ncftpput -u s.cls ftpperso.free.fr repertoire_site *.zip

Rendre ce fichier executable : chmod u+x ftp.sh
Exécuter le fichier : ./ftp.sh

voir aussi GestionDeVersion : CVS SVN ...

Trouver d'autres codes sources

Voir des projets libres similaires (attention au respect des licences !!!)

Moteurs de recherche spécialisés pour le développement
Rechercher "source code search engine" sur Google.fr

http://www.koders.com
http://www.google.com/codesearch
http://www.codase.com

voir aussi les ForgesLogiciels

Couverture de code

http://fr.wikipedia.org/wiki/Couverture_de_code
http://en.wikipedia.org/wiki/Code_coverage
EMMA http://emma.sourceforge.net (Java)

Tests unitaires

http://fr.wikipedia.org/wiki/Test_unitaire
http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Test_logiciel
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
http://en.wikipedia.org/wiki/Category:Software_testing
http://junit.org (Java)

Intégration continue


Mise en évidence des différences entre 2 fichiers

Linux (console)

diff (voir DevelOutilsGNU )

Mac (GUI)

opendiff file1.txt file2.txt ouvre l'outil FileMerge inclus dans Xcode

TextWrangler
Search / Find differences...

Windows (GUI)

NotePad++
Plugin diff (Compare)

Etude d'un fichier binaire

Hachoir http://www.hachoir.org

Test de programme en environnement limité

Fusil http://fusil.hachoir.org
http://www.haypocalc.com/blog/index.php/2008/03/10/136-comment-raliser-un-fuzzer

Windows

Recherche de dépendances (exe, dll, ocx, sys...)

depends.exe
DependencyWalker http://www.dependencywalker.com/

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki