DOCSMARTINEZ

Programmationprogrammation

Depuis que j'ai découvert Python, je dois vous avouer que pour moi développer une application se fait obligatoirement avec ce langage !

Python est un fabuleux langage orienté objet capable de résoudre nombre de problèmes dans nombre de domaines.

Quatre qualités le rendent, à mes yeux, incontournable :

... Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code ...

  • il est libre.
    Rien ne nous est caché, tout est modifiable. La dynamique communauté pythonesque ne se prive pas de faire évoluer dans le bon sens ce logiciel.
  • Il est portable.
    Python tourne sur moult plateformes différentes : «Python runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones. Python has also been ported to the Java and .NET virtual machines.»
    Quel bonheur de savoir que mes applications ne sont pas développées exclusivement sous Windows® pour Windows®.
  • Il est puissant.
    Du fait que ce soit un langage de scripts, Python ne peut pas rivaliser avec des langages système comme le C, cependant il ne s'en laisse pas compter et affiche des performances très intéressantes.
  • il est facile à mettre en œuvre.
    Très lisible, facile à apprendre, facile à maintenir,ce n'est pas pour rien qu'Ubuntu se repose autant sur ce langage. Les développeurs d'Ubuntu ne sont d'ailleurs pas les seuls à utiliser Python, parmi les convertis, on trouve Google, la NASA, la compagnie d'effets spéciaux ILM de Georges Lucas,etc.
Qui plus est, pour le scientifique que je suis, Python dispose d'un ensemble d'extensions et de bibliothèques conçues pour les sciences et l'ingénierie.

Ces nouveaux objets donnent à Python toute la puissance de langages spécialisés comme MATLAB ou IDL tout en conservant les avantages propres à Python (langage de programmation "généraliste"). C'est bien sûr gratuit tout comme le reste de Python.

Vous trouverez ci-dessous une petite partie de ma collection de scripts personnels. À l'exception de DimEco2 peut-être, ces scripts n'ont ni la prétention d'être indispensables ni celle d'être bien codés.

Je  développe actuellement un logiciel dont l'objectif est d'aider au dimensionnement d'un puits provençal : 

réalisation d'un tract promotionnel    Export DimEco2

Retrouvez toutes les informations sur le site dimeco2.free.fr
site DimEco2


Petit programme permettant de calculer les Degrés-Jours sur des périodes quelconques.


Un petit script à l'attention des collégiens pour calculer le Plus Grand Commun Dénominateur ...Télécharger ...


Il s'agit de reconstituer 5 maisons et leurs occupants à l'aide de 15 indices.

einstein avec GUI

Le script offre une interface graphique au look-and-feel natif (design varie selon le système utilisé). Elle permet de faire des propositions de solution, d'en vérifier la valeur et de se faire guider pour obtenir la réponse à la question "A qui appartient le poisson ?".
Si vous disposez de Windows, téléchargez l'auto-extractible einstein.exe logo windows(1823,22Ko).
Quel que soit votre OS, si vous possédez Python 2.4.2, vous pouvez récupérer le source byte- compiled ici (5,6 Ko)Python



IPRN, impression de fichiers prn

--- réservé aux systèmes logo windows ---

 

    Parfois on aimerait bien imprimer mais on ne peut pas !

Il arrive parfois que l'on se trouve face au problème suivant: vouloir imprimer mais ne posséder aucune imprimante sous la main. En revanche on a bien quelques imprimantes installées précédemment sur son système mais rien de connecté à son ordinateur.

La solution: la fonction "imprimer dans un fichier". Vous avez bien croisé cette fonction quelque part mais vous n'avez jamais bien compris comment s'en servir. Je crois qu'en effet on s'est tous demandé à quoi cela peut bien servir d'imprimer dans un fichier.

Alors à quoi çà sert? Et bien justement à "imprimer sans imprimante". Soyons plus clair. Imaginons donc que vous avez bien les pilotes d'une ou plusieurs imprimantes sur votre disque dur mais pour l'instant aucun accès à une telle machine. Ce que je vous propose c'est de créer un fichier capable de garder en mémoire tout ce qui vous ait nécessaire à l'impression sur une imprimante donnée.

Rien de mieux qu'un schéma pour expliquer cela.

exemple

 

Vous avez donc un document, vous voulez l'imprimez mais vous n'avez pas d'imprimante juste un ou plusieurs pilotes. Vous faites donc une impression dans un fichier, par exemple "monfichier.prn". Ce fichier vous le mettez sur disquette, vous l'emportez sur un système qui lui possède l'imprimante souhaitée et "hop!" vous envoyez "monfichier.prn" sur l'imprimante. Et oh miracle, tout est imprimé comme il faut, sans passer par le logiciel qui vous a permis d'imprimer dans le fichier "monfichier.prn".

Votre logiciel a produit un fichier PRN (binaire) qui comprend votre document et les paramètres de votre imprimante. Ce fichier PRN vous permet de porter votre document sur un autre poste disposant d'une imprimante.

L'utilité est évidente: vous pouvez imprimer tout ce que vous voulez sur n'importe quel ordinateur possédant les mêmes pilotes d'imprimantes que vous et ce quelle que soit sa configuration et les logiciels qu'il possède. Vous avez Word et votre destinataire non mais en revanche vous connaissez son imprimante et vous en avez les pilotes, vous pouvez lui adresser un courriel avec en pièce jointe un fichier prn sans risquer de transmettre ni virus ni informations personnelles vous concernant, il pourra obtenir dès lors une version papier de votre document Word . 

Bien sûr, ce n'est pas la meilleure manière, je ne saurais trop vous conseiller d'utiliser un format plus agréable comme le pdf par exemple, mais il arrive des situations où le prn peut être très utile. Cette situation je l'ai connu et je me suis rendu compte qu'autant il est facile d'imprimer dans un fichier, autant Micro$oft ne donne aucune explication pour, qu'à partir de ce fichier, on retrouve une version papier de notre document original.

Alors je vos propose un petit programme de ma réalisation: IPRN.
Vous lui indiquez le fichier prn, il expédie sur l'imprimante reliée au port parallèle le document que vous aviez imprimé dans ce fichier. Mais attention veillez bien à ce que vous ayez imprimé dans un fichier avec la même imprimante que celle avec laquelle vous allez imprimer sur papier maintenant, sinon le résultat risque d'être aléatoire.

Je mets à votre disposition 2 versions:
- la première dispose d'une interface graphique:

capture d'écran IPRN



Si vous disposez de Windows mais pas de Python, télécharger l'auto-extractible iprn.exe (2035Ko).logo windows
Si vous possédez Python 2.4.2 pour Windows, vous pouvez récupérer le source byte- compiled ici (18,2 Ko) Python

Historique :

  • La version 0.4 de IPRN gère les chemins d'accès complexes (avec des "espaces" par exemple dans les noms des fichiers ou des répertoires). Avec les versions antérieures vous obteniez le message d'erreur suivant: "Le fichier spécifié est introuvable."
  • La version 0.3 permet d'envoyer le fichier par protocole smtp.
  • La version 0.2 permet de parcourir des dossiers et répertoires et d'imprimer les fichiers de type prn un par un.



EnCierro, envoi de courriels

 

EnCierro est un script à interface Tcl/Tk permettant d'envoyer des courriels au format texte avec ou sans pièce jointe. Il permet également de vérifier la présence de courriers dans votre boîte POP3 préférée. Son utilisation est on ne peut plus simple, vous ne risquez pas vous perdre dans la masse de ses fonctionnalités!

Le mot de passe vous permettant d'accéder au serveur SMTP vous est demandé à chaque ouverture d'EnCierro, il n'est conservé nulle part pour plus de sécurité. En revanche, il reste valable tout aussi longtemps que vous ne fermez pas la fenêtre, vous ne risquez nulle expiration de session comme dans un webmail quelconque.

Ce programme est amené à évoluer afin de n'occuper que le minimum d'espace disque possible. Cette version-ci fait 2465,40Ko au téléchargement logo windowsdu fait de la présence de la librairie graphique.

version Linux | Python 2.4.2 (118,1 Ko)logo linux





METEO v. 0.2

Disponible au téléchargement (Python 2.4.2) (354,2 Ko)logo linux

J'ai toujours voulu avoir un tel petit programme mais je n'ai jamais trouvé que de lourdes usines à gaz pleines de pub. C'est pourquoi je me suis lancé dans la création d'un tel script: il vous donne les prévisions de la semaine de wunderground.com.

Vous lui indiquez la ville et le jour et il vous fournit les informations météorologiques que vous attendez.

Il fonctionne hors-ligne après avoir récupéré une première fois les données utiles.




Visu

Visu est un programme de visualisation d'images aux formats les plus courants (gif, jpg, png, etc.). Il est capable d'explorer un dossier et d'ouvrir les images qu'il contient, de passer d'une image à l'autre grâce à des flèches de navigation. Il vous informe du nom de l'image visualisée, du dossier qui la contient et du nombre d'images reconnues dans ce dossier.

En cours

source byte-compiled dispo | Python 2.4.2