bioinfornatics

Aller au contenu | Aller au menu | Aller à la recherche

dimanche, août 29 2010

Depôt pour le langage D

Bonjour cher lecteur,

Cette nouvelle fonctionalité arrive avec Fedora 14: http://fedoraproject.org/wiki/Features/D_Programming

Il y a ici un dépôt non officiele pour le langage D: http://repos.fedorapeople.org/

A faire:

$ su -
# cd /etc/yum.repos.d/
# urlgrabber http://repos.fedorapeople.org/repos/bioinfornatics/D/fedora-D.repo
# yum install ldc tango

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

Repo for D programming

Hello dear reader,

This new feature come with Fedora 14: http://fedoraproject.org/wiki/Features/D_Programming

They are here an unofficial repos for D programming: http://repos.fedorapeople.org/

To do:

$ su -
# cd /etc/yum.repos.d/
# urlgrabber http://repos.fedorapeople.org/repos/bioinfornatics/D/fedora-D.repo
# yum install ldc tango

Cheers

Signed: bioinfornatics, Jonathan MERCIER

samedi, août 28 2010

Programmation en D lire les entrées clavier 2

Bonjour cher lecteur,

Comment ire les entrées clavier en D et changer le type?

import tango.io.Console;
import tango.util.Convert;
import tango.io.Stdout;

void main()
{
    Cout("Entrer votre nom: ")();
    char[] nom = Cin.get;
    Cout("Entrer votre age: ")();
    uint age = to!(uint)(Cin.get);
    Stdout.formatln("Salut {} tu as donc {} ans", nom , age);    
}

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

D programming read input 2

Hello dear reader,

how read input in D and convert input to another type?

import tango.io.Console;
import tango.util.Convert;
import tango.io.Stdout;

void main()
{
    Cout("Enter your name: ")();
    char[] name = Cin.get;
    Cout("Enter your age: ")();
    uint age = to!(uint)(Cin.get);
    Stdout.formatln("hi {} you are {} years old", name , age);    
}

Cheerst

Signed: bioinfornatics, Jonathan MERCIER

vendredi, août 27 2010

Programmation en D lire les entrées clavier

Bonjour cher lecteur,

Comment ire les entrées clavier en D ?

import tango.io.Console;

void main()
{
    Cout("Entrer votre nom: ")();
    char[] nom = Cin.get;
    Cout("Salut ")(nom).newline;
}

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

D programming read input

Hello dear reader,

how read input in D ?

import tango.io.Console;

void main()
{
    Cout("Enter your name: ")();
    char[] name = Cin.get;
    Cout("hi ")(name).newline;
}

Cheers

Signed: bioinfornatics, Jonathan MERCIER

jeudi, août 26 2010

D programming

Hello dear reader,

Recently I am interested in D language. This language is inspired by the simplicity of Python, the performance of C++, programming by contract from eiffel.

It has many advantages over these competing C++, Java, C#:

  1. The D supports multiple paradigm:
    1. Imperative
    2. Object oriented
    3. Metaprogramming
    4. Design by contract
  2. Do not depend on a binary machine like JVM or other
  3. Timeliness
  4. The standard library tango is rich, full module to make a bit of everything and very powerful
  5. Error messages are clear, farewell messages from C + + incomprehensible

Installation:

$ su -c 'yum install ldc tango'

A litlle Hello word

import tango.io.Stdout;
void main(){
    Stdout("Hello word").nl;//print to stdout
}

Compilation:

$ ldc -w -O2 hello.d

Execution:

$ ./hello

The ease of writing code more error messages clearly evident saves time and therefore money on software design

Documentation:

  1. tango API
  2. example and tutorial for tango
  3. tango website
  4. The book
  5. doc from digital mars
  6. language D version d1
  7. french documentation
  8. irc server freenode :
    1. #d
    2. #d.tango
    3. #ldc

Le langage D

Bonjour cher lecteur,

Depuis peu je m'intéresse au langage D. Ce langage s'inspire de la simplicité du python, la performance du C++, la programmation par contrat de eiffel.

Il a de nombreux avantage par rapport à ces concurrent C++, Java, C#:

  1. Le D supporte plusieurs paradigme:
    1. impératif
    2. orienté objet
    3. méta-programmation
    4. programmation par contrat
  2. Ne dépend pas d'une machine binaire
  3. Rapidité d'exécution
  4. La bibliothèque standard tango est riche, plein de module pour faire un peu tout et très performant
  5. Des messages d'erreur claires, adieu les messages du C++ incompréhensible
  6. Une documentation facile à prendre en main

