Connexion
Vous n'avez pas encore de compte personnel ? Vous devriez en créer un. Une fois enregistré vous aurez certains avantages, comme pouvoir modifier l'aspect du site, ou poster des commentaires signés...
Support
Discord
Activité du Site

Pages vues depuis 06/01/2019 : 25 773 065

  • Nb. de membres 383
  • Nb. d'articles 3 161
  • Nb. de forums 24
  • Nb. de sujets 13
  • Nb. de critiques 0

Top 10  Statistiques

Index du forum »»  Développement »» Python (et Cie) sur MorphOS, questions de débutant

Python (et Cie) sur MorphOS, questions de débutant#1498

3Contributeur(s)
demetherYomguiJuLieN
2 Modérateur(s)
PapiosaurBeWorld
demether demethericon_post
Salut,

J'avais posté un topic sur mes probables débuts en programmation sur Amiga impact, vu que ça s'est précisé, je poste à présent ici.

Pour résumer, avec un background web (graphisme, intégration XHTML CSS respectant les normes w3c, et quelques incursions dans l'actionscript2 et dans une moindre mesure, le !!!!javascript!!!!), j'aimerai bien me mettre enfin à la programmation, reve que j'entretiens depuis mon premier ordinateur (a500), dans un but récréatif.

On m'a conseillé le Python : facile d’accès, super bien documenté (online et livres), et portable (sachant que les plateformes m'intéressant sont MorphOS, Aros et Linux).

Je pensai d'abord coder sur linux, mais au fil de la discussion, je me suis pris à rêver de programmer sur amiga...Comme je révai à l'époque. Ayant un a1200 de base, avec un écran 15khz rgb, je ne me vois pas travailler dessus, j'ai donc plutôt pensé à mon powermac prenant la poussière et Morphos.

Mon but est de programmer de ptits jeux, et des démos (plus "artistiques" que techniques, hein).


Voilà donc mes questions pour savoir si je saute le pas...ou pas :-P

- 1) Scribble est donc l'éditeur pour coder sur MorphOS. Est il valable (du point de vue d'un débutant, surtout), que les IDE et éditeurs linux orientés Python existant (Geany, Ninja, Idle, etc...) ? Ou est ce que les coders MorphOS travaillent sur Windows, mac ou Linux, puis uniquement compilent sur MorphOS ?

- 2) Sur mon poste linux, c'est la version 2.7 qui est installé. Selon mes recherches, sur MorphOS, c'est la même chose. Puis je espérer porter facilement un programme créé sur MorphOS sur Linux (et autres plateformes ayant Python 2.7), dans ce cas ?

- 3) Dans la continuité de la question précédente, je regarde de prés la bibliothèque Pygame, orientée jeux et basée (si je ne me trompe) sur la bibliothèque SDL. Il me semble qu'elle (pygame) est portée sur MorphOS. Là encore, aurais je des problèmes à utiliser un programme crée avec pygame sur MorphOS, sur d'autres plateformes ?

- 4) Pour terminer, existe t'il, sur le modèle de Pygame, d'autres bibliothèques (3D par exemple) pour Python disponibles sur Morphos ? En cas de 3D, est ce que ça sera compatible sur Linux (Morphos n'utilise pas OpenGL, il me semble) ?


VoilÃ, encore une belle volée de questions. Merci d'avance :=!


Dimitri
Yomgui Yomguiicon_post
1) Tout a fait valable! Dès que je suis sur MorphOS je l'utilise pour coder avec, quelque soit le langage.
Je suis un fan de Emacs, que j'utilise sous Linux. Donc je ne suis pas un grand utilisateur d'IDE tu comprends,
mais pour coder c'est plus que suffisant.
Perso, il lui manque une seule fonctionnalité: la complétion automatique suivant un dictionnaire de tous les mots
se trouvant dans les onglets ouverts, et donc dynamique.
A mes derniers tests, la complétion était faite sur un dictionnaire pré-remplis (genre le contenus du SDK).

