<rss version="2.0">
<channel>
<title>//// Programmation «InfoPro» //// La programmation est un outil de création</title>
<link>http://infopro.nerdzblog.com/</link>
<description>Exploration du monde de la programmation web [Introduction &amp;agrave; la programmation web et des application linux server - PHP - MySql - Perl - CGI - Python ]</description>
<language>fr-FR</language>
<webmaster>www.lemultiblog.com</webmaster><item><title>Flash Media Server vs. RED5</title><link>http://infopro.nerdzblog.com/Flash-Media-Server-vs.-RED5-88.php</link><description>
Un choix facile à faire quant on a pas les moyens. RED5 Open
  
  Red5 est un serveur Flash gratuit et libre qui reprend les fonctionnalités de Flash Media Server 2 comme le Streaming Audio/Video live, partage d'objet distant ( Remoting) Syncronisation des données et voire plus. Contrairement à Flash Media Server 2, les applications côté serveur peuvent être écrits en Java mais aussi avec dautres langages script comme JavaScript, python, ruby.. Il est développé par une large communauté de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source.
  
  Les principaux fichiers de configuration sont basé xml. Plusieurs applications de base sont déjà présent à l'installation permettant de faire des tests. Streaming de webcam, Chat, Videoconférence et Lecteur vidéo FLV. Il y a encore peu de documentation en français mais sa ne devrait pas tarder. 
  </description><pubDate>Tue, 22 May 2007 04:08:19 +0200</pubDate></item><item><title>Common Gateway Interface (CGI)</title><link>http://infopro.nerdzblog.com/Common-Gateway-Interface-CGI-55.php</link><description>
La Common Gateway Interface (littéralement « Interface passerelle commune »), généralement abrégée CGI, est une technologie des serveurs HTTP. Ce dernier, au lieu de renvoyer le contenu d'un fichier (image ou HTML), exécute un programme puis retourne le contenu généré, comme s'il s'agissait d'un contenu de fichier. CGI est le standard industriel qui indique comment passer l'information du serveur HTTP au programme et comment en récupérer le contenu généré. CGI permet de passer des paramètres au programme, de telle manière qu'il en tienne compte pour générer les données. Un exemple classique de paramètre est la chaîne de caractères contenant les termes recherchés auprès d'un moteur de recherche.


Une des caractéristiques des programmes CGI est d'être indépendant de tout langage. Même si le langage Perl est souvent utilisé pour en écrire, il est possible d'écrire un programme CGI en C, Python, en script shell ou en tout autre langage de programmation.
  
  

Un exemple de programme CGI est celui qui fait fonctionner l'annuaire Web Open Directory Project. Lorsqu'un visiteur soumet une requête au site Web, le serveur HTTP transmet par CGI le terme qui a été saisi dans le formulaire de la page Web. Le programme CGI cherche alors dans sa base de données tous les sites contenant le terme, crée une page HTML contenant les résultats et la renvoie au navigateur par l'intermédiaire du serveur HTTP.


Du point de vue du serveur HTTP, CGI fonctionne de la façon suivante : certains répertoires sont définis pour être servis par un programme CGI. Lorsqu'une requête correspondant à ce répertoire est effectuée, le serveur appelle le programme CGI correspondant, en envoyant au programme toute donnée que le client aurait envoyée (par exemple, un mot-clé pour effectuer une recherche). Le résultat du programme CGI est récolté par le serveur, puis retourné au client.


Comme cette technologie requiert qu'une nouvelle copie du programme soit lancée à chaque requête, elle surcharge rapidement plusieurs serveurs. Ceci a eu pour effet la création d'autres technologies plus flexibles et efficaces, comme PHP ou des modules spécifiques pour des langages couramment employés pour les applications Web, comme Perl (mod_perl), Python (mod_python) ou Java.
  
  Source : http://fr.wikipedia.org/wiki/Common_Gateway_Interface

</description><pubDate>Sun, 18 Jun 2006 16:20:57 +0200</pubDate></item><item><title>Python (Un langage r&amp;eacute;flexif)</title><link>http://infopro.nerdzblog.com/Python-Un-langage-reflexif-54.php</link><description>Python utilise une forme de typage dynamique appelé en anglais duck typing


Python est un langage de programmation interprété, multi-paradigme. Il autorise la programmation impérative structurée, orientée objet, et fonctionnelle. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions.
  
  Dénomination
  Créé en 1989 par Guido van Rossum, ce langage trouve l'origine de son nom dans la série télévisée humoristique des Monty Python. Le langage est souvent representé par un python même si l'auteur a lui-même expliqué qu'il ne faisait en aucun cas référence au reptile. L'animal étant plus célèbre que le groupe de joyeux comédiens Monty Python, il s'est imposé rapidement. C'est ainsi que le site officiel Python.org utilise également l'icône du serpent.
  


Intérêt de Python
  Les langages de scripts comme Python s'intègrent à différents niveaux de la vie d'un logiciel&amp;nbsp;: réalisation d'outils de développement, réalisation de prototypes, intégration de scripts dans les logiciels (voir Gimp, Inkscape, Blender), infrastructure logicielle (voir Zope), etc. Par rapport aux autres langages, Python apparaît comme un choix intéressant pour les entreprises, notamment pour les raisons suivantes&amp;nbsp;:



  Python est un langage relativement mature (il est plus ancien que Java) et hautement portable, 
  Python possède une syntaxe intéressante par sa simplicité et sa compacité, 
  étant réflexif, Python permet une haute maîtrise de son environnement propre, 
  Python s'intègre facilement dans des projets écrits en C ou dans d'autres langage (voir Jython), 
  Python offre aussi un environnement de développement et de test, incluant un interpréteur intéractif, un compilateur, des outils de profiling, de débogage, de tests, 
  En matière de test et de couverture structurelle ou fonctionnelle, Python propose unittest, coverage, doctest, test_coverage, nose, pyunit, guitest, funkload. Les tests, en plus d'assurer la fiabilité, deviennent aussi la documentation des classes ou des fonctions. 
  Il n'impose pas obligatoirement le paradigme Objet et assure l'élaboration de scripts impératifs ou procéduraux d'une grande lisibilité, de maintenance, de portabilité et d'interopérabilité[1]. Les scripts sont ainsi aussi bien valides sur DOS, Microsoft Windows et Linux. 
  Une extension spécifique à Microsoft Windows existe (WMI, pyHook -interception clavier windows-). 
  L'usage de Python est indispensable sous certaines distribution de Linux (les outils d'administration graphiques de Red Hat dépendent de Python). 
  En gestion de configuration, des plug-in permettent de piloter facilement les outils libres (CVS et Subversion se pilotent avec des macros Python) ou non (ClearCase...) pour automatiser les traitements spécifiques aux grands projets qui doivent gérer différents produits proches, chacun décliné en différentes versions. 
  En POO et COO, Python permet d'écrire des frameworks de toute sorte, en utilisant massivement les design pattern, la structuration des projets en modules et classes, ainsi que la souplesse de la programmation dynamique. Il sert aussi de programme de commande pour la génération de code des outils MDA. 


  De plus en plus de couches logicielles sont développées en Python&amp;nbsp;:



  Les couches de présentation des applications (couche IHM avec wxPython , pyQt, Tk, tkinter 3000, pyGTK, pybwidget, Pmw, TIX) 
  les couches controller des serveurs d'application Web (analyse HTML -htmllib, xmllib, urlParse, mimetools- Serveur d'application&amp;nbsp;: Zope - déjà 100.000 sites internet en 2006- Django, Turbogears, CherryPy, Plone, GGI ). Plone est un gestionnaire de contenu reposant sur Zope fortement soutenu par l'industrie (Intranet et portail, site internet dont le contenu rédactionnel peut être mis en ligne par les utilisateurs, gestion documentaire, travail collaboratif ...) 
  les couches Modele d'acces aux données (MySQL -MySQLdb- , Oracle -dcoracle-, MS SQL Server, PostgreSQL -psycopg-, FireBird -kinterbasdb- , SybODBC, GadFly, PySqlite, Zodb- BDD objet -) 
  la couche de persistance XML ( 4Suite, PySimpleXML, XmlSerializer, Jaxml) ou spécifique à Python (Cpickle, Shelve) 
  les couches d'acces au middleware COM/CORBA/.NET (win32, OmniORB, Ironpython)&amp;nbsp;: programmation orientée composants (pont vers des bibliothèques Fortran, C et C++) 
  les couches de communication standalone (port serie&amp;nbsp;: pySerial, port parallèle&amp;nbsp;: pyParallel) , réseau (Twisted, urllib2, HTMLparser, ftplib], socket, poplib, rfc822, mailbox, mhlib, imaplib, smtplib, telnet, etc.) 
  les couches de frameWork bas niveau (ajout de capacité de script. exemple&amp;nbsp;: Boost.Python ) 
  Les couches multimédia&amp;nbsp;: traitement d'image (PIL) 
  Les couches utilitaires de gestion de l'heure (datetime, time), de compression (gzip), de codage/decodage de données binaires (hashlib -md5, sha- , base64, binHex, binascii ), de structure de données (decimal, deque, array, dico, list, queue, heapq), de parallélisme (thread), d'expressions régulières (re), de différences (difflib), de types (ctype), de manipulation de chaînes (string, str, StringIO), de parseur (standard - shlex, ConfigParser, email, parser, cmd - ou Tierce- pyBison, ples, pyparsing, ply, PyGgy, Yapps, pyLR ), de calcul (math, numarrray - tableaux multidimensionnaires - , cmath, random), de log (logging)... 
  Le deploiement se fait soit en utilisant des modules d'installation standardisés (distutils), soit en générant un executable qui ne nécessite plus l'existence de l'interpréteur sur les machines cibles (Windows&amp;nbsp;: py2exe, Cx_freeze; Unix&amp;nbsp;: freeze) 

Python est aussi un langage frontière:


En effet, les couches critiques temps réel ou à hautes performances échappent au développement pur Python&amp;nbsp;: il faut alors simplement faire un wrapper python , sorte de passerelle inter-langage, vers une couche écrite en C ou autre (grace à SWIG, pyrex, ou le très puissant Boost.Python). Les performances sont au rendez-vous et peuvent etre encore améliorée avec des modules du genre just-in-time (JIT) compiler (psyco). L'informatique embarquée s'empare aussi de python (par exemple les mobiles NOKIA pour sa Series 60&amp;nbsp;: toolkit graphique - le Bluetooth - réseau GPRS - service de messagerie SMS - les scripts de déploiement). En outre, Python propose un mécanisme de typage fort (grace à l'API 'trait' ou au design pattern 'decorators' interne au langage) pour les applications exigentes en terme de sureté (applications scientifiques, militaires, nucléaires notamment).


Python s'étend à tout outil où le script assure l'efficacité et la force&amp;nbsp;:



  En Dessin et PAO et CAO, Python est utilisé par PaintShopPro, Autocad, CATIA V5, Inkscape, Scribus, Blender. 
  En électronique, Labview permet le scriptage du matériel virtuel. 
  Les scripts Python sont les pendants des MACRO VB pour OpenOffice. 
  IDA PRO (logiciel référence de désassemblage pour la cryptanalyse, détection de malware,..) est scripté par IDAPpython. 
  En matière de MDA (Model driven architecture), les transformations PIM to PSM sont développées en Python, plus souple et plus puissant grâce au mécanisme d'introspection plus riche que celui de Java. 
  Python s'adpate aussi au paradigme de la programmation logique (pylog -Prolog-, logique du 1er ordre). 
    


  
  Références de sociétés utilisant Python
    Python est utilisé dans de nombreux domaines dont
  
  
  
    l'industrie militaire, 
    la monétique, 
    les Technologies de l'information et de la communication, 
    l'informatique scientifique (SciPy, matplotlib), 
    l'informatique théorique (les possibilités de méta-programmation révolutionnent la réalisation des design pattern), 
    les enseignements de sciences physiques (Vpython), 
    la bio-informatique (bioPython), 
    les bibliothèques graphiques (Soya 3D, pyOpenGL, pyGame) 
    et les jeux (Civilization IV utilise Boost.Python). 
  
  
    Ainsi, de nombreuses sociétés[2] utilisent Python, que ce soit pour des développements internes&amp;nbsp;:
  
  
  
    Google (une partie d'infrastructure), Industrial Light and Magic (rendus) 
    NASA (CAD), Thawte (architecture sécurisée) 
    Boeing, Sanofi, Philips (traitement de données avec Jaxml) 
    Neuralynx (Boost.Python pour la neuroscience) 
    Rational Discovery (logiciels pharmaceutiques, biotechnologique et industrie chimique) 
    Thales avionics (deploiement, administration, outil de pré/post-traitement&amp;nbsp;: logiciel temps réel embarqué pour système GPS) 
    LHC (Gaudi, framework pour la physique des particules) 
    EDF (modelisations complexes, Zope et CMS Plone - utilisation de python comme glu entre FORTRAN et C -; Langage de commande de CODE_ASTER - analyse de structure et thermo mécanique -) 
    France télécom (Zope / Plone&amp;nbsp;: site communautaire, tableau de bord de supervision) 
    Thalès TAS (Jython pour les tests d'IHM java; administration, déploiement, production MDA pour générer du code à partir d'UML ) 
    Tiny ERP (Progiciel de gestion intégré libre) 
    ALCATEL POSTAL (automatisation des tests) 
    SAGEM (Datacip - Systeme d'identification par empreinte digitale) 
    Caisse des dépôts (développement des services numériques) 
    le synchrotron de Grenoble (wxPython) 
    Administration&amp;nbsp;: usage de ZOPE&amp;nbsp;: Intercom (Service d'information du gouvernement), SIT (Système d'information territorial), ARH -agence regionale de l'hospitalisation-, etc... 
    la DGA&amp;nbsp;: Xmeta&amp;nbsp;: system expert à base de réseaux bayesien pour l'indentification de communications suspectes (Python GTK)&amp;nbsp;: suggestion d'action, logique probabiliste 
    Eurocopter&amp;nbsp;: ajout d'interfaces graphiques et de capacités d'échange de données à un existant codé en Fortran et C++ 
    SNECMA&amp;nbsp;: utilisation de pyGelsa pour scripter le logiciel de simulation en aérodynamique ELSA (projet DTP CAIMEN&amp;nbsp;: aérodynamique externe des avions de transport) 
    SNCF (zope/CPS&amp;nbsp;: de nombreux sites intranet et internet (quai des bulles, prix du polar) 
  
  Ou pour des logiciels fournis au public&amp;nbsp;:
  
  
  
    Zope Inc.(Zope), 
    ALINE&amp;nbsp;: Atelier de littérature sur le NET 
    pyKota&amp;nbsp;: logiciel de quotas d'impression 
    Disney (ToonTown) 
    WatchGuard (pare-feu) 
    Orange (Data mining) 
    P2P&amp;nbsp;: Bittorrent (codé avec wxPython), I2P-BT
  
  Caractéristique du langage
    Une syntaxe simple, quasi algorithmique, des types de données de haut niveau et des bibliothèques extensives rendent ce langage très attractif pour le développement rapide d'applications, comme langage d'extension d'applications, pour le développement de scripts, ou encore comme interface permettant de connecter des composants existants. Sa syntaxe facilite son apprentissage (prise en main en 1/2 journée) et en fait un candidat idéal aussi bien pour l'apprentissage de la programmation orientée objet que pour le développment d'application industrielles puissantes, peu coûteuses et fiables.
  
  
  Ceux qui connaissent Java auront peu de difficultés à programmer en Python.
  
  
  Les langages dynamiques comparables à Python sont Perl, Ruby et Rexx et dans une certaine mesure Java, bien qu'il ne soit pas complètement dynamique.
    
  
  
  Syntaxe
        Les blocs sont identifiés par des espaces ou des tabulations (bien que les espaces soient très fortement recommandés). Il n'y a pas d'accolades comme en C/C++, ou de Begin ... End comme en Pascal. Cela oblige le programmeur à écrire un code lisible, à l'opposé de ce qu'on peut obtenir avec Perl, Ruby, ou Rebol, ce qui en fait un bon langage pédagogique. Des éditeurs de texte (pyScripter, Scite, jEdit, pydev pour eclipse, ...) aident à l'indentation automatique.
    
  
  
  Un langage réflexif
    Grâce à un usage intensif des dictionnaires (sorte de table de hachage), Python permet d'explorer les divers objets du langage (introspection) et dans certains cas de les modifier (intercession).
  
  
  
    Système de type sous Python
        Python utilise une forme de typage dynamique appelé en anglais duck typing. C'est-à-dire que les opérations possibles sur une variable (i.e. son interface) sont déterminées en fonction de la valeur associée à la variable. En Python, le type d'une variable n'est pas explicitement déclaré et peut varier au cours du temps. Pour connaître l'interface d'une variable, il est possible soit de faire un test sur le type associé à la variable (par type() ou isinstance()) soit de réaliser un duck test (s'il marche comme un canard et crie comme un canard, alors c'est un canard). Le duck test consiste à tester l'existence ou non d'opérations dans l'interface de la variable, au moyen notamment de hasattr().
  
  
  Le duck typing facilite la création de fonctions ou de méthodes pouvant être appliqués à des objets partageant une même interface, même s'il n'ont aucun lien d'héritage. Par exemple, il est possible de créer une fonction permettant de compter le nombre d'éléments disponibles dans une classe, une instance, un module ou une fonction, en utilisant le même ensemble d'instructions. Cependant, le duck typing ne permet pas de reconnaître le comportement associé à un objet.
  
  
  Une parodie du duck test a été présenté par les Monty Python dans Sacré Graal, au moment où une femme se fait accusée de sorcellerie.
    
  
  
  Implémentations
    Le langage Python est placé sous une licence libre (copyleft). L'interpréteur Python est aujourd'hui disponible sur la majorité des plates-formes existantes (Amiga, *BSD, GNU-Linux, AIX, Solaris, Mac OS, Windows). L'interpréteur Python est lui-même écrit en C. Il existe une version écrite en Java appelée Jython, et même une version écrite en Python (en développement)&amp;nbsp;: PyPy. L'utilisation des frameworks Java est aussi possible avec JPype (couplage de python avec la machine virtuelle Java via la technologie JNI).
  
  
  À l'instar de Perl, une des grandes forces du langage réside dans l'existence d'une bibliothèque standard très complète et d'un nombre important de bibliothèques externes. La bibliothèque standard supporte notamment de nombreux protocoles en usage pour la création de sites internet.
  
  
  Outre l'implémentation de référence, nommée cpython (car écrite en langage C), on peut relever d'autres systèmes implémentant le langage python&amp;nbsp;:
  
  
  
    Stackless, une version de cpython n'utilisant pas la pile d'appel du langage C 
    Jython, un interpréteur python pour machine virtuelle Java, 
    un compilateur (expérimental) pour Parrot, la machine virtuelle de Perl 6. 
    IronPython, un interpréteur / compilateur (expérimental) pour plateforme .Net / Mono 
    PyPy un interpréteur python écrit dans un sous-ensemble de Python compilable vers le C ou LLVM. 
  
  
    [1] Movable Python (payant): Python sur une clef USB pour lancer des scripts sans installer python 
  
  Attention, ces autres implémentations ne bénéficient forcément pas de la totalité de la bibliothèque de fonctions écrites en C pour l'implémentation de référence. Jython, d'un autre côté, a accès aux bibliothèques fournies avec l'environnement de développement Java.
  
  
  Originellement Python a été développé comme un langage de script pour Amoeba, un système d'exploitation qui n'est plus maintenu.
  
  
  Python peut être utilisé avec les bibliothèques graphiques tkinter, Qt, GTK et WxWidgets.
  
  
  Python est livré avec 300 modules et dispose de 1300 bibliothèques tierces[3] parmis beaucoup d'autres ressources[4].
  
  
  Grâce à SWIG, Boost, IronPython, Python for Delphi ou Jython, Python peut utiliser des frameworks écrit dans d'autres langages (C, C++, Fortran, Java, .Net, Delphi, ...).
  
  
  Il est également utilisé pour programmer le serveur d'application Zope.
    
  
  
  Versions
    Les dernières versions utilisées sont la 2.3 et la 2.4. La future version sera la 2.5 (prévue pour fin 2006). Un développement parallèle est en discussion pour Python 3.0, qui devrait sortir entre les versions 2.6 et 2.7. Elle introduira des incompatibilités.
    
    Source : http://fr.wikipedia.org/wiki/Python
  
</description><pubDate>Sun, 18 Jun 2006 16:16:28 +0200</pubDate></item><item><title>Perl (langage pratique d'extraction et de g&amp;eacute;n&amp;eacute;ration de rapports)</title><link>http://infopro.nerdzblog.com/Perl-langage-pratique-d-extraction-et-de-generation-de-rapports-53.php</link><description>Un langage de programmation utilisé dans Linux

Perl (Practical Extraction and Report Language ou langage pratique d'extraction et de génération de rapports&amp;nbsp;; ce nom est un rétro-acronyme) est un langage de programmation créé par Larry Wall en 1987 et reprenant des fonctionnalités du langage C et des langages de scripts sed, awk et shell (sh). On écrit généralement le nom de ce langage avec un P majuscule pour désigner le langage et un p minuscule en parlant de l'interpréteur&amp;nbsp;: «&amp;nbsp;seul perl analyse correctement Perl.&amp;nbsp;»

Le but
Perl est né du besoin de disposer d'un langage optimisé pour l'extraction d'informations de fichiers textes et la génération de rapports. Voici quelques-unes des devises qui lui sont couramment associées&amp;nbsp;: 

  There Is More Than One Way To Do It (TIMTOWTDI) qui pourrait se traduire par Il y a plus d'une façon de le faire. 
  Perl&amp;nbsp;: la tronçonneuse suisse des langages de programmation. 
  Perl&amp;nbsp;: l'assistant idéal des administrateurs de système. 

Sa souplesse autorise l'emploi de plusieurs modèles de programmation&amp;nbsp;: programmation procédurale, programmation fonctionnelle et POO.



  Les puristes moyens de l'OO ne considèrent pas Perl comme un «&amp;nbsp;vrai&amp;nbsp;» langage objet 
  les puristes stricts, eux, ne considèrent aucun autre langage que Smalltalk ou Common Lisp, où tout est objet, comme &quot;vrais&quot; langages objet. 

Les moyens
    Perl vise la commodité pour le programmeur (existence de raccourcis qui le font qualifier de langage &quot;diagonal&quot;) plutôt qu'un souhait esthétique d'architecture stricte (langages «&amp;nbsp;orthogonaux&amp;nbsp;»). Perl est considéré surtout comme un langage de script et a été qualifié de &quot;ciment assurant la cohésion du web&quot;, étant un des langages CGI les plus populaires. Compte-tenu du rôle qu'a eu Perl dans le développement de la &quot;nouvelle économie&quot;, une boutade prêtait à la mairie de New York l'intention de rebaptiser Wall Street du nom de son inventeur, ce qui aurait au moins le mérite de ne pas entraîner du tout de frais pour le contribuable&amp;nbsp;!


Perl a un statut de logiciel libre, distribué sous licence artistique et GPL. Perl est porté sur la plupart des systèmes d'exploitation mais excelle particulièrement en environnement POSIX (Cygwin sous Microsoft Windows, Linux, Mac OS X etc.)&amp;nbsp;; il devient populaire aussi sous Microsoft Windows sans Cygwin grâce à la facilité d'installation de la distribution gratuite ActivePerl (dont la version 5.8 permet l'usage de l'interface graphique) et d'environnements de développement gratuits comme SciTE.
  
  L'intégration dans l'existant
      


Les programmes Perl sont intégralement portables entre Linux, Mac OS X (ou autre UNIX) et Windows malgré les désignations de fichiers différentes de ces systèmes (Perl remplace tout seul si besoin les «&amp;nbsp;/&amp;nbsp;» par des «&amp;nbsp;&amp;nbsp;»). Un exemple du champ d'action de Perl est son utilisation comme script CGI pour faire tourner Wikipedia jusqu'en janvier 2002. Il constitue en effet un bon langage de prototypage.


Perl permet l'usage du moteur d'interface graphiques Tk pour effectuer des entrées-sorties conformes à l'état de l'art. On désigne parfois l'ensemble sous le nom générique Perl/Tk. L'extension Tk est intégrée à ActivePerl depuis la version 5.8 du langage.
  
  Le mécanisme
      


Bien que Perl profite de la plupart des facilités d'un langage interprété, à proprement parler il n'interprète et n'exécute pas (aucun interpréteur ne le fait, d'ailleurs) le code source une ligne à la fois. Perl compile d'abord le programme entier dans un bytecode intermédiaire (assez dans l'esprit du code objet Java), l'optimisant au passage, et exécute alors ce bytecode. Il est ainsi possible de compiler un programme Perl en bytecode pour s'épargner les phases de compilation lors d'exécutions ultérieures, bien que l'&quot;interpréteur&quot; reste requis pour exécuter ce code.


Les phases de traduction des noms de variables en adresses, traduction de libellés d'opération en code binaire et de traduction en binaire des constantes exprimées en caractères sont d'ailleurs bien connues depuis le milieu du XXe siècle, puisque ce sont très précisément les trois fonctions principales d'un assembleur.
  
  L'avenir proche
  Perl 6 est en cours de développement. Il tournera dans la machine virtuelle Parrot. Un canular organisé par l'équipe de direction de l'éditeur O'Reilly avec la complicité de Larry Wall et Guido van Rossum (avec annonce d'un livre imaginaire dont l'annonce donnait le fac-simile) a annoncé à une époque la fusion en un langage unique nommé aussi Parrot de Perl 6 et de Python, à la grande panique de certains aficionados des deux langages.


En parallèle, Autrijus Tang, aidé d'un petit groupe de développeurs, est en train de développer un interpréteur Perl 6 en Haskell nommé Pugs.
  
  Exemples de code
  Certaines personnes affirment avec humour que Perl veut dire 'Pathologically Eclectic Rubbish Lister' (collectionneur pathologique de déchets variés) à cause de l'utilisation intensive de caractères spéciaux chargés de sens dans la syntaxe du langage, comme on peut le voir dans cet exemple de programme:

# Un exemple de programme en Perl 
  $message = &quot;À l'endroit : 'camel'.n&quot;; 
  print $message; $message =~ s/endroit/envers/; 
  $message =~ s/('w+')/reverse($1)/e; print $message; 
  exit 0 
et sa sortie à l'écran :

À l'endroit : 'camel'. À l'envers : 'lemac'. 
Les troisième et quatrième lignes de cet exemple montrent l'usage d'expressions rationnelles.


Ces caractères spéciaux sont liés à la puissance de traitement de Perl :



  scalaires désignés par $ : $nom = &quot;Toto&quot;; $z=3;
  tableaux désignés par @, indexés par [] : $nom[95] = &quot;Val d'Oise&quot;; (le 96e élément du tableau est comme les autres un scalaire!) 
  tableaux associatifs, ou hashs désignés par %, indexés par {} : $code{&quot;Val d'Oise&quot;} = 95; (leurs éléments sont des scalaires aussi) 

Aspects communautaires
  Perl a une base d'utilisateurs vaste et diversifiée. Pour plusieurs types d'utilisateurs du langage, c'est d'ailleurs leur seul point commun. Les administrateurs système en sont friands, les développeurs en apprécient la concision et la puissance, des linguistes et des biologistes - habituellement peu enclins à se pencher sur le code - l'utilisent comme langage de référence dans leurs applications métiers. Perl est particulièrement apprécié en bio-informatique où les programmes font l'objet de remaniements constants.


La base CPAN regroupe et met gratuitement à la disposition des utilisateurs de Perl du monde entier 15,4 millions de ligne de code (juillet 2004) sous forme de modules Perl et de synopsis montrant comment les mettre en uvre. L'effet boule de neige est indiscutable. La synergie aussi.
  
      Opinions
  Perl suscite de forts sentiments aussi bien chez ses partisans que chez ses détracteurs.
  


Pour
  Les programmeurs qui aiment Perl font typiquement référence à sa puissance, son caractère explicite et sa facilité d'utilisation. Perl offre une infrastructure pour la plupart des tâches courantes de programmation, telles que les chaînes et le traîtement des listes. D'autres tâches, telles que la gestion de la mémoire, sont prises en charge automatiquement et en toute transparence. Les programmeurs issus d'autres langages que Perl trouvent souvent que tous les problèmes auxquels ils s'étaient trouvés confrontés par le passé ne surviennent plus avec Perl. Ainsi Larry Wall le résuma :


  Quelle est la sonorité de Perl ? N'est-ce pas le son d'un mur contre lequel les gens ont cessé de se taper la tête ?
  
  
En sus de ces bénéfices pratiques, un certain nombres de programmeurs semblent tout simplement apprécier de travailler avec Perl. Les premiers numéros de The Perl Journal comportaient une page intitulée « Qu'est-ce que Perl ? », qui concluait ainsi :


  Perl est amusant. En ces jours de jargon d'auto-satisfécit, de standards imprévisibles et conflictuels, et de systèmes propriétaires qui découragent toute volonté de voir plus loin que le bout de son nez, les gens ont oublié que la programmation est supposée être amusante. Je ne veux pas dire par là la satisfaction de voir nos beaux programmes fonctionner comme ils le devraient, mais l'acte littéraire d'écriture créative qui constitue ces programmes. Avec Perl, le voyage est aussi agréable que la destination
  
  
Quelles que soient les raisons, il existe clairement une vaste communauté de personnes passionnées par Perl, ce que démontre les milliers de modules qui constituent le CPAN, et les centaines de propositions formelles qui ont été proposées comme RFC pour Perl 6.

Source : http://fr.wikipedia.org/wiki/Perl</description><pubDate>Sun, 18 Jun 2006 15:59:50 +0200</pubDate></item><item><title>Extensible Markup Language</title><link>http://infopro.nerdzblog.com/Extensible-Markup-Language-32.php</link><description>langage marquage étendu


HTML (Hypertext Markup Language) a été qualifié de langage prioritaire sur le World Wide Web (www) . Il propose une manière standardisée de créer des pages Internet avec de linformation formatées que lon peut délivrer aux internautes sans cesse croissant par le biais de lInternet. HTML&amp;nbsp; combiné avec HTTP (Hypertext transport Protocol) a révolutionné la manière&amp;nbsp; dont les gens reçoivent puis envoient des linformation a travers le Web. HTML ce concentre presque en totalité sur lapparence de linformation, non sur sa structure. XML (Extensible Markup Language)&amp;nbsp;intervient en tant que langage de marquage étendu.


  
  XML un langage ouvert en mode text, sois information structurelle et sémantique relative aux données. Lon peut&amp;nbsp; lui donné le nom de Métadonnées. XML est un dérivé de SGML (Standard Generalized Markup Language), alors que XML a été optimisé pour le Web. Ceci contribue à faire de XML un langage complémentaire puissant à HTML. XML peut être pratique pour les créateurs de contenus quainsi quaux programmeurs. Dautres langages, ou vocabulaires, peuvent être développés dans XML.
  
</description><pubDate>Mon, 27 Feb 2006 11:33:28 +0100</pubDate></item><item><title>Mysql pour les bases de donn&amp;eacute;es</title><link>http://infopro.nerdzblog.com/Mysql-pour-les-bases-de-donnees-13.php</link><description>Mysql_query();

MySQL (SQL est acronyme de Structured Query Language en anglais) est un serveur de bases de données relationnelles SQL très rapide, multi-thread, robuste et multi-utilisateurs. MySQL est un logiciel libre développé sous double licence GPL et licence commerciale. Libre à l'utilisateur de prendre la licence commerciale (payante) si son utilisation va à l'encontre de la licence GPL. Il a été conçu et est maintenu par une société suédoise, MySQL AB, fondée par deux Suédois et un Finlandais&amp;nbsp;: David Axmark, Allan Larsson et Michael «&amp;nbsp;Monty&amp;nbsp;» Widenius.


Au début, MySQL n'autorisait pas les transactions, mais cette fonction est maintenant disponible. Le standard ANSI SQL a quelquefois été étendu, mais n'est pas complètement implémenté&amp;nbsp;; les fonctionnalités les plus souvent demandées sont sans doute&amp;nbsp;:



  les «&amp;nbsp;sous-sélections&amp;nbsp;» ou «&amp;nbsp;SELECTs imbriqués&amp;nbsp;»&amp;nbsp;; maintenant disponibles, depuis la version 4.1&amp;nbsp;; 
  le codage sur plusieurs octets des caractères, comme UTF-8&amp;nbsp;; maintenant disponible 

MySQL fonctionne sur beaucoup de plates-formes différentes, incluant AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI Irix, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 Unix, Windows 95, 98, NT, 2000 et XP.


Les bases de données MySQL sont accessibles en utilisant les langages de programmation C, C++, Eiffel, Java, Perl, PHP, Python, et Tcl&amp;nbsp;; une API spécifique est disponible pour chacun d'entre eux. Une interface ODBC appelée MyODBC est aussi disponible. En Java, MySQL peut être utilisé de façon transparente avec le standard JDO.


Les tables MySQL peuvent être de différents types&amp;nbsp;: MyISAM, MERGE, ISAM, HEAP, InnoDB, Berkeley DB.
  
  Source: http://fr.wikipedia.org/wiki/Mysql
</description><pubDate>Wed, 04 Jan 2006 14:43:23 +0100</pubDate></item><item><title>Familiarisez-vous du PHP</title><link>http://infopro.nerdzblog.com/Familiarisez-vous-du-PHP-11.php</link><description>Hypertext Preprocessor


PHP est l'acronyme récursif de PHP: Hypertext Preprocessor.


PHP est un langage de script qui est principalement utilisé pour être exécuté par un serveur HTTP, mais il peut fonctionner comme n'importe quel langage interprété en utilisant les scripts et son interpréteur sur un ordinateur. PHP permet de développer des scripts suivant le modèle procédural et/ou le modèle objet. On désigne parfois PHP comme une plate-forme plus qu'un simple langage.
  

Ce langage a été créé en 1994 par Rasmus Lerdorf pour son site Web. C'était à l'origine une bibliothèque logicielle en Perl dont il se servait pour conserver une trace des visiteurs qui venaient consulter son CV. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation en langage C, capable de communiquer avec les bases de données et de créer des applications dynamiques et simples pour le World Wide Web. Rasmus décida alors en 1995 de publier son code, pour que tout le monde puisse l'utiliser et en profiter. PHP s'appelait alors PHP/FI (pour Personal Home Page Tools/Form Interpreter). En 1997, deux étudiants, Andi Gutmans et Zeev Suraski, redéveloppèrent le cur de PHP/FI. Un an plus tard, le résultat donna le Zend Engine, nouveau cur de PHP/FI, devenu alors PHP: Hypertext Preprocessor en version 3.


En 2002, il était utilisé par plus de 8 millions de sites Web à travers le monde, en 2004 par plus de 15 millions. La version actuelle est la version 5, elle corrige certaines failles et rajoute de nouvelles fonctions et bibliothèques.


La version 5.0.0 de PHP est sortie le 13 juillet 2004&amp;nbsp;: elle utilise Zend Engine 2 et introduit une programmation orientée objet plus efficace et plus complète, une gestion des erreurs basée sur le modèle des exceptions, ainsi que des fonctionnalités de gestion pour les entreprises. PHP 5 apporte beaucoup de nouveautés, telles que le support de SQLite, qui est un système léger de gestion de bases de données embarqué, au détriment de la bibliothèque cliente de MySQL, plus puissante mais qui n'est désormais plus fournie par défaut, ainsi que des moyens de manipuler des fichiers et des structures XML basés sur libxml2&amp;nbsp;:



  une API simple nommée SimpleXML, 
  une API Document Object Model assez complète, 
  une interface XPath utilisant les objets DOM et SimpleXML, 
  intégration de libxslt pour les transformations XSLT via l'extension XSL. 
Comment ça marche&amp;nbsp;?
Sa syntaxe et sa construction ressemblent à celles des langages C++ et Perl, à la différence que le PHP peut être intégré dans du code HTML.


Fonctionnement&amp;nbsp;: lorsqu'un visiteur demande à consulter une page Web, son navigateur envoie une requête à un serveur HTTP. Si la page contient du code PHP, l'interpréteur PHP du serveur le traite et renvoie du code généré (HTML).


L'utilisation la plus répandue est celle qui fait de PHP un générateur de page Web (contenant du code HTML, CSS, JavaScript, etc.) Ce langage permet donc de générer des pages au contenu dynamique (différent en fonction des données passées en paramètres, souvent par le biais de formulaires), mais peut aussi être utilisé comme langage de programmation en ligne de commande sans utiliser de serveur HTTP ni de navigateur. Cette fonctionnalité prend tout son sens dans un environnement de serveur Linux. Pour réaliser un script PHP exécutable, il suffit comme en Perl ou en Bash d'insérer dans le code en première ligne&amp;nbsp;: #!/usr/bin/php (à vérifier en fonction des distributions).
  

Il existe aussi une extension appelée PHP-GTK permettant de créer des applications clientes graphiques sur un ordinateur disposant de la bibliothèque graphique GTK.


PHP possède un grand nombre de fonctions permettant des opérations sur le système de fichiers, la gestion des bases de données, des fonctions de tri et hachage, le traitement de chaînes de caractères, la génération d'images, des algorithmes de compression...


Le moteur de Wikipédia est écrit en PHP avec une base MySQL. Il s'intègre donc dans une plateforme LAMP.
MascottePHP est souvent accompagné de l'elePHPant, dessiné par El Roubio. Il s'est inspiré de la ressemblance des lettres PHP avec un éléphant, d'où le nom. El Roubio a aussi inventé la PHPin'up. Toutes ses oeuvres sont distribuées sous licence GNU/GPL. Il existe aussi des origamis Elephpant.

Source : http://fr.wikipedia.org/wiki/Php</description><pubDate>Mon, 02 Jan 2006 22:21:39 +0100</pubDate></item><item><title>Linux systeme d'exploitation</title><link>http://infopro.nerdzblog.com/Linux-systeme-d-exploitation-3.php</link><description>Multitâche, multi-plateforme et multi-utilisateur
  
  gunLinux PinLinux - ou GNU/Linux - est un système d'exploitation libre multitâche, multi-plateforme et multi-utilisateur de type Unix. 


  Il tire son nom d'une de ses parties, à savoir de son noyau, initié par Linus Torvalds en 1991. Il s'agit d'un composant central et de bas niveau qui s'occupe de fournir aux logiciels une interface pour communiquer entre eux et avec le matériel. Cet aspect est traité dans l'article noyau Linux 
      
      
      
      
      
  
  
    Le système d'exploitation dans son ensemble représente le résultat des efforts convergents de nombreux projets développés en mode collaboratif qui se sont déployés via Internet : le projet GNU, le noyau Linux, le système de fenêtrage X Window, et certains logiciels produits par les équipes des Unix libres FreeBSD, OpenBSD et NetBSD... Y collaborent aussi bien des individus passionnés et des organisations comme la Fondation pour le logiciel libre de Richard Stallman que des petites et grandes entreprises commerciales (IBM, Sun Microsystems, ...) 
  


Pour l'utilisateur final, Linux se présente sous la forme d'une distribution Linux, commerciale ou non, c'est-à-dire d'une solution prête à être installée comprenant une sélection complète et cohérente de logiciels, des programmes d'installation et d'administration de l'ordinateur, ainsi qu'un mécanisme facilitant l'installation et la mise à jour des logiciels. 


Linux est aujourd'hui utilisé sur de nombreuses plate-formes, du plus puissant superordinateur aux systèmes embarqués tels que téléphone portable, assistant personnel, modem Freebox, lecteur vidéo DivX, etc., en passant par les ordinateurs personnels, PC et Mac, sur lesquels il peut être installé seul ou en parallèle avec Microsoft Windows ou Mac OS. Linux s'est d'abord imposé dans le domaine des serveurs informatiques grâce à des logiciels tels que le serveur web Apache ou le serveur de fichier Samba qui permet de partager des fichiers avec un réseau d'ordinateurs sous Microsoft Windows. Il a également atteint depuis peu une certaine maturité sur le poste de travail grâce aux interfaces conviviales que représentent GNOME et KDE ainsi qu'aux succès de logiciels comme la suite bureautique OpenOffice.org ou le navigateur internet Mozilla Firefox. 


La mascotte de Linux est un manchot qui a pour nom Tux. 
  
  Source : http://fr.wikipedia.org/wiki/Linux
</description><pubDate>Wed, 30 Nov 2005 18:38:00 +0100</pubDate></item><item><title>Apache HTTP Server</title><link>http://infopro.nerdzblog.com/Apache-HTTP-Server-2.php</link><description>Logiciel libre pour server WEB


Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par la Apache Software Foundation. C'est le serveur HTTP le plus populaire du World Wide Web. C'est un logiciel libre avec un type spécifique de licence, nommée licence Apache.
  
  Historique
    
    

Apache est apparu en avril 1995. Au début, il s'agissait d'une collection de correctifs et d'additions au serveur NCSA HTTPd 1.3, qui était dans le domaine public et le serveur HTTP alors le plus répandu. De cette origine, de nombreuses personnes affirment que le nom Apache vient de a patchy server, soit «&amp;nbsp;un serveur rafistolé&amp;nbsp;». Par la suite, Apache a été complètement réécrit, de sorte que, dans la version 2, il ne reste pas de trace de NCSA HTTPd.


Au début, Apache était la seule alternative sérieuse et libre au serveur HTTP de Netscape (maintenant iPlanet). Depuis avril 1996, selon l'étude permanente de Netcraft (voir ici), Apache est devenu le serveur HTTP le plus répandu sur Internet. En mai 1999, il faisait tourner 57 % des serveurs Web, et depuis début 2004, il se maintient à environ 69 % de part de marché.


La version 2 d'Apache possède plusieurs avancées majeures par rapport à la version 1, entre autres le support de plusieurs plateformes, le support de processus légers UNIX, une nouvelle API et le support IPv6.


La fondation Apache (Apache Software Foundation ou ASF) a été créée en 1999 à partir du groupe Apache (Apache Group) à l'origine du serveur en 1995. Depuis, de nombreux autres logiciels utiles au World Wide Web sont développés à côté du serveur HTTP.
  
  Disponibilité
  Apache fonctionne principalement sur les systèmes d'exploitation Unix (GNU/Linux, BSD et UNIX) et Windows. La version Windows n'est considérée comme stable que depuis la version 2 d'Apache. Apache est utilisé par de nombreux produits, dont Websphere d'IBM, ainsi que par Oracle Corporation. Il est également supporté d'une façon ou d'une autre par les outils de développement Borland Delphi et Kylix, ainsi que par des CMS comme Drupal.
  
  Fonctionnalités
  Apache est conçu pour supporter de nombreux modules lui donnant des fonctionnalités supplémentaires&amp;nbsp;: interprétation du langage Perl, PHP et Python, serveur proxy, Common Gateway Interface, Server Side Includes, réecriture d'URL, négociation de contenu, protocoles de communication additionnels, etc.
  
  
  Les possibilités de configuration d'Apache sont une fonctionnalité phare. Le principe repose sur une hiérarchie de fichiers de configuration, qui peuvent être gérés indépendamment. C'est notamment utile aux hébergeurs Web qui peuvent ainsi servir les sites de plusieurs clients à l'aide d'un seul serveur HTTP. Pour les clients, cette fonctionnalité est rendue visible par le fichier .htaccess.
  
  
  Parmi les logiciels aidant la maintenance d'Apache, les fichiers de log peuvent s'analyser à l'aide de nombreux scripts et logiciels libres tels que AWStats ou Webalizer. Plusieurs interfaces graphiques facilitent la configuration du serveur
    
    Source : http://fr.wikipedia.org/wiki/Apache_(logiciel)
  
</description><pubDate>Wed, 30 Nov 2005 18:38:00 +0100</pubDate></item><item><title>Gnu une communaut&amp;eacute; pour une source libre</title><link>http://infopro.nerdzblog.com/Gnu-une-communaute-pour-une-source-libre-1.php</link><description>Systeme et language constament amélioré grâce à la comunauté GNU


Le projet GNU a été lancé par Richard Stallman en 1984, alors qu'il travaillait au laboratoire d'intelligence artificielle du MIT, afin de créer un système d'exploitation libre et complet et, d'après ses mots, « ramener l'esprit de coopération qui prévalait dans la communauté informatique dans les jours anciens ». Le symbole de GNU est un gnou, animal dont le nom se prononce de la même manière que l'acronyme « GNU » en anglais et, par un heureux hasard, en français également.


GNU est un acronyme récursif pour « GNU's Not UNIX » (littéralement, GNU N'est pas UNIX). Cependant, ceci doit être compris comme une blague. Au début de la création de GNU, le système d'exploitation UNIX était déjà largement répandu, et il était généralement admis par les informaticiens que son architecture avait fait ses preuves. GNU fut donc conçu pour être compatible avec ce système.


On ne peut comprendre réellement ce qu'est le projet GNU si on en néglige ses motivations, relevant de l'éthique et de la philosophie politique. Il vise en effet à ne pas laisser l'homme être esclave de la machine et de ceux qui auraient l'exclusivité de sa programmation. Le projet GNU uvre donc pour une libre diffusion des connaissances, ce qui n'est pas sans conséquences politiques et éthiques. GNU s'est donc construit sur certains présupposés philosophiques lourds de conséquences.
  
  

GNU et Linux
L'association du projet GNU avec le noyau Linux s'est produite naturellement lorsque le noyau fut disponible et parfaitement fonctionnel dans l'environnement GNU. Le projet GNU avait prévu le développement du noyau Hurd pour compléter le système, mais au début des années 1990, Hurd ne fonctionnait pas encore et son développement rencontrait d'importantes difficultés.


L'arrivée du noyau Linux a donc rendu disponibles les logiciels du projet GNU sur les ordinateurs animés par des microprocesseurs Intel et compatibles. Cela leur assura une large diffusion car ces projets se complétaient à merveille.


En 1985, Stallman a créé la Free Software Foundation, structure logistique, légale et financière du projet GNU. La FSF a également financé des développeurs pour contribuer au projet, une portion substantielle des logiciels et documents ayant été (et étant encore) réalisée par des bénévoles. À ce titre, les communautés universitaires et scientifiques américaines et internationales contribuent énormément à la viabilité de ces projets.


Alors que la réputation de GNU grandissait, des entreprises intéressées ont commencé soit à contribuer au développement, soit à revendre les logiciels du projet GNU, et à offrir du support technique. La principale de ces sociétés étant Cygnus Solutions, faisant maintenant partie de Red Hat.


À partir de 1990, le système GNU disposait de son propre éditeur de texte (Emacs), d'un compilateur très performant (GCC), et de la plupart des bibliothèques système d'une distribution Unix standard. Le principal composant encore manquant étant le noyau.


Source : http://fr.wikipedia.org/wiki/Gnu</description><pubDate>Fri, 30 Dec 2005 18:38:00 +0100</pubDate></item></channel></rss>