IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft aux utilisateurs d'Excel : Attention à Python
Microsoft continue à surveiller et à ajuster Python dans Excel afin d'assurer la sécurité des utilisateurs et de leurs données

Le , par Jade Emy

39PARTAGES

4  0 
Les utilisateurs de Python in Excel ont exprimé le souhait de pouvoir exécuter Python dans des environnements autres que les conteneurs Microsoft Azure verrouillés, dont le prix reste à déterminer. Mais "trois raisons principales nous ont poussés à commencer par le cloud (en tant qu'expérience connectée Microsoft 365 conforme au GDPR)", a expliqué l'équipe MicrosoftExcel.

1. Exécuter Python en toute sécurité sur une machine locale est un problème difficile. Nous traitons tout le code Python dans le classeur comme non fiable, nous l'exécutons donc dans un conteneur isolé par un hyperviseur sur Azure qui n'a pas d'accès réseau sortant. Le code Python et les données sur lesquelles il opère sont envoyés pour être exécutés dans le conteneur. L'environnement Python sous licence Microsoft dans le conteneur est fourni par Anaconda et a été préparé en utilisant leurs pratiques de sécurité rigoureuses comme documenté ici.

2. Le partage de classeurs Excel avec d'autres personnes est un scénario très important. Nous voulions nous assurer que le code Python dans un classeur que vous partagez se comporte de la même manière lorsque vos coéquipiers l'ouvrent, sans qu'ils aient besoin d'installer et de gérer Python.

3. Nous devons nous assurer que la fonction Python in Excel fonctionne toujours pour nos clients. La valeur de Python réside dans son écosystème de bibliothèques, et pas seulement dans la fourniture d'un interpréteur Python. Mais la gestion d'un environnement Python local est un défi, même pour les développeurs les plus expérimentés. En fonctionnant sur Azure, nous évitons aux utilisateurs ou à leurs administrateurs système d'avoir à maintenir une installation locale de Python sur chaque machine qui utilise la fonction dans leur organisation...
Alors, comment équilibrer les compromis entre l'amélioration de la sécurité et la facilité de maintenance avec la perte de fonctionnalité et l'augmentation des coûts lorsqu'il s'agit de l'utilisation d'un langage de programmation ? Est-il acceptable d'abandonner la mise à disposition de certaines fonctionnalités de base importantes, comme Microsoft le fait ici avec Python et l'a fait par le passé en ne prenant pas en charge Excel VBA dans le nuage et en ne rendant plus le BASIC disponible sur les PC et les Mac ?

L'équipe de Microsoft a ajouté à un moment donné que "pour notre version initiale, nous ciblons des scénarios d'analyse de données et apportons la puissance des bibliothèques analytiques Python dans Excel". "Nous pensons que l'approche que nous avons adoptée plaira aux analystes qui utilisent à la fois Excel et les Notebooks Python dans leurs flux de travail. Aujourd'hui, ces utilisateurs ont besoin d'importer/exporter des données et n'ont aucun moyen de créer un artefact autonome qui peut être partagé facilement et en toute sécurité avec leurs collègues."


Python in Excel est actuellement en avant-première et est susceptible d'être modifié en fonction des retours d'expérience. Python in Excel est progressivement déployé pour les clients d'Excel pour Windows utilisant le canal bêta. Pour l'instant, la fonctionnalité n'est pas disponible sur d'autres plateformes.

Python s'exécute sur le cloud Microsoft

Python in Excel exécute le code Python utilisé par Excel dans un conteneur sécurisé sur Microsoft Cloud avec une sécurité de niveau entreprise en tant qu'expérience connectée conforme à Microsoft 365.

  • Le code Python s'exécute dans des conteneurs isolés de l'hyperviseur, construits sur Azure Container Instances.
  • Le conteneur contient Python et un ensemble de bibliothèques sécurisées fournies par Anaconda.
  • L'environnement utilise la distribution Anaconda pour Python, qui contient Python et des bibliothèques construites à la source, fournies directement par Anaconda.
  • Le code Python n'a pas accès à votre ordinateur, à vos appareils ou à votre compte.
  • Le code Python n'a pas accès au réseau.
  • Le code Python n'a pas accès à un jeton d'utilisateur.
  • Le code Python peut accéder aux données par l'intermédiaire des références via la fonction intégrée xl() dans le cadre d'une formule Python. Cela signifie que les formules Python ont accès à la lecture des valeurs des cellules du classeur, sur la base de la référence de la cellule, ou aux valeurs des sources de données externes, par le biais du nom de connexion de Power Query.
  • Le code Python renvoie des données à vos classeurs par l'intermédiaire de la fonction Excel =PY(), qui affiche le résultat du code Python dans la cellule où la fonction est saisie. Les fonctions Python ne peuvent pas renvoyer d'autres types d'objets tels que des macros, du code VBA ou d'autres formules.
  • Le code Python n'a pas accès à d'autres propriétés du classeur, telles que les formules, les graphiques, les tableaux croisés dynamiques, les macros ou le code VBA.

Comment Python in Excel traite-t-il les classeurs provenant d'Internet ou de sources non fiables ?

Python in Excel suit les mêmes politiques de sécurité qu'Excel lorsqu'il s'agit d'ouvrir des classeurs provenant d'Internet ou de sources non fiables.

Si vous ouvrez un classeur qui contient du code Python provenant d'Internet, Excel Protected View n'exécutera pas les formules Python dans le classeur. Si un classeur est ouvert avec Microsoft Defender Application Guard, les formules Python ne sont pas exécutées par défaut.

En outre, Python in Excel exécute les formules Python dans le classeur non sécurisé au sein de son propre conteneur dédié et isolé de l'hyperviseur, ce qui permet d'éviter toute interaction ou interférence potentielle avec d'autres codes Python s'exécutant à partir d'autres classeurs ouverts.

À quelle fréquence Microsoft met-elle à jour les conteneurs sur lesquels le code Python s'exécute ?

Python in Excel utilise des conteneurs pour exécuter le code Python sur Azure. Les conteneurs sont des environnements isolés et sécurisés qui peuvent exécuter des applications et des services sans affecter le reste du système. Pour garantir la sécurité et la fiabilité des conteneurs, des mises à jour et des correctifs leur sont régulièrement appliqués.

Python et les bibliothèques sont mis à jour de la manière suivante afin de garantir la sécurité de vos données et la cohérence de vos résultats numériques.

  • Des correctifs sont appliqués au système d'exploitation sous-jacent sur lequel fonctionne l'instance de conteneur Azure. Cela permet de s'assurer que le conteneur est protégé contre les vulnérabilités et les exploits susceptibles d'affecter vos données. Cette opération s'effectue automatiquement, sans aucune intervention de votre part.
  • Une fois que Python in Excel sera disponible, des mises à jour périodiques de l'environnement Python seront publiées, avec Python et les bibliothèques fournies par Anaconda. Ces versions incluent les derniers correctifs de sécurité et les améliorations apportées par les communautés Python et Anaconda. Ces versions seront annoncées par le biais d'articles de blog et de documentation. Cela se fera automatiquement, sans aucune configuration requise, et Microsoft utilisera par défaut l'environnement le plus récent. Les classeurs existants continueront à effectuer les calculs en fonction de la version de l'environnement sur lequel le classeur a été créé, et les utilisateurs seront invités à effectuer une mise à niveau s'il existe une version plus récente. Cette approche garantit la cohérence de vos résultats numériques et vous permet, à vous et à votre organisation, de rester à jour.


Comment Microsoft respecte-t-il vos données et votre vie privée ?

Microsoft accorde une grande importance à la protection de votre vie privée. Pour plus de détails, consultez la déclaration de confidentialité de Microsoft. Pour consulter les politiques de protection des données des expériences connectées de Microsoft 365, voir Expériences connectées dans Microsoft 365. Pour consulter les politiques de protection des données lors de l'utilisation de Copilot avec des données de classeur, voir Données, confidentialité et sécurité pour Microsoft 365 Copilot.

Microsoft continuera à surveiller et à ajuster Python in Excel afin d'assurer votre sécurité et celle de vos données. Cela peut impliquer des modifications futures de l'expérience utilisateur et des paramètres du registre.

Source : Microsoft

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi :

Microsoft annonce l'intégration de Python dans Excel : Combiner la puissance de Python et la flexibilité d'Excel

Les utilisateurs d'Excel sur Windows et Mac pourront bientôt automatiser les tâches répétitives, Microsoft estime que cette fonctionnalité va améliorer la productivité des utilisateurs du tableur

Microsoft envisagerait d'ajouter Python comme langage de script officiel à Excel, les utilisateurs sont appelés à donner leur opinion sur la question

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 19/09/2024 à 16:03
Citation Envoyé par Basiqueur Voir le message
Le but est autant de faciliter la vie de l'utilisateur que de proposer des nouveautés jusqu'alors infaisables.
On peut faire beaucoup de choses avec Vba mais ce langage est vieux, peu performant et n'a connu aucune évolution majeure depuis des lustres.

Si tu veux par exemple filtrer une variable tableau en Vba, il va te falloir :
- créer une nouvelle variable tableau
- boucler sur l'ensemble des lignes de la variable initiale
- vérifier le respect de tes conditions de filtrer pour chaque ligne
- copier les données d'une variable à l'autre
- redimensionner la variable de destination à chaque itération
etc.....

Au final il te faudra écrire plusieurs dizaines de lignes de codes qui mettront un temps conséquent à s'exécuter. Alors qu'en python ça se fait en une seule ligne et probablement en moins d'une seconde.

Et ce n'est qu'un exemple sur une opération assez basique. Niveau création d'interface utilisateur, cela devient une vraie usine à gaz en Vba si on veut vraiment bien faire les choses. Certaines bibliothèques python ont vraiment un gros plus à apporter dans ce domaines.

Sur le papier tout ça semble vraiment intéressant mais la méthode d'intégration ne va sans doute pas faciliter l'adoption.
L'intérêt d'une technologie vis-à-vis d'une autre n'est pas réductible aux qualités intrinsèques du langage.

On a beau critiquer VBA, des scripts écrits il y a plus de 20 ans tournent encore très bien aujourd'hui. La seule maintenance nécessaire concerne la MAJ des API Windows en version 64-bits.

Et si VBA n'est pas satisfaisant, autant utiliser des extensions genre Excel-DNA qui posent infiniment moins de problèmes de distribution et maintenance sur le long terme. Ça supporte même .NET 6.0+, c'est dire le travail colossal de l'équipe de développement. C'est aussi un bon gage quant à la viabilité du projet à long terme.

Le jour où Microsoft décide de stopper son service Python dans le cloud (et ça arrivera forcement, c'est afférent au cloud), t'es marron et t'as juste à repartir de zéro. Ton travail part direct à la poubelle.
3  0 
Avatar de kiruahxh
Nouveau membre du Club https://www.developpez.com
Le 18/09/2024 à 22:29
Quel blabla commercial pour vendre de la licence OneDrive... Ils ont pas été foutus d'intégrer python à la version de bureau d'office, ils sont à la ramasse
3  1 
Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 18/09/2024 à 20:39
En bref : une énième usine à gaz à base de cloud, propriétaire de surcroît. Je passe mon tour !
2  1 
Avatar de Jules34
Membre émérite https://www.developpez.com
Le 19/09/2024 à 11:07
Est-ce que quelqu'un ici à une utilisation concrète ?

Je vois bien quelques utilisations pour l'univers comptable/finance ou je bosse mais c'est déjà possible de le faire sans utiliser du Python...
2  1 
Avatar de petitours
Membre émérite https://www.developpez.com
Le 19/09/2024 à 13:41
Celui qui a mis un pouce vers le bas à ce que je viens de dire peut il développer comment il arrive à ne pas considérer VBA comme un langage très vieux , peu performant (en l'occurrence à l’exécution comme au développement) et mal fichu (surtout au niveau de dev) ?
Je pratique toutes les semaines VBA dans access et ponctuellement dans Excel. Ces outils (Excel et Acess) sont formidables de productivité, ceci ne serait pas possible sans le VBA mais j'ai du mal à voir comment on peut objectivement ne pas considérer VBA comme un vieux machin qui n'évolue plus, y compris sur l'ide mal fichu, depuis des lustre.
1  0 
Avatar de petitours
Membre émérite https://www.developpez.com
Le 21/09/2024 à 20:04
Citation Envoyé par Comak Voir le message
S'ils ne sont pas capable de mettre python dans la version bureau d'Office, c'est soit qu'Office est pourri, soit qu'ils sont des manches du développement logiciel. Aucun des deux cas n'est rassurant.

Sérieusement, utiliser pandas ou nltk pour cleaner du texte... c'est parce qu'ils ont une interface utilisateur vraiment pourrie.
Ce n'est pas parce qu'ils ont volonté commerciale de capturer tout le monde sur le cloud qu'ils ne sont pas capables de faire une app desktop très bien.

Citation Envoyé par Comak Voir le message
Vous avez déjà fait les exports csv d'Excell?
Oui, plusieurs fois par jours, quasiment tous les jours ouvrés de l'année et ça fonctionne super bien.
1  0 
Avatar de Basiqueur
Membre du Club https://www.developpez.com
Le 19/09/2024 à 11:46
Citation Envoyé par Jules34 Voir le message
Est-ce que quelqu'un ici à une utilisation concrète ?

Je vois bien quelques utilisations pour l'univers comptable/finance ou je bosse mais c'est déjà possible de le faire sans utiliser du Python...
Le but est autant de faciliter la vie de l'utilisateur que de proposer des nouveautés jusqu'alors infaisables.
On peut faire beaucoup de choses avec Vba mais ce langage est vieux, peu performant et n'a connu aucune évolution majeure depuis des lustres.

Si tu veux par exemple filtrer une variable tableau en Vba, il va te falloir :
- créer une nouvelle variable tableau
- boucler sur l'ensemble des lignes de la variable initiale
- vérifier le respect de tes conditions de filtrer pour chaque ligne
- copier les données d'une variable à l'autre
- redimensionner la variable de destination à chaque itération
etc.....

Au final il te faudra écrire plusieurs dizaines de lignes de codes qui mettront un temps conséquent à s'exécuter. Alors qu'en python ça se fait en une seule ligne et probablement en moins d'une seconde.

Et ce n'est qu'un exemple sur une opération assez basique. Niveau création d'interface utilisateur, cela devient une vraie usine à gaz en Vba si on veut vraiment bien faire les choses. Certaines bibliothèques python ont vraiment un gros plus à apporter dans ce domaines.

Sur le papier tout ça semble vraiment intéressant mais la méthode d'intégration ne va sans doute pas faciliter l'adoption.
2  2 
Avatar de Comak
Nouveau membre du Club https://www.developpez.com
Le 21/09/2024 à 19:08
S'ils ne sont pas capable de mettre python dans la version bureau d'Office, c'est soit qu'Office est pourri, soit qu'ils sont des manches du développement logiciel. Aucun des deux cas n'est rassurant.

Sérieusement, utiliser pandas ou nltk pour cleaner du texte... c'est parce qu'ils ont une interface utilisateur vraiment pourrie. Vous avez déjà fait les exports csv d'Excell?
0  1 
Avatar de petitours
Membre émérite https://www.developpez.com
Le 19/09/2024 à 13:09
Citation Envoyé par Jules34 Voir le message
Est-ce que quelqu'un ici à une utilisation concrète ?

Je vois bien quelques utilisations pour l'univers comptable/finance ou je bosse mais c'est déjà possible de le faire sans utiliser du Python...
déjà possible mais avec un langage très vieux, peu performant et mal fichu, ce qui n'est pas le cas de python.
Accessoirement ça donne accès à tout ce que sait faire python, la liste est longue.
1  3