Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    4 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 4 603
    Points : 120 263
    Points
    120 263

    Par défaut Mozilla présente Pyodide, un projet expérimental visant à créer une pile Python data science

    Mozilla présente Pyodide, un projet expérimental visant à créer une pile Python data science,
    qui s'exécute entièrement dans le navigateur

    Dans le but de bâtir une pile de développement data science pour les navigateurs Web, Mozilla a donné des détails sur Pyodide, un projet expérimental Python conçu pour effectuer des calculs sans recourir à un noyau distant (programme exécutant et inspectant le code). .

    Comme l'explique dans un billet de blog Mike Droettboom, ingénieur data science, il s'agit d'un interpréteur Python standard qui s'exécute entièrement dans le navigateur. Et bien que Pyodide ne soit pas tout à fait nouveau, des projets tels que Transcrypt, Brython, Skulpt et PyPyJs font partie des nombreux efforts visant à intégrer Python aux navigateurs. Il ne nécessite pas de réécriture des outils informatiques scientifiques populaires (tels que NumPy, Pandas, Scipy et Matplotlib) pour atteindre des performances adéquates et sa capacité à convertir les types de données intégrés permet des interactions entre les API de navigateur et les autres bibliothèques JavaScript.

    « L'impulsion de Pyodide est venue de notre travail sur un autre projet de Mozilla, Iodide, que nous avons présenté dans un précédent billet. Iodide est un outil d'expérimentation et de communication en science des données basé sur les technologies Web les plus récentes. Notamment, il est conçu pour effectuer des calculs de données informatiques dans le navigateur plutôt que sur un noyau distant.

    « Malheureusement, le “langage que nous avons tous” dans le navigateur, JavaScript, n’a pas de suite mature de bibliothèques de science de données et il manque un certain nombre de fonctionnalités utiles pour l’informatique numérique, telles que la surcharge d’opérateurs. Nous pensons toujours qu’il vaut la peine de travailler à changer cela et à faire progresser l’écosystème JavaScript de la science des données. Dans l’intervalle, nous prenons également un raccourci: nous rencontrons les scientifiques de données là où ils se trouvent en apportant la pile scientifique mature et populaire de Python au navigateur.

    « Certains ont également fait valoir de manière plus générale que le fait de ne pas utiliser Python dans le navigateur représente une menace existentielle pour la langue. Par conséquent, bien que Pyodide tente de répondre aux besoins d’Iodide en premier lieu, il est également conçu pour être utile ».

    Nom : 311.png
Affichages : 2922
Taille : 72,9 Ko
    Densité d’appels vers le service d’information local «311» de la ville de Oakland, en Californie (l'image d'origine est animée)

    Pyodide vous fournit un interpréteur Python standard complet qui s’exécute entièrement dans le navigateur, avec un accès complet aux API Web du navigateur. Dans l’un des exemples fournis (la figure ci-dessus), la densité d’appels vers le service d’information local «311» de la ville de Oakland, en Californie, est tracée en 3D. Le chargement et le traitement des données sont effectués en Python, puis ils passent à Javascript et à WebGL pour le traçage.

    Pyodide utilise des wrappers autour d'une variable dans l'autre langage [ce qui est appelé proxy]. Le proxy conserve la variable JavaScript d'origine et appelle des méthodes sur demande. Cela signifie que toute variable JavaScript, quelle que soit sa personnalisation, est entièrement accessible depuis Python et c'est ce niveau d'intégration étroit qui permet à un utilisateur de traiter ses données en Python, puis de les envoyer à JavaScript pour les visualiser.

    Nom : python.png
Affichages : 2920
Taille : 39,7 Ko

    Pyodide est construit sur WebAssembly, un langage de programmation de bas niveau fonctionnant avec des performances quasi natives, et emscripten (en particulier une version de Python pour emscripten appelée «cpython-emscripten»), qui comprend un compilateur de C et C ++ pour WebAssembly et un couche de compatibilité. Emscripten fournit en outre un système de fichiers virtuel (écrit en JavaScript) que l’interpréteur Python peut utiliser, dans lequel les fichiers disparaissent lorsque l’onglet du navigateur est fermé.

    Pyodide est impressionnant, mais Droettboom souligne que c’est encore un travail qui est en développement. Par exemple, des fonctionnalités telles que le threading ne sont pas actuellement prises en charge (mais pourraient l'être à l'avenir avec les threads WebAssembly), tandis que d'autres, telles que les sockets réseau de bas niveau, ne fonctionneront probablement jamais à cause des sandbox de sécurité des navigateurs. En ce qui concerne les performances, l'interpréteur Python de la machine virtuelle JavaScript s'exécute de 1 à 12 fois plus lentement dans Firefox et jusqu'à 16 fois plus lentement dans Chrome - vitesse utilisable pour l'exploration interactive, mais beaucoup plus lente que le code natif.

    Pour utiliser Pyodide, vous aurez besoin de l’interpréteur Python compilé en tant que WebAssembly, de JavaScript à partir de emscripten (qui fournit l’émulation système) et d’un système de fichiers contenant les fichiers requis par l’interpréteur Python. Une fois les trois composants téléchargés, ils seront stockés dans la mémoire cache de votre navigateur, évitant ainsi de les télécharger à nouveau.

    Selon Droettboom, Pyodide pourra à l'avenir charger la plupart des paquets directement à partir du principal référentiel de communauté de Python, PyPI, ce qui lui donnera accès à environ 59 000 paquets au total.

    Source : Mozilla
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : décembre 2011
    Messages : 54
    Points : 100
    Points
    100

    Par défaut

    Nouvelle vraiment alléchante.

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/10/2015, 15h57
  2. Réponses: 0
    Dernier message: 12/10/2014, 16h51
  3. créer une application python avec licence
    Par njock dans le forum Général Python
    Réponses: 1
    Dernier message: 31/05/2012, 23h22
  4. Comment créer une dll python (.pyd)
    Par devconf77 dans le forum Interfaçage autre langage
    Réponses: 4
    Dernier message: 01/02/2008, 20h29
  5. Comment créer une aplet python
    Par acieroid dans le forum Interfaçage autre langage
    Réponses: 10
    Dernier message: 03/02/2006, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo