Tutoriel en français pour programmer en MUI

Une nouvelle série d’articles est apparue la semaine dernière sur guru-meditation. Elle traite de l’apprentissage de la programmation en MUI avec le langage C. La difficulté est très progressive et devrait permettre à chacun d’évoluer sans douleur.

Un cas concret de logiciel sera traité à travers cette série de 7 ou 8 articles. Ceci permettra de présenter les principales fonctionnalités et de donner des conseils obtenus auprès de programmeurs expérimentés, tout ça étant indispensable pour utiliser MUI d’une manière moderne et propre !

25 Commentaires

Passer au formulaire de commentaire

    • corto sur 14 juillet 2004 à 15h30
      Auteur

    Pendant que j’y pense … ça serait bien que pour les news, il y ait une rubrique développement ou programmation ou guru-meditation ou … enfin, quelque chose de plus adapté que “divers” 🙂

    • anonyme sur 14 juillet 2004 à 15h44

    Ouais ! merci Corto ! 🙂

    Que tous ceux qui ont des réticences à développer sur “Amiga” (à coz du coté GUI spécifique et langage C) aille au plus vite s’intéresser au développement orienté MUI !
    Franchement, pour celui qui a des notions de dév (sur d’autres plateformes) s’est largement abordable MUI (tout en facilitant grandement la vie pour le côté désign et interfaçage des applications). Reste plus alors qu’à se stresser sur le C pour le spécifique (traitements). Et c’est déjà ça de gagné ;). C’est ce qui est en train de se passer pour moi… (compréhension aidée aussi en aillant fouillé le fameux MUIBuilder et ce qu’il génère derrière 😉

    (un IDE greffé là-dessus, style MUIB mis au gout du jour et amélioré, et ça serait le rêve 😉

    Jedi, qui découvre le dév MUI en 2004 (quel con).

    • anonyme sur 14 juillet 2004 à 16h05

    Ouai MUI rulezzzz!!!!

    😀

  1. Cool, je vais voir si j’arrive à accrocher… 🙂

    PS:
    Mais pourquoi ce site n’est pas référencé sur l’anneau Migafan ?? 😉

    • Sadirux sur 14 juillet 2004 à 21h03

    je comprend absolument rien, je suis vraiment pas fait pour la prog 🙁 …

  2. Oui ce serait bien une rubrique développement!!!!
    Je vote oui!
    :hammer:

  3. Un grand merci à Corto.

    je comprend absolument rien, je suis vraiment pas fait pour la prog …

    je ne pense que du bien de GURUMED mais en lisant les tutoriels je me demande parfois si l’approche est bien la bonne (notez que je ne suis pas prof, alors ce que j’en dis c’est très subjectif).

    à mon avis une des difficultés des tutoriels de GURU-MED c’est qu’ils sont hiérarchisés.
    c’est mieux pour ceux qui connaissent les bases car ils peuvent trouver plus vite l’info qu’ils cherchent.
    mais c’est moins bien pour le débutant car il ne peut pas trouver tout seul l’ordre d’apprentissage idéal.
    par exemple le tutoriel MUI est très bien fait, mais évidemment, encore faut il savoir ce qu’est une une tag-list et connaître BOOPSI.
    et, franchement, quel débutant sera assez tordu pour lire la doc de la “utility.library” avant de s’intéresser à MUI, à priori il n’y a aucun rapport.

    est-ce que ça ne serait pas plus didactique un tutoriel linéaire? dans lequel le lecteur ne choisit pas ses thèmes mais progresse petit à petit en commençant par les bases jusqu’à MUI, mais en passent obligatoirement d’abord par:

    1. ouverture/fermeture de librairies et ressources
    2. signaux de tâches
    3. ports de messages
    4. tag-lists
    5. intuition, fenêtres, écrans
    6. gadtools
    7. AppIcon et AppWindow
    8. BOOPSI

    évidemment le début 1. à 4. paraîtrait vraiment rébarbatif, mais il faut bien acquérir les bases, non?
    sinon on se heurte à la “steep learning curve”, la pente est trop raide, les débutants restent sur le bord de la route, et tout le monde croit que l’amiga est difficile à programmer.

    ce tutoriel MUI est TRES intéressant pour moi, mais à mon avis c’est parce que je connais déjà gadtools, sinon…

    et bien sûr je suis pour une rubrique dev.

    • corto sur 14 juillet 2004 à 22h44
      Auteur

    Sur gurumed, les articles sont hiérarchisés et je trouve ça très bien ! Je m’explique : quand on débute on ne doit pas s’attaquer à une application complexe mais apprendre les parties de l’OS une par une. Ca permet de commence par faire des choses simples : gestion des fichiers, de la mémoire, des fenêtres, etc. puis les arguments DOS, les datatypes, etc. Et on trouve désormais tout ça sur gurumed, avec à chaque fois un exemple simple qui traitre d’un sujet précis.

    C’est comme ça que se consolide les connaissances et qu’on en vient à aborder tout ce qui constitue l’OS. Programmer en MUI fait appel à des notions propres au système Amiga, par exemple les taglists, BOOPSI, … mais ça passe presque inaperçu ! Et pour les taglists, ce n’est pas sorcier et c’est utilisé … partout !.

    Pour un tutoriel complet sur la programmation Amiga tel que tu le décris, on se rend compte qu’il faudrait un livre. La préparation, la rédaction, la correction, la mise en ligne, la promotion, … de ce tutoriel MUI doit déjà totaliser un bon paquet de journées de boulot alors j’imagine si il fallait reprendre tout depuis le début !

    Je ne vois personnellement pas comment rendre l’apprentissage de MUI plus facile 🙁 Il faut s’accrocher !

  4. Je ne vois personnellement pas comment rendre l’apprentissage de MUI plus facile. Il faut s’accrocher !

    en fait si c’était linéaire ça ne serait pas plus facile, il faudrait s’accrocher autant parce que les applications tarderaient à venir.
    et on ne pourrait pas rentrer dans le texte autrement que par le début.

    C’est comme ça que se consolide les connaissances et qu’on en vient à aborder tout ce qui constitue l’OS.

    et bien si c’était linéaire ça consoliderait l’apprentissage, mais pas les connaissances.

    en fait ça ne serait pas mieux, seulement différent.

    Pour un tutoriel complet sur la programmation Amiga tel que tu le décris, on se rend compte qu’il faudrait un livre.

    alors peut-être que le contenu de GURUMED est adapté au support. mais effectivement ça ne remplace pas un livre. bon ben voilà, j’ai finit de dire des banalités.

    et puis bien sûr je t’encourage à continuer…

    et à propos, je suis un train d’écrire un tutoriel Amiga-E (dont la 1ère partie est parue dans Obligement45), est-ce qu’il pourrait avoir sa place sur GURUMED ?

    • Rafo sur 15 juillet 2004 à 5h46

    @BrickCaster

    Je pense parler au nom de l’équipe GURUMED (dont je ne fais pas
    partie) en disant que tout ce qui a trait au développement sur Amiga
    et compatibles, a sa place sur le site gurumed.net

  5. mmh… c’est marrant ça. Perso, je trouve justement que ce début de dossier MUI fait partie des mieux présentés/abordés sur gurumed (même si globalement, on ressent vraiment l’effort porté à la rédaction, fond et forme, sur l’ensemble des articles du site, ce qui est remarquable par rapport à d’autres trucs qu’on peut voir ailleurs ;).
    J’attends de voir les autres articles du dossier (car le début étant le plus facile), mais à mon avis Corto a la (très) bonne approche (il va à l’essentiel, c’est clair, bien abordé, avec les exemples bien adaptés,…).
    De toute façon, ça restera toujours de la technique pour laquelle il faudra faire l’effort personnel de s’y pencher à un moment ou un autre (surtout avec de l’information lue en ligne).
    Je débute en MUI, j’ai qlq bases en C, mais je pense avoir un peu d’avance sur les articles de Corto que du coup j’absorbe sans problème (en complétant mes premières connaissances/lacunes :). Mieux, sur l’exemple de programme pour ce 1er chapitre, là, franchement, je ne vois pas comment on peut faire plus simple… 😉 Comme dit, à un moment donné, il faut s’y mettre et souffrir (surtout avec le C ;).
    Quant à la question d’approfondir ou pas certains points techniques, surtout au début (dans le sens débutant), du style ouverture/fermeture Intuition.Library, franchement on le voit tel quel une fois, ça suffit (m’en tape d’en savoir plus à son sujet à ce stade, je l’ouvre et je la referme et c’est tout car j’en ai besoin :). Après, si il faut l’approfondir plus tard, ok. Mais chaque chose en son temps (sinon, le newbie comme moi risque vraiment de crouler sur tout et nimp et d’abandonner encore plus vite ;).

    • Tom sur 15 juillet 2004 à 10h19

    Arrrg, malheureusement Guru-meditation.net rame horriblement ce matin, pas moyen d’accéder au site 🙁

    [edit]
    Bon tout est rentré dans l’ordre, j’ai pu accéder aux articles.

    A ce propos je dirais : MIAM ! Je sens que je vais encore gaspiller de précieuses heures de travail au boulot pour me familiariser avec MUI…. Décidement, WinUae, gcc et vbcc sont mes amis…
    [/edit]

    • sur 15 juillet 2004 à 10h47

    Merci bicoup missiou Corto !

    • hybrid sur 15 juillet 2004 à 11h08

    Que dire, si Corto n’existait pas, il faudrait l’inventer !

    Bravo, ça a déjà été dit plein de fois mais bravo encore !

    • anonyme sur 15 juillet 2004 à 11h46

    trés bon tutorial monsieur Corto, je vous préférre infiniement dans ce genre d’exercice que dans d’autres 🙂
    je n’ai vraiment plus aucune excuse pour couvrir mon poil dans la main avec un site comme gurumed :p

    /me qui s’est surpris à comprendre plein de choses 🙂

    • slobman sur 15 juillet 2004 à 12h08

    Hip !!

    Ouaip, il est très (très [très]) bien ce didacticiel. Ayant fait parti de ses permiers betatesteurs, j’ai été dans l’incapacité de trouver quelque chose à dire ou redire ou modifier… bon, c’est vrai que j’ai des bases en GUI, en C, en RxMUI, en amiga en général, mais j’avais jamais rien fait en C sur amiga, et encore moins en MUI… à la lecture du didacticiel, j’ai eu honte de ce “rien” tellement je comprenais tout facilement 😉 .

    Très intéressant, bien fait, à la difficulté très bien dosée et progressive, on a rien à y redire ! Bref : tous à votre compilateur préféré.

    Merci Corto !

    • Sadirux sur 15 juillet 2004 à 13h18

    il est vrai que je n’ai aucune base, si tout existe sur gurumed, peut etre il faut une parti special gros newb comme moi pour remettre les articles dans “l’ordre” ? par exemple :
    pour programmer sur ‘miga commencé par avoir un environement de dev -> tuto d’install de la bete, puis notion de l’os -> tuto etc … enfin je sais pas ce qu’il faut connaitre, mais deja je ne sais pas installer un compilateur avec les librairies et autre … 🙁 , oui je sais je suis nul, mais faut pas hésité à le dire si on comprend pas (c’est ce que tous les profs disent ) 😀

    • Rafo sur 15 juillet 2004 à 17h01

    @Goja

    Bienvenue au club de ceux qui comprennent rien aux compilos.

    J’ai beau faire du C (en fait, surtout du C++, mais bon), tâtonner
    (un peu aussi) en MUI, je suis incapable de comprendre comment marche
    un compilo. Je sais juste que le MDC fonctionne depuis l’install de
    base, mais ‘faut pas m’en demander plus. Faire pareil sur un Amiga 68K
    ? Désolé, je sais pas faire. Le seul compilo qui s’installe sans se
    prendre la tête sur ma machine, c’est Storm3…Bon, seul problème,
    j’arrive à rien compiler avec, mais bon y paraît que c’est normal (ça
    m’aurait fait chier de payer pour ça, tiens…).

    Une install “out of the box” serait effectivement l’idéal (un truc
    genre GoldEd4 (gratos) tout préconfiguré avec un GCC, le tout dans une
    archive (en LHA siouplaît, pas en .tar.gz.bz2.zip.slipenpilou)
    qu’il suffit de désarchiver, puis cliquer sur “Install”, et hop !

    Comme disait quelqu’un de très con et borné (je crois que c’est moi
    d’ailleurs) : quand on développe, on devrait avoir à se soucier
    UNIQUEMENT DE SON CODE, pas du bordel qu’il y a derrière.

    C’est aussi pour ça que je préfère faire un prog en partant de zéro
    plutôt que réutiliser le code de quelqu’un d’autre, qui en général ne
    se compilera jamais sans avoir à décortiquer tout son code (ce qui
    prend presque autant de temps que le réécrire from scratch) et le
    modifier pour que le compilo arrête de faire chier (même si ce brave
    compilo est bel et bien celui prévu pour le source en question).

    Enfin moi c’que j’en dis…et là, je parle uniquement du compilo.

    • corto sur 15 juillet 2004 à 22h46
      Auteur

    Tous : Houla ! Ca fait chaud au coeur tout ça ! Merci beaucoup, ça fait vraiment plaisir de voir que c’est apprécié et utile. Mais on y passe du temps et on essaie de proposer des articles complets, relus, et … le comité de relecture est intraitable !! Mais c’est pour inculquer de bonnes manières et devenir de brillants programmeurs 😉

    GoJa : Si tu débutes complètement, c’est normal de ne pas y comprendre, il y a des étapes indispensables à franchir avant.

    Pour les environnements de développement et leur installation, il y a déjà des articles sur gurumed.
    Pour les notions de l’OS, une fois qu’on sait comment ça marche, avec le recul, on ne sait plus forcément se replacer dans la peau de quelqu’un qui débute. Mais tu peux utiliser le forum. Même si les questions te semblent simplistes, n’hésite pas. Je me souviens au début, la panique pour savoir comment trouver la fonction adaptée à ce que je voulais faire et quelle library utiliser et quelles includes … En gros : pas où commencer ? Puis tout ça vient.

    Commence par récupérer la doc PDF orientée débutant et puis parcours le site guru-meditation.

    BrickCaster : Si tu as des choses sur le E, ça peut être intéressant. As-tu vu le thread de CptBlood qui a bataillé pas mal pour installer un environnement de dév E ?

  6. moi aussi j’ai apprécié et ça me sera probablement très utile, je suis encore sur Gadtools, et le tutoriel me faciletera le passage à MUI, car je reste sur Gadtools uniquement par paresse.
    encore merci Corto (même si je l’ai déjà dit).

    je n’ai pas l’impression d’avoir été intraitable, j’ai souligné la qualité des articles, seulement, tout d’un coup, il m’est venu une fausse bonne idée, ça arrive à tout le monde, non? en tout cas ça n’est pas de l’ingratitude.

    pour ce qui est de mon tutoriel l’amiga-E, je l’ai en 3 versions:
    * amigaguide anglais
    * amigaguide français
    * html français

    dès que j’ai terminé le dernier chapitre et que David Brunet me retourne la conversion en html je t’envoie le tout à [email protected]

    pour ce qui de CptBlood et des autres, je crois que c’est le problème des grands débutants, ils ont déjà du mal à faire coopérer GoldED avec leur compilateur, pour eux il faudrait une prise en main “ground 0”.
    ça n’est pas l’objectif de mon tutoriel, mon tutoriel commence là où le “E Beginners guide” s’arrête. il prend un programmeur amiga-E et tente d’en faire un programmeur AmigaOS + Gadtools.

    l’approche “tout installé” que réclament les débutants n’est pas possible à cause des exigences des différentes licenses d’utilisation. ce qu’on peut faire c’est donner une liste des ressources utiles et/ou incontournables, c’est ce que je fais à la fin (et même tout au long) de mon article Obligement.

    et si ça suffit pas pour motiver les gens à l’amiga-E alors j’ose même pas imaginer pour le C…

    d’ailleurs j’ai répondu dans le thread de CptBlood, j’ai indiqué une doc en français, donné des conseils d’installation, indiqué des exemples perso de petits sources faciles et amusants.
    mais il resté sur son idée d’un “installeur digne de ce nom”. je sais bien qu’il faut un début à tout, mais il faut quand même avertir ces personnes que l’effort d’installation de GoldED + Amiga-E n’est rien comparé à la programmation système.
    surtout quand on sait qu’il suffit d’assigner EMODULES: et voilà, le compilateur E est intallé.
    peut être que sur PC/Mac il y a des IDE complets mais c’est payant. là vous êtes sur amiga et c’est gratuit.

    • Rafo sur 16 juillet 2004 à 1h58

    @BrickCaster

    Et alors ? Sous prétexte que c’est gratuit il faudrait qu’on accepte
    que ça soit dépouillé, vide de presque tout, imbitable et sans aucun
    confort, le tout avec comme seule notice “RTFM” reportant sur 30Megs
    de .man écrits en Klingon ?

    C’est facile de sortir comme argument que “ah ouais mais eux c’est
    payant”. N’est-ce justement pas là l’occasion de faire un beau
    pied-de-nez en sortant justement une alternative gratuite tout aussi
    performante ?

    Franchement, l’excuse de “oui mais c’est gratuit” ne me satisfait pas.
    Ca devrait être un bonus (un gros bonus, certes), mais certainement
    pas une base.

    Si la gratuité doit toujours servir d’excuse à la médiocrité, on est
    pas près de voir débarquer quoi que ce soit (pas seulement un IDE) de
    valable sur nos plateformes vu qu’en gros personne n’est prêt à payer.

    @Corto

    Bravo pour ton cours qui, s’il s’arrête là où je me suis arrêté, en
    gros, pose de très bonnes bases et me fait attendre avec une certaine
    impatience les chapîtres suivants.

  7. moi je demande juste une chtite gui à la con pour linker, compiler, gcc du SDK MOS s’install en un double click et morphED (alias goldED) me convient.
    je reste juste allergique aux lignes de commandes avec une argumentation hazardeuse 🙂
    ah puis une traduction française des autodocs tiens m’enfin il parait que c’est toujours mal traduit 🙂

    En tout cas tout ceci n’est certainement pas une excuse à ma flemmardise aigue, ça serait juste des petits plus chouette 🙂
    D’ailleur j’ai qu’a me la faire ma gui à la con non mais !

    • Rafo sur 16 juillet 2004 à 7h39

    Dans MorphED : F3 pour compiler, F6 pour exécuter ce qui a été
    compilé. Que demander de plus ?

  8. @Rafo
    malheureusement, à part patienter en attendant quelque chose de mieux que GoldED + scripts AREXX, il n’y a pas grand chose à faire.

    @Sas

    D’ailleur j’ai qu’a me la faire ma gui à la con non mais !

    sur nunux ils appellent ça “do it yoursef”.
    remarque, Nike l’avait inventé avant eux.

    une traduction des Autodocs et des RKM ça ne ferait pas tout. par exemple où dans les RKM est il dit comment lire la valeur d’un INTEGER_KIND ?
    réponse 1: c’est gadget.specialinfo.longint
    réponse 2: c’est dit nul part dans les RKM

    • stan sur 22 juillet 2004 à 19h02

    Le comité de relecture est intraitable, ça ne veut pas dire “BrickCaster est intraitable” :).

Les commentaires sont désactivés.

Amiga Impact