Installation:

$ su -c 'yum install ldc tango'

Un petit Hello word pour la route

import tango.io.Stdout;
void main(){
    Stdout("Bonjour le monde").nl;// j'imprime sur la sortie standard
}

Compilation:

$ ldc -w -O2 hello.d

Éxécution:

$ ./hello

La simplificiter d'écriture de code plus les messages d'erreur clair permet un gain évident de temps et donc d'argent sur la conception de logiciel

mercredi, mai 19 2010

Urban Terror

Bonjour cher linuxien,
je met à disposition mon fichier de config de Urban Terror dont il présente de nombreux bind vocal urban terror :-)
Placer ce fichier dans le rerépertoire:

~/.q3a/q3ut4/

A vous de le personaliser à votre guise maintenant :-)
A bientôt

Signé: bioinfornatics, Jonathan MERCIER

mardi, mai 11 2010

Mettre à jour son Nokia 5800 xpress Music avec Linux

Bonjour cher lecteur,
Je suis heureux possesseur d'un Nokia 5800 dont les mises à jour offrent de très grandes avancées sur ce portable.
Seulement voilà le prestataire de service (chez moi bouygues telecom) bloque ces mises à jour :(
Des moyens de contournement existe mais nécessitent un système d'exploitation windows :(
Mes chères ami linuxien ne vous inquiétez pas la méthode pour le faire avec Linux est très simple, ne nécessite pas d'installer 15000 logiciels dont on a pas forcément confiance.
1/ La 1ère étape est de télécharger la mise à jour depuis le site de nokia et non de bouygues pour cela:

   a/ Saisissez *#0000# dans l’écran d’accueil de votre téléphone 
b/ Sélectionnez Options->Modes serveur->Options->Nouveau mode serveur->Copie = Non

Nom du serveur Nokia
ID du serveur Nokia
Mot de passe du serveur firmupservpass
Point d’accès sélectionnez votre point d’accès préféré
Adresse hôte https://dms.update.nokia.com/dms/omadm
Port 443
Nom d’utilisateur nokiams
Mot de passe DM nokiamspass
Autorisez la configuration Oui
Acceptez automatiquement toutes les demandes Oui

2/ Noter le numéro produit adapter à votre téléphone
liste des numéros produit consultable ici: http://www.mon5800.com/changer-son-code-produit-avec-jaf/
chez moi j'ai un nokia 5800 Xpress Music rouge et Noir donc j'ai pris Euro1 RED soit 0558982

3/ Brancher votre téléphone en usb sur votre ordinateur, à la racine du point de montage:

   a/ ourir le fichier card_content.cid et remplacer le numéro par le code produit
b/ ourir le fichier card_content.xml et remplacer le numéro par le code produit

4/ Éteigner votre téléphone retirer la carte

5/ Parametres->Téléphone->gestion du téléphone->Mises à jour terminées->Options->Chercher mises à jour

6/ Pour les points d'accès sélectionner votre wifi par exemple et entrer sa clef

7/ La mise à jour se lance et prends quelques minutes puis redémarre

8/ Éteignez le téléphone

9/ metter votre carte sim et rédémarrer

C'est fini :)

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

dimanche, mars 21 2010

Créer un site web avec Apache/Tomcat6

Bonjour cher lecteur,
Aujourd'hui je vous présente les différentes étapes nécessaires pour créer un site web avec Tomcat. tout d'abord installer les paquets correspondants à Tomcat6:
1/ Installation de tomcat6
Les paquets minimum à installer sont : tomcat6. tomcat6, tomcat6-webapps et tomcat6-admin-webapp
# yum install tomcat6*

2/ Éditer le fichier de conf de tomcat avec votre éditeur préféré ici vim:
# vim /etc/tomcat6/tomcat-users.xml
le fichier doit ressembler à ça:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="TomcatAdmin" password="tomcat" roles="admin,manager"/>
</tomcat-users>

Remplacer les mots de passe tomcat par un mot de passe de votre choix.

3/ Créer votre projet par exemple dans votre homedir
$ mkdir -p ~/Projet/java/monProjet

4/ Faites un lien symbolique dans /usr/share/tomcat6/webapps/ qui pointe sur votre projet
dans le cas d'un projet avec netbeans (après un clean and build l'archive war est généré)
# ln -s /home/<login>/Projet/java/<monProjet>/dist/<monProjet>.war /usr/share/tomcat6/webapps/<monProjet>.war

dans le cas d'un projet avec eclipse
# ln -s /home/<login>/Projet/java/<monProjet>/webapps /usr/share/tomcat6/webapps/<monProjet>

5/ Vérifier votre fichier /etc/hosts qu'il contient bien le nom de votre machine par exemple:
$ cat /etc/hosts

jonathan 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1      localhost localhost.localdomain localhost6 localhost6.localdomain6

6/ Démarrer le service httpd:
# service httpd start

7/ Vérifier que la page localhost soit accessible

8/ Démarrer le service tomcat6:
# service tomcat6 start

9/ Vérifier que la page localhost:8080 soit accessible

10/ Dans la partie Manager

   Normalement vous avez rien a faire est votre application web dervait s'ajouter tout seul dans le tableau. Toutefois si vous avez des soucis à ce niveau, vérifiez que vous avez bien un lien <monProjet>.war dans le répertoire /usr/share/tomcat6/webapps/ qui pointe wers le war de votre application. Pour le vérifier:

$ ls -l /usr/share/tomcat6/webapps/<monProjet>.war Relancer le service tomcat # service tomcat6 start6 Sinon vous pouvez le faire à la main comme suit:

   a) Mettre le nom du projet
b) Mettre le fichier web.xml
c) Valider
d) Démarrer si ce n'est pas fait automatiquement

Note: j'ai eu des soucis de droit sur les répertoires en effet le groupe tomcat ne pouvait lire/écrire à nombre d'endroits indispensables pour y remédier j'ai dû faire:
#chmod -R g+w /var/log/tomcat6 /etc/tomcat6/Catalina
Puis plus tard lorsqu'il génère les fichiers
#chmod -R g+w /usr/share/tomcat6/work/
Pour vous assurer à ne pas souffrir de ce type de soucis regarder dans /var/log/tomcat6/ les log si la mention permission denied apparaît penser à faire un ls -ld sur le(s) répertoire(s) posant soucis puis de mettre les bons droits avec chmod comme précédemment.

11/ Afin de pouvoir accéder depuis l'extérieur

   a) Re-rooter le port 80 de votre routeur vers le port 8080 de votre machine (tcp et udp)
b) Ouvrir le port 8080 en tcp et udp sur votre pare-feu c) Créer un fichier de conf dans le répertoire /etc/httpd/conf.d exemple de monProjet.conf:
# activation des hôtes virtuels
NameVirtualHost *:80
# Hôte virtuel par défaut
<VirtualHost *:80>
        ProxyPass / ajp://localhost:8009/monProjet/
        ProxyPassReverse / ajp://localhost:8009/monProjet/
</VirtualHost>

remplacer monProjet par le nom de votre projet

12/ relancer le service httpd

13/ A partir d'un navigateur web entrer l'ip externe de votre routeur (cf www.mon-ip.com) + le nom du projet\\ exemple: http://86.68.135.168/<nomDuProjet>

Pour finir je tiens à remercier trashy du chan irc #fedora-fr de sa précieuse aide.

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

mercredi, janvier 27 2010

Faire un rapport de bug sur le bugzilla de Fedora

Bonjour cher lecteur,

Je vois trop souvent des personnes criant à l'aide j'ai un bug mais ils ne rapportent pas le bug! Rapporter un bug est une étape cruciale et permet de dévoiler la faiblesse d'une partie du programme. Sans le rapport de bug aux yeux des développeurs il n'y a pas de soucis. Pas de soucis pas de correction du bug. Du coup beaucoup n'ont jamais fait de rapport de bug, ça les effrayent et savent pas comment faire, alors voilà je décortique pour vous les étapes.

1/ Le Bugzilla (c'est comme godzilla mais pour les bug :p ): https://bugzilla.redhat.com/

2/ Il faut créer un compte ou s'identifier si cette étape a déjà été réalisé

3/ Cliquer sur New dans la barre en haut à côté de home ou sur Enter a new Bug (cf l'image ci-dessous)

Rapport_de_Bug

4/ Ensuite cliquer sur Fedora

Rapport de Bug2

5/ Cliquer encore sur Fedora

Rapport de Bug3

6/ Dans la liste component tu choisis le nom du package comportant le bug
Astuce: clic une fois dans le cadre component et tape rapidement les premières lettres

7/ Compléter la zone description
Dans la description on met les informations utiles comme par exemple:

  • le matériel
  • les messages d'erreurs (lancer l'application depuis une console)
  • si pas de message d'erreur on peut faire ainsi:
    • dans un terminal (il faut préalablement avoir gdb)

$ gdb <nom du programme> 2>&1 | tee gdb.txt
$ (gdb) run
l'application se lance, réaliser les étapes provocant le bug
Puis attacher le fichier gdb.txt au bug

8/ Envoyer le bug (submit bug)

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

mercredi, janvier 20 2010

ffmpeg2theora

Bonjour cher linuxien,
Aujourd'hui je vous fait une présentation de ffmpeg2theora. ffmpeg2theora est un outil qui s'utilise en ligne de commande il permet de généré une vidéo à partir d'image. Dans mon cas je m'en sers en complément de Blender.
En effet avec Blender je fais mes rendu toujours en format image ainsi je peux faire des petites modification si besoin et ensuite généré une vidéo. Présentation de l'outil par l'exemple:
$ ffmpeg2theora images-%04d.jpg --inputfps 25 -o output.ogv
Explication:
- ffmpeg2theora --> l'outils de convertion
- images-%04d.jpg correspond au masque qui peut s'appliquer a toutes images, dans notres exemples:
En effet elle commence toutes par images- suivis de 4 chiffres %04d (d=decimal je crois % désigne que l'on place un masque / regexp) et se termine par .jpg
- --inputfps permet de dire que l'on veut 25 images par secondes
- -o désigne le nom de fichier de sortie (celui généré) suivis de l'extention.ogv

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

Valide en version 0.6.1

Bonjour cher fedora user,
Pour la plus grande joie des utilisateurs du langage Vala j'ai soumis la nouvelle version de l'IDE valide ( val(a)ide ). Cette npouvelle version est actuellement disponible dans le dépôt officielle de fedora.
Les nouveautés sont:

  • De nombreux Bug fixes
  • Compatible avec les vala 0.8 (vala 0.9 dans les dépôt officielle )

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

mardi, janvier 19 2010

Rhythmbox et la radio

Rhythmbox : Rhythmbox et la radio

Bonjour cher lecteur,
Je vous présente ici le contenu de mon fichier rhythmdb.xml se trouvant dans ~/.local/share/rhythmbox (ce répertoire est créé automatiquement lors de la 1ère éxécution de rhythmbox). Sans vous faire languir plus longtemps voici le fichier rhythmdb.xml. Les radios supplémentaires ajoutées sont:

  1. BFM, la radio de la célèbre chaine BFM TV
  2. RMC
  3. Skyrock
  4. Couleur 3
  5. FG Vintage
  6. FG America
  7. France Info
  8. TechnoBase
  9. M2radio-Mix
  10. AfterHoursDJs
  11. France Musique
  12. Le Mouv
  13. RTL
  14. France Bleu
  15. France Culture
  16. France Inter
  17. La grosse radio
  18. Frequence 3
  19. Bluemars

Pour écouter ces radios vous devez pouvoir lire le format audio mp3 et ogg.
Voila, je sais il manque beaucoup de radios françaises connues cela es dues qu'elles utilisent le formats audio asx. Dans un prochain billet je vous donnerai un fichier contenant ces radios.

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

samedi, mai 9 2009

Cheese

Bonjour cher linuxien,
Cheese est un logiciel pour gérer sa webcam (photo / vidéo ) avec différents effets jusque là tout ce qui a de traditionnelle!
Je viens de découvrir une fonctionnalité très marrante de ce logiciel!
Ouvrez Cheese et prenez vous une photo, de temps à autres vous avez des petites voix rigolote ou ce moquant de votre tête.
C'est très rigolo
J'ai pas trouvé ce qui déclenchent ces voix!

Signé : bioinfornatics, Jonathan MERCIER

mardi, mai 5 2009

DotClear et le référencement

Je vais être bref et concis:

inscrivez-vous si besoin

  • Depuis le tableau de bord de Dotclear créez un sitemaps
  • Transmettez le sitemap généré à Google Analytics
  • Google Analitycs vous demande de prouver que vous êtes le possesseur du site, pour prouver votre bonne fois :
    • Choisissez la méthode balise meta
    • Copiez cette balise
    • Depuis le tableau de bord de Dotclear cliquez sur Widgets de présentation
    • Choisissez le widget Texte, faites le glissez dans l'une des 2 colonnes
    • Cliquez sur +
    • Mettez en titre Google Analitycs
    • Dans la zone texte collez votre balise meta
    • Mettez à jour le bandeau (bouton du bas)

Voilà vous avez finis.

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

Vala

Benchmarks : C++ vs C vs C# ( C sharp ) vs Vala

Bonjour cher lecteur,
Depuis peu je m'intéresse au langage Vala . Ce langage s'inspire très fortement de la syntaxe de C# et génère du code C-object.
Ce qui lui procure 3 avantages :

  1. Le code est orientée objet
  2. Ne dépend pas d'une machine binaire
  3. Rapidité d'exécution

Vala s'adresse à tout le monde qui souhaite développer des programmes modernes avec du code lisible tout en gardant des performances très élevées.
J'ai récupéré ce benchmark depuis le site : http://code.google.com/p/vala-benchmarks/wiki/BenchResults

Versions :

  • mono --version : Mono C# compiler version 2.0.1.0
  • gcc -v : gcc version 4.3.3 (Debian 4.3.3-3)
  • valac --version : Vala 0.7.2

Temps d'exécution :

Conclusion :

Le langage C++ se trouve le plus performant dans bien des cas, mais la complexité à gérer de gros projets fait que java ou C# est préféré au C++. En effet le code est plus facilement maintenable et on développe plus rapidement une application en java et C# par rapport au C++ .
Vala se positionne sur ce créneau: création de code facile et performant. Vala est un bon compromis entre le C++ et le java / C#. Et pour finir Vala peut réutiliser vos briques de bibliothèque en C !
Toutefois ce langage est jeune il date de 2006 par conséquent la richesse d'information sur le net pèche un peu.

Recommandation de lecture :

ftp://ftp-developpez.com/tahe/fichiers-archive/csharp2008.pdf
http://live.gnome.org/Vala/
http://www.vala-project.org/doc/vala-draft/overview.html

Note : je ne souhaite pas que ce post tourne à une querelle sur les divers langages! Pour toutes erreurs de ma part, signalez-moi elles seront corrigées au plus vite.
Merci pour votre lecture attentive.

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

samedi, avril 11 2009

Scite

Bonjour,
Mon billet va être court :D
installer Scite:
# yum install scite
Mettre scite en français:
# wget http://scintilla.sourceforge.net/locale.fr.properties
# mv locale.fr.properties /usr/share/scite/locale.properties
voilà scite est en français :D, d'autres langues sont disponibles:
http://scintilla.sourceforge.net/SciTETranslation.html
Dernière chose intéressante ajouter une api de programmation. Pour cela il faut récupérer les fichiers *.api dispo ici:
http://www.scintilla.org/SciTEExtras.html
Exemple pour mettre l'api de C#
$ wget http://scintilla.sourceforge.net/genapi.zip
$ unzip genapi.zip
$ su -m
# cp cs.api /usr/share/scite/
# echo "api.*.cs=/usr/share/scite/cs.api" >> /usr/share/scite/cpp.properties
et voilou c'est fini pour auto-complété du code C# utiliser ctrl+entrée

A bientôt

Signé: bioinfornatics, Jonathan MERCIER

samedi, mars 14 2009

earth-and-moon-backgrounds

J'ai le plaisir de vous annoncer l'arrivée de nouveaux fonds écrans dans vos dépôts. scrennshot.png

Ce fond écran est animé il change discrètement d'image toutes les heures afin de donner une illusion réelle que la terre tourne sur elle-même et la lune tourne autour de la terre en montrant toujours la même face bien sûr.

pour l'installer simplement : # yum install earth-and-moon-backgrounds

Puis allez sélectionner le fond écran dans Système->Apparence->Apparence

Astuce: si vous cliquez sur make as défaut. Le fond écran courant sera appliqué au GDM

A bientôt

Signé: bioinfornatics, Jonathan MERCIER