Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1041 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  novice en programmation doit programmer sous unix.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

novice en programmation doit programmer sous unix.

n°1331895
fiftoman
Posté le 24-03-2006 à 17:48:54  profilanswer
 

Bonjour,  
 
J'aimerais un renseignement s'il vous plait:
 
Il faut que j'ecrive un petit script (ou programme) sous unix et je
 n'ai encore jamais fait ca..
 
ce que j'ai a faire, c'est ca: creer un graphique de type XY (abcisse-ordonnee) a partir de donnees d'un fichier texte et afficher ce graphique dans netscape (netscape navigator version 4.78).
Et tout ca dans une procedure automatique.
 
 
Donc a mon avis, je dois decomposer mon script de la facon suivante:  
 
1- lire les donnees contenues dans le fichier texte
2- selectionner celles qui m'interessent
3- creer un graphique a partir de ces donnees
5- exporter le graphique en fichier image
6- importer l'image dans une page html
7- commander l'ouverture de cette page html
 
 
Si quelqu'un pouvait me mettre sur la voie, me dire quel language je dois utiliser,  
merci d'avance !!  
 
PS: voici un exemple de fichier texte dans lequel sont contenues mes donnees:
 
      POINT ID.   TYPE          T1             T2             T3             R1             R2             R3
             1      G      1.599571E+01   1.185148E-02  -3.111541E+00   1.784951E-06   5.286219E-02  -3.340712E-06
             2      G      2.303846E+00   1.238950E-02  -1.913684E+00   1.784951E-06   5.286219E-02  -3.340712E-06
          1000      G      1.009300E-03  -1.461770E-03  -8.895236E-02  -1.380486E-02   1.121588E-03   0.0
          1001      G      6.655139E-04  -1.269913E-03  -1.202470E-02  -8.149052E-03   1.912397E-03   0.0
          1002      G      2.128328E-04  -4.430452E-04   2.143617E-02   9.356764E-04  -1.131274E-03   0.0
          1003      G      1.528846E-04  -3.164306E-04   1.279018E-02   1.256070E-03  -7.879398E-04   0.0
          1004      G      4.770843E-04  -1.147985E-03   2.830649E-02  -3.521185E-03  -6.181516E-04   0.0
          1005      G      2.695279E-04  -3.397622E-04  -1.185465E-02  -1.379297E-04  -1.666789E-03   0.0
          1006      G      5.318802E-03  -1.288805E-02   1.703259E-01   3.963486E-02   2.937418E-02   0.0
          1007      G      3.142439E-03  -5.341556E-03   5.803642E-02   1.815232E-02   1.094855E-02   0.0
          1008      G      1.822350E-04   3.866597E-04   1.790608E-02  -1.606418E-03  -7.047455E-04   0.0
 
 
Et donc, par exemple, j'aimerai faire le graphique suivant contenant 3 points:
les points 1002, 1005 et 1006
leur abcisses respectives se trouvent dans la colonne T1, leurs ordonnees dans la colonne T3.
Et afficher ce graphique (avec legende, titre etc...) dans netscape..
 
merci.

mood
Publicité
Posté le 24-03-2006 à 17:48:54  profilanswer
 

n°1331955
nargy
Posté le 24-03-2006 à 20:11:18  profilanswer
 

> ce que j'ai a faire, c'est ca: creer un graphique de type XY (abcisse-ordonnee) a partir de donnees d'un fichier texte et afficher ce graphique dans netscape
 
Que tu ait à faire ça derrière un serveur web, ou dans un dossier de l utilisateur, le PHP devrai être facile à apprendre: facile pour commencer, bonne doc, installation facile, beaucoup de fonctionnalités. Prévoit tout de même une semaine pour apprendre les bases si tu n a aucune expérience en programmation.

n°1331962
couak
Posté le 24-03-2006 à 20:21:34  profilanswer
 

tu peux également chercher un soft libre et/ou gratuit qui te permettent de tracer des graphs facilement (GNU Plot par exemple)
Une fois ton image générer tu n'as plus qu'à l'intégrer dans une page html

n°1331969
sub1
Posté le 24-03-2006 à 20:36:55  profilanswer
 

Hello,
N'importe quel langage actuel va te permettre de créer ce type de graphique, après, ça dépend plus de tes contraintes : web ou local, taille des fichiers, fréquence de maj, performances, portabilité,....
 
Sur un unix, perl http://www.perl.com/ + gd http://www.boutell.com/gd/ parait pas trop mal...

n°1332716
fiftoman
Posté le 27-03-2006 à 10:05:30  profilanswer
 

ok merci pour vos réponses, c'est cool !  
 
Par contre, vous auriez pas un petit exemple tout con ? Je m'explique :
 
Concretement, quand je suis sous unix, qu'est ce que je dois faire pour lancer un programme (perl ou php) ? Je l'écris dans un fichier texte ou un fichier executable ? Quelle extension je dois donner à ce fichier dans ce cas? Et comment je l'execute ? Vous auriez pas un exemple tout con, genre juste l'affichage d'un message ou la somme 2+2=4 pour que je puisse voir comment procéder pour executer un tel programme ?  
 
Merci. Miguel
 

n°1332734
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-03-2006 à 10:38:41  profilanswer
 

Personnelement je te conseille PERL ( entre perl et php), c'est bien "mieux" pour apprendre à programmer correctement. PHP est beaucoup trop permissif pour démarrer avec.
 
Deux exemple donc
somme.pl ( en supposant une installe "normale" de perl)

Code :
  1. #!/usr/bin/perl
  2. use strict;
  3. my $somme = 2 + 2;
  4. print  '2 + 2 = '.$somme;


 
somme.php:

Code :
  1. <?php
  2. $somme = 2 + 2;
  3. print '2 + 2 = '.$somme;
  4. ?>


 
Nan nan ça se ressemble pas :o
 
edit: s'quoi t'interpreteur de code qui fume la moquette???


Message édité par anapajari le 27-03-2006 à 10:40:58
n°1332738
fiftoman
Posté le 27-03-2006 à 10:42:06  profilanswer
 

merci !  
 
Je vais essayer ca tout de suite !  
 
:)

n°1332743
couak
Posté le 27-03-2006 à 10:47:40  profilanswer
 

+1 pour Perl
Je me souviens que pour un projet où il me fallait sortir des chiffres sur les perfs de l'appli, j'avais utilisé Perl+GnuPlot
En gros, avec Perl je "parsais" les chiffres, les convertissais dans des tableaux Perl, et j'injectais le tout dans un module de GnuPlot (http://search.cpan.org/~caidaperl/ [...] Gnuplot.pm)

n°1332744
fiftoman
Posté le 27-03-2006 à 10:48:06  profilanswer
 

ouais, j'ai un petit probleme:  
 
J'ai collé dans un fichier texte le premier script:
 
#!/usr/bin/perl
use strict;
my $somme = 2 + 2;
print  '2 + 2 = '.$somme;  
 
Ensuite je l'ai enregistré sous somme.pl
 
Maintenant, comment je l'execute depuis unix S'il te plait ?
(execute somme.pl ou exe somme.pl ne fonctionne pas, il me sort "command not found" )
Miguel

n°1332745
couak
Posté le 27-03-2006 à 10:50:52  profilanswer
 

deux manières :

Code :
  1. perl somme.pl


 

Code :
  1. chmod +x somme.pl
  2. ./somme.pl


 
La seconde manière est mieux, car tu ajoutes le droit d'exécution sur le fichier et tu utilises la ligne de shebang pour l'exécution (1ère ligne : #!/usr/bin/perl)

mood
Publicité
Posté le 27-03-2006 à 10:50:52  profilanswer
 

n°1332751
fiftoman
Posté le 27-03-2006 à 11:15:18  profilanswer
 

ca marche pas :(
 
voici ce que ca donne :  
 
TRNG_MUNC::essais_reponses_forums> l
total 1
-rwxrwxrwx    1 mwesteel play          76 Mar 27 10:44 somme.pl
 
TRNG_MUNC::essais_reponses_forums> somme.pl
somme.pl - Command not found
 
TRNG_MUNC::essais_reponses_forums> .somme.pl
.somme.pl - Command not found
 
TRNG_MUNC::essais_reponses_forums> perl somme.pl
Illegal character 15 (carriage return) at somme.pl line 2.
(Maybe you didn't strip carriage returns after a network transfer?)
 
TRNG_MUNC::essais_reponses_forums> chmod +x somme.pl#
Cannot access somme.pl#: No such file or directory
 
TRNG_MUNC::essais_reponses_forums> chmod +x somme.pl
 
TRNG_MUNC::essais_reponses_forums> ./somme.pl
./somme.pl - Command not found
 
TRNG_MUNC::essais_reponses_forums> ./ somme.pl
./ - Permission denied
 
Miguel.

n°1332753
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-03-2006 à 11:24:27  profilanswer
 

va falloir que t'y mettes un peu du tien aussi sinon on va jamais s'en sortir!!!
La 1ere commande correcte était:

Code :
  1. TRNG_MUNC::essais_reponses_forums> perl somme.pl


A quoi le systeme te réponds:

Citation :

Illegal character 15 (carriage return) at somme.pl line 2.
(Maybe you didn't strip carriage returns after a network transfer?)
 


Laissant sous-entendre que tu as fait un copier/coller sans vraiment regarder ce que tu faisais ( je parie que tu as laissé les # qui viennent du copier de ce forum).
 
La 2eme ligne correcte était:

Code :
  1. chmod +x somme.pl#


Avec un joli # à la fin normal qui trouve pas le fichier!!!  
Donc quand tu as fait:

Code :
  1. essais_reponses_forums> chmod +x somme.pl

tu as bien mis les droits.
 
 
 
 

n°1332763
fiftoman
Posté le 27-03-2006 à 11:40:34  profilanswer
 

ah d'accord, excuse moi, je savais pas que les # venaient du copier-coller. Je vais apprendre le language perl, mais avant j'aimerais m'assurer que ca tourne bien sous unix c'Est pour ca que j'arrive pas encore À detecter ce genre d'erreurs.... désolé !
 
Donc j'ai rééssayé et ca tourne. Mais voici ce que ca donne, c'Est normal ? :
 
TRNG_MUNC::essais_reponses_forums> ./somme.pl
./somme.pl: !/usr/bin/perl:  not found
./somme.pl[2]: use:  not found
./somme.pl[3]: =:  not found
2 + 2 = .
 
 
(voici ce que contient somme.pl en l'ouvrant avec wordpad:
 
!/usr/bin/perl
use strict;
$somme = 2 + 2;
print  '2 + 2 = '.$somme;

n°1332765
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-03-2006 à 11:44:53  profilanswer
 

Oui mais alors il faut le # sur la 1ere ligne :o

Code :
  1. #!/usr/bin/perl
  2. use strict;
  3. $somme = 2 + 2;
  4. print  '2 + 2 = '.$somme;


 
un tutorial

n°1332779
fiftoman
Posté le 27-03-2006 à 11:57:45  profilanswer
 

Bon voilà, en rajoutant le # au début, ca donne ca:
 
TRNG_MUNC::essais_reponses_forums> ./somme.pl
./somme.pl - Command not found
 
À ce moment là, j'ai ouvert le fichier somme.pl sous unix avec nedit et j'ai découvert des <CR> À la fin de chque ligne.
Donc je les ai supprimés. Et là, ca donne:
 
TRNG_MUNC::essais_reponses_forums> ./somme.pl
Global symbol "somme" requires explicit package name at ./somme.pl line 3.
Execution of ./somme.pl aborted due to compilation errors.
 
MAis bon, je voudrais pas te prendre la tête non plus....

n°1332781
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-03-2006 à 11:59:18  profilanswer
 

t'as oublié un $ devant somme...

n°1332783
fiftoman
Posté le 27-03-2006 à 12:00:53  profilanswer
 

ben nan, il y est , je t'assure, regarde:
 
#!/usr/bin/perl
use strict;
$somme = 2 + 2;
print  '2 + 2 = '.$somme;

n°1332789
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-03-2006 à 12:04:38  profilanswer
 

t'as oublié le my sur la déclaration de somme:

Code :
  1. my $somme = 2 + 2;


 
Oui je sais je l'ai oublié aussi juste au dessus, mais pas sur le 1er code que j'ai donnée ;)

n°1332791
fiftoman
Posté le 27-03-2006 à 12:09:10  profilanswer
 

Ca MAAARRCHEEE !!!!
Alors un grand merci !!!!!!
MAintenant, je vais me lancer dans l'apprentissage du language.  
Tu sais ou je pourrais trouver de bons tutoriaux par hasard ?  

n°1332845
fiftoman
Posté le 27-03-2006 à 14:30:45  profilanswer
 

voilà, je me suis lancé. Voici mon premier programme, qui compte le nb de lignes d'un fichier texte, mais il y a un probleme.
 
#!/usr/bin/perl
open (fichier, '3lignes.txt');
$i=0
while(<fichier> ) {
$i++;
}
close fichier;
print "nombre de lignes: $i";
 
Unix me detecte une erreur à la ligne 6, À côté de }
"aborted due to compilation errors"
 
je vois pas d'ou ca peut venir ... ?????  
 
Miguel
 

n°1332853
TBone
Pouet.
Posté le 27-03-2006 à 14:41:03  profilanswer
 

je ne connais pas Perl, mais est-ce que tu ne devrais pas avoir un ';' après $i=0 ?


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
n°1332858
fiftoman
Posté le 27-03-2006 à 14:47:36  profilanswer
 

exact ! ca tourne, merci !  

n°1355079
bebe235
Posté le 27-04-2006 à 12:59:59  profilanswer
 

bonjour tout le monde de perl ben jai lu votre discution et jespere ke moi aussi vous allez m'aider, je debute en programation perl sous unix
et voila un message ki me sort
(Can't open perl script "test.pl": Un fichier ou un répertoire du chemin d'accès n'existe pas.)
je ne sais pas si vous plait aider moi jenn ai vraiment besoin  :hello:  je suis entrain de praparer mon projet de fin d'etude!!!!!!!!!!!

n°1376018
couak
Posté le 27-05-2006 à 18:05:43  profilanswer
 

dis nous quelle est la commande que tu as lancée pour obtenir ce message d'erreur

n°1376025
TBone
Pouet.
Posté le 27-05-2006 à 18:48:08  profilanswer
 

un mois après, si il n'a pas trouvé, son projet de fin d'études doit être mal barré :o ;)


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
n°1376050
couak
Posté le 27-05-2006 à 20:06:28  profilanswer
 

ah ouais j'ai cru que c'était un post qui datait d'aujourd'hui :o

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  novice en programmation doit programmer sous unix.

 

Sujets relatifs
Appel de commande shell unix en javaprogrammation en .NET
programmation sudokuLive CD pour programmation
Programmation d'un mini OSExcel : Fonction? Programmation ? Macro ? Help me Please !!!!
GD lib, plateforme windows et unixUML - Débutant en programmation - Recherche de conseils
Programmation CGI en interne ?Programmation Macro touches de clavier
Plus de sujets relatifs à : novice en programmation doit programmer sous unix.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR