Participer au développement

Les informations utiles aux développeurs de Pyromaths.

Modérateur : Développeurs

Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
Messages : 609
Inscription : 26 août 2006, 21:49
Localisation : Allemagne
Contact :

Participer au développement

Message par Arnaud » 31 janv. 2009, 22:23

Vous avez peut-être envie de participer au développement de Pyromaths, ou simplement de jeter un coup d'oeil dans le code, nous faire parvenir des critiques, remarques, etc...
Je vais essayer de centraliser les informations importantes ici.

Pyromaths est écrit en Python, langage de programmation très intuitif et multi-plate-forme.
Si je dis que c'est très intuitif, c'est parce que je l'enseigne à des élèves de lycée, à partir de la seconde, et la syntaxe ne pose pas de problème ( l'algorithmique, c'est autre chose... :roll: ).

Liens pour apprendre Python
Liens pour Qt4

Qt4 est le langage utilisé pour la réalisation de l'interface graphique.
Pyqt est un module qui l'adapte pour le langage python.

Les sources via Git

Toutes les informations se trouvent ici : viewtopic.php?f=21&t=83 et là : http://www.pyromaths.org/contribuer/com ... depot-git/

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Participer au développement

Message par Yves » 01 févr. 2009, 09:43

Comment réaliser une application autonome de Pyromaths sur Mac OS X à partir du programme développé avec PyQt

Avec PyQt, il est possible de réaliser des programmes multi-plateformes. Cependant, le programme obtenu est un script Python qui nécessite la présence de Python, de PyQt et d'autres librairies et ne ressemble donc pas tout à fait à une application native du système.
Avec py2app, il est possible d'obtenir une véritable application autonome sur Mac OS X à partir du programme réalisé avec PyQt.

py2app n'est malheureusement pas capable de réaliser une application autonome à partir de la version de Python fournie avec Mac OS X. Il va donc falloir installer une nouvelle version de Python ainsi que PyQt avec les dépendances nécessaires et bien sûr py2app.

La méthode la plus simple est d'utiliser MacPorts. L'installation de MacPorts se fait en téléchargeant une image disque et en utilisant l'installateur fourni (attention, les prérequis sont d'avoir installé X11 avec le package “X11 User” et les outils de développement pour Mac OS X)

Une fois MacPorts installé, il faut taper les commandes suivantes dans le terminal pour installer Python, SIP, PyQt et py2app :

Code : Tout sélectionner

sudo port install python25
sudo port install python_select
sudo python_select python25
sudo port install py25-macholib-devel
sudo port install py25-sip
sudo port install py25-pyqt4
sudo port install py25-py2app-devel
sudo port install py25-lxml
Dans le dossier source, on crée un sous-dossier qu'on peut appeler "mac" dans lequel on va placer l'icone 'pyromaths.icns', un fichier de configuration pour py2app nommé setup.py :

Code : Tout sélectionner

from setuptools import setup

APP = ['../pyromaths.py']
DATA_FILES = ['pyromaths.icns']
OPTIONS = dict(
        plist='Info.plist',
        argv_emulation=True,
        includes=['sip', 'PyQt4._qt']
    )
setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)
ainsi qu'un fichier info.plist :
(Pour en savoir plus sur les fichiers "Information Property List" :
http://developer.apple.com/documentatio ... onfig.html)

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- Globally unique identifier -->
    <key>CFBundleIdentifier</key>
    <string>org.pyromaths.pyromaths</string>

    <!-- Used by py2app to generate application bundle -->
    <key>CFBundleName</key>
    <string>Pyromaths</string>

    <!-- Package type is an Application -->
    <key>CFBundlePackageType</key>
    <string>APPL</string>

    <!-- Version number -->
    <key>CFBundleShortVersionString</key>
    <string>08.11</string>

    <!-- Build number -->
    <key>CFBundleVersion</key>
    <string>08.11</string>

    <!-- Copyright notice -->
    <key>NSHumanReadableCopyright</key>
    <string>© Jérôme Ortais</string>

    <!-- Icon file name -->
    <key>CFBundleIconFile</key>
    <string>pyromaths</string>


    <!-- Development region -->
    <key>CFBundleDevelopmentRegion</key>
    <string>French</string>

    <!-- Executable name -->
    <key>CFBundleExecutable</key>
    <string>pyromaths</string>

    <!-- Bundle display name -->
    <key>CFBundleDisplayName</key>
    <string>pyromaths</string>
    
    <key>CFBundleSignature</key>
	<string>PYTS</string>
</dict>
</plist>
Pour réaliser l'application avec py2app :

Code : Tout sélectionner

python setup.py py2app --packages=lxml
Dernière modification par Yves le 02 mai 2009, 15:44, modifié 4 fois.

Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
Messages : 609
Inscription : 26 août 2006, 21:49
Localisation : Allemagne
Contact :

Re: Participer au développement

Message par Arnaud » 24 févr. 2009, 17:27

Linux Mag a fait un Hors-Série Janvier/Février sur python : http://www.ed-diamond.com/feuille_lmhs40/
J'ai profité d'une de mes escapades en France pour me procurer le magazine, et franchement, je le trouve pas mal.
Il y a non seulement tout un panel d'exemples des possibilités avec python, mais aussi des astuces, et un bon article sur la justification du choix de python pour l'enseignement de l'informatique :D

Répondre