Forum Linux.débutant Création d'un programme

Posté par  .
Étiquettes : aucune
-3
5
juil.
2011

Bonjour à tous
je viens de trouver un job d'été et je de créer un programme sous Linux mais je ne sais pas vraiment comment faire...
est-ce que vous pourriez me dire comment faire, quel langage utiliser, ect...
je vous en serais tres reconnaissant

merci

  • # ça dépend ?

    Posté par  (site web personnel) . Évalué à 5.

    C'est pourquoi faire ?

    Système - Réseau - Sécurité Open Source

    • [^] # Re: ça dépend ?

      Posté par  . Évalué à 1.

      Il ne m'a pas encore donné les fonctions du programme, il me laisse un peut de temps pour apprendre, voir comment on crée des programme sur linux...

      Je n'ai jamais fait ça...

  • # C'est vague...

    Posté par  . Évalué à 1.

    Il manque un peu d'informations afin de t'orienter...

    • Sur quelle type de plateforme va tourner l'application ? (Debian, BSD, Solaris, etc... ?)
    • en quoi consiste le projet ? (BDDR, web, etc...)
    • Quelles sont les connaissances/compétences que tu possèdes déjà?
  • # Oh oh

    Posté par  . Évalué à 10.

    Euh, c'est payé ton truc? Tu as l'air aussi incompétent que le gars qui t'a recruté, donc je pense que ça devrait bien se passer :-)

    • [^] # Re: Oh oh

      Posté par  . Évalué à 2.

      Mais non, il sait que je débute et que je n'ai jamais fait ça... en fait jsuis surtout là pour apprendre. il me laisse un peut de temps pour apprendre...voir comment on crée des programmes sur linux...

      • [^] # Re: Oh oh

        Posté par  . Évalué à 10.

        c'est bien ce qu'il dit.
        Faire de la programmation quel que soit l'OS change peu. Par contre suivant la destination du projet/programme, le langage et le type de programmation lui change radicalement.

        • Pour un truc qui prend un fichier texte en entrer et le ressortir sous une autre forme en général ça va être du perl
        • Pour un machin qui va s'occuper de télécommander un port serie du pc pour faire un rail type K2000 avec les les j'aurais tendance à prendre C ou [[C++]].
        • pour un bidule qui à partir de fichier texte est capable de générer une interface graphique permettant de créer un perso dans un jeu de rôle, je ferai ça avec C++ et Qt
        • pour un schmilblik qui devra gérer les inscription sur un site web, et stocker 2/3 informations en base de données, ce sera PHP5/mysql/apache (+html et javascript)
        • pour un bouzin qui doit parcourir des répertoire et renommer les plop/*_1.dat et plop_01.dat en plop_001.dat, ça va plus être du bash
        • pour le reste, il y a emacs :D

        enfin là rien que pour ces exemple on est déjà à 3 mode de programmation

        • c/c++ où tu écris ton fichier tu compile via gcc / g++
        • perl/bash/python où tu écris un truc tu lance directement le code
        • php5/html/mysql/apache où tu vas générer du code qui sera interprété par un explorateur web.

        Dans tous les cas il faut éditer un fichier avec un éditeur de texte, mais c'est à peu près le seul point commun.

        Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: Oh oh

        Posté par  . Évalué à 6.

        Apparemment, d'après ce que j'ai compris, tu es censé coder un driver pour un périphérique USB. C'est bien ce que je dis : ni toi ni lui n'avez aucune idée de la complexité de la tâche qu'il t'a confiée.

  • # Python + Qt

    Posté par  . Évalué à 4.

    Je crois que de l'avis général Python est le langage recommandé pour apprendre la programmation (et pas que sous Linux).

    Si le programme doit faire des interfaces graphiques, apprendre à utiliser Qt serait probablement très instructif.

    BeOS le faisait il y a 20 ans !

    • [^] # Re: Python + Qt

      Posté par  . Évalué à 1.

      Tiens pour du python avec du Qt, je crois qu'il y a deux implémentation pySide et pyQt, elles se distingue par quoi ?

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # recommandation de lecture

    Posté par  . Évalué à 4.

    lire la Kernel Mailing List et les sources du noyau
    puis ecrire ton premier module (driver)

    enfin compiler.

    avec ca, à la fin du stage/job tu sera un dieu en linux, et tu n'auras meme plus besoin de faire d'etude pour gagner des tonnes d'argent.

    et sinon, relire tes cours de programmation car j'imagine que tu as été recruté car tu avais des competences en informatique, comprendre par là que tu sais ce qu'est un ordinateur, comment ca marche, mais aussi comment on fait un programme et pas seulement avoir atteint le level 150 ou 200 dans certains jeux et etre un 3L1TE à counter/quake ;)

    • [^] # Re: recommandation de lecture

      Posté par  (site web personnel) . Évalué à 3.

      lire la Kernel Mailing List et les sources du noyau
      puis ecrire ton premier module (driver)

      enfin compiler.

      avec ca, à la fin du stage/job tu sera un dieu en linux

      Non, il manque une étape : convaincre les développeurs du noyau que ton code est bon pour être inclus dans la branche principale. C’est ça le véritable test.

  • # AVANT TOUT faut peut être commencer par là...

    Posté par  . Évalué à 5.

    regardes dans un langage simple mais efficace, comme python par exemple,
    comment réaliser chaque fonction de base
    une boucle
    une comparaison
    une condition
    comment on peut les imbriquer

    testes un maximum de conditions (et/ou/si...alors...sinon.../pour toute occurrence faire..../ tant que condition faire .........../ etc...)

    c'est tjrs les mêmes principes y'a que la syntaxe d'un langage à l'autre qui changera, mais ces principes sont presque universels.

    coté méthode, bha découpe ton besoin en autant de petits sous -ensemble que tu peux, pour chaque écrit un programme qui teste la structure qui répond à ce sous ensemble, et petit à petit recoles les morceaux et tests des blocs de fonctions etc...

    Vu le flou artistique dans le quel tu vas devoir faire ce petit apprentissage, tu va surement tomber sur un programme à faire assez simple, genre conversion de format de données, ou correctif automatique ou un système dédié quelque chose comme ça, qui sera de fait d'autant plus facile à découper en petites étapes.

    Par contre tant qu'on connait pas ton besoin réel on peut rien te dire de plus.
    Les conseils qui t'ont déjà été donnés sont pertinents. mais on peut pas faire plus pour l'instant pour t'aider.

    • [^] # Re: AVANT TOUT faut peut être commencer par là...

      Posté par  . Évalué à 1.

      En fait il faut que je crée un programme pour une clé TNT pour "dialoguer avec elle"
      que je puisse lui demander
      la puissance du signal
      le rapport C/N
      une certaine fréquence
      et d'autre truc du genre...

      le pire cest qu'en jen ai jamais fait meme sur une calculatrice graph

      • [^] # Re: AVANT TOUT faut peut être commencer par là...

        Posté par  (site web personnel) . Évalué à 2.

        et bien... bon courage. :)

        (shell ou python, ce sera bien pour ton usage)

      • [^] # Re: AVANT TOUT faut peut être commencer par là...

        Posté par  . Évalué à 5.

        Ben là je dirais que ça va dépendre énormément des specs de la clé...
        Si elles sont claires et "ouvertes", pas trop de souci, ça se fera plutôt en C ou C++ pour leur accès au bas niveau (mais d'autres peuvent avoir des avis différents).

        Si y'a pas de specs pour la clé, ça veut dire ingénierie inverse, et là désolé, mais il faudra plus que "j'ai appris à programmer en 3 jours!"

      • [^] # Re: AVANT TOUT faut peut être commencer par là...

        Posté par  . Évalué à 3.

        aller voir chez le constructeur de la clé s'il n'y a pas deja un programme pour faire ca

        • au pire, tu n'as rien d'autres que la clé :(
        • au moins bien, tu auras juste un pilote que tu pourras interroger ensuite avec son API
        • au mieux, tu as un pilote pour faire fonctionner la clé ET un programme pour travailler avec elle (interroger/regler ses parametres, capturer des images, données)
  • # script shell ?

    Posté par  . Évalué à -1.

    si c'est pour un élément matériel, il y a fort à parier qu'un simple script en utilisant la mib SNMP par exemple suffise, ou peut être même juste regarder dans /proc/N°processus pendant qu'elle est activée.

  • # a vera cruz

    Posté par  . Évalué à 10.

    Je suis curieux de savoir s'il s'agit d'une blague, tiens nous au courant

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.