2) Portabilité de Python: hormis le cœur du langage lui-même, tu risques te tomber facilement sur du code orienté plateforme, exemple POSIX, Windows, etc...
Et oui la plus part du temps les gens font des programmes pour leurs machines, oubliant totalement les autres. Et quand ils
daignent y penser ils ne le font pas de la manière adéquate: résultat tout ajout supplémentaire de plateforme et souvent pas une nouvelle plateforme mais un dérivé: c'est comme dire que mon code portable supporte posix, bsd, unix...
Pour résumé: le langage permet d'être portable jusqu'Ã une certaine limite, limite qu'il ne tient qu'Ã toi de respecter... ou pas.

3) Oui SDL et PyGame sont supporté sur MorphOS, en grosse partie, il manque quelques points, comme le support MPEG il me semble.

4) Oui, il existe un port de PyOpenGL sur MorphOS, basé sur TGL.... sur mon Peg2 :-)
Il m'a servi pour tester Minecraft. Je veux bien le partager, mais faut se débrouiller avec.
demether demethericon_post
Merci pour ta réponse,

C'est encourageant, je suppose que quand tu parles de complétion, Scribble fait au moins la complétion des termes propres à Python ?

Sinon concernant la portabilité, j'essairai de faire le plus portable possible, sur les deux supports souhaités, Ã savoir linux (ubuntu 64bit) et Morphos. J'espere etre capable de le faire.

Quand je faisai de l'intégration web par exemple, je me forçai à faire du code (html et css) valide W3C. Non parce que ça aide pour les robots référenceurs (meme si ça fait pas de mal), mais surtout parce que je savais qu'au final, les contenus devaient pouvoir etre lus par des personnes malvoyantes ou non voyantes, ou fonctionner sur tout type de navigateur trés ancien ou moderne (meme ne comprenant pas les feuilles de style).

De fait, ce qui pouvait sembler anodin (car visuellement identique sur la plupart des navigateurs), j'essayai de bien faire, meme si de prime abord, "ça se voit pas". J'essaierai de garder cette philosophie dans la programmation. Meme si je ne sais pas encore si c'est une qualité ou un défaut... :-P

Yomgui Yomguiicon_post
En référence à un film: "Piège!"

Noooooon!
:paf :paf :paf :paf

Commencer par dire "je vais être portable" et finir par "sur telle et telle plateforme", ne serait ce pas une contradiction?

Après tout, personne n'a encore défini ce que veut dire "portable"!
Alors voilà mon avis:

Portable: critère relatif sans échelle. La portabilité d'une application évalue l'efficacité relative à rajouter le support d'une nouvelle plateforme, non prévue lors de la création de la-dite application. La relativité du critère relevant des spécificités de la plateforme en question. L'efficacité se notera, entre autres, par un minima des modifications à apporter au code existant.

J'entend par là que l'on ne choisi pas d'avance de supporter un ensemble de plateformes pour dire que l'on est portable.
Dans ce cas on est juste ... porté!
Être portable c'est démontrer que l'architecture du code est conçue, explicable et compréhensible, de façon à ce que l'ajout
d'une nouvelle plateforme ne va pas vous demander de revoir les fondements de votre programme et/ou ceux de la plateforme (sinon on tombe dans la simulation).
Cela demande donc une très bonne conception dès le départ. Mais cela ne veut pas dire savoir dés le début comment faire, comment et quoi écrire, sans possibilités de changements. Cela veut dire conceptualiser ce que l'on veut faire et maîtriser l'architecture de son code dans son ensemble pour savoir qui fait quoi!
Si votre code est clair, bien segmenté, écrit de façon atomique, il y a de grande chance qu'il soit portable. Même si on a prévus qu'une seule plateforme dès le départ.

Le succès de la portabilité est dans votre maîtrise de l'architecture. :-b
demether demethericon_post
AH OK ! Précision importante ! Je ferai ce que je pourrai, alors ;-)

En gros, il faut surtout respecter une certaine "orthodoxie" comme en (bonne) intégration web, quoi !
Yomgui Yomguiicon_post
Comme l'a dit quelqu'un sur AI où tu as aussi posté: tu te poses trop de questions!
C'est bien, mais c'est comme le sel: point trop!

N'oublis pas une chose: pour réussir quelque part, ce n'est pas dans le nombre de bouquins ou de sites internet que tu vas lire,
et même de questions que tu poseras, que l'important ce trouve.
C'est en toi! C'est ton envie, ta persévérance, ta motivation que se trouve l'énergie pour réaliser tes envies.

Pour ton "problème" précisément: pourquoi veux-tu programmer? Pour créer, quelque chose, n'importe quoi, mais créer?
Où pour faire marcher quelque chose d'autre?

Je cherche à te faire poser la question suivante: la programmation, une passion en soit ou un outils (pour une autre passion)?

La différence? Dans le premier prend n'importe quoi, car ton appétit de savoir te poussera à aller voir partout!
Dans le deuxième il te faudra sélectionner le plus adéquat pour le but final.
Mais il est aussi possible de mixer les deux... ;-)

Je m'attend pas à ce que tu trouves la réponse de suite: il te faudra essayer pour que tu puisses le découvrir réellement.
demether demethericon_post
Merci pour ta réponse,

Mon but est de créer (dans un premier temps, ce qui devrait me prendre qques mois/années déja) deux jeux, basés sur un concept commun. Un truc pas compliqué mais qui devrait etre sympatique 8-)

Le deuxieme but, créer une (modeste, enfin je pense) appli amiga NG (morphos en particulier, n'ayant pas accés à OS4) remplissant un besoin bien particulier aussi, et non rempli à l'heure actuelle (du moins je ne pense pas).

Donc ce n'est pas la programmation pour la programmation, mais bien un but final. D'ou l'importance de partir sur une bonne base, et ne pas me rendre compte, début 2015, que je me suis égaré sur une mauvaise route (=un langage inadapté ou incompatible amiga NG).

Merci aussi pour le conseil, "de loin" ça peut paraitre bizarre ma méthode, mais elle a fait ses preuves dans d'autres domaines. C'est comme ça que je fonctionne ;)
JuLieN JuLieNicon_post
@Demether:
Pour info, c'est l'ami Yomgui qui a porté Python sur MorphOS... Donc tu ne trouveras tout simplement pas meilleur spécialiste. ;) Et il l'a fait essentiellement parce qu'il en avait besoin pour son port de... Blender! ^^

Par ailleurs, pour ce qui est de ton problème de thèmes MorphOS, ne t'embête pas : installe le pack Chrysalis de Papio : non seulement ça te fera une configuration clé en main mais ça t'installera tous les thèmes. Je te conseille le thème Ofour, qui reproduit celui, très réussi, d'OS4.
Yomgui Yomguiicon_post
Citation : demether 
Mon but est de créer (dans un premier temps, ce qui devrait me prendre qques mois/années déja) deux jeux, basés sur un concept commun. Un truc pas compliqué mais qui devrait etre sympatique 8-)


Quelles ressources sont réclamées par tes jeux? Besoin de 3D, besoin de calculs? ou d'affichage très rapide?


Le deuxieme but, créer une (modeste, enfin je pense) appli amiga NG (morphos en particulier, n'ayant pas accés à OS4) remplissant un besoin bien particulier aussi, et non rempli à l'heure actuelle (du moins je ne pense pas).


Euh... même question! :-)
demether demethericon_post
Le premier jeu : un jeu de combat en versus, en écran fixe. Peut etre (si possible, ou dans une version 2) des effets de zoom.

Le second jeu : un scrolling horizontal, dans un jeu à la ninja warriors (l'original).

Peut etre des effets de particules (explosions, effets de feu) voir des effets de destruction de décors "physiques".

Graphiquement, du classique en 2D, en pixel art ou en vectoriel ("bitmapisé" probablement). L'originalité de ces jeux se situera ailleurs et sera commun aux deux logiciels. ;-)



Concernant l'appli : j'aimerai bien porter Calibre sur morphos (ayant découvert qu'il était en python et open source), et si c'est pas possible, créer une appli (bien plus modeste) pour gérer mon kindle sur morphos.


Mais avant tout cela, faut déja apprendre. J'ai commencé Ã me documenter. J'attends aussi de pouvoir financer la licence morphos.