 Ok, donc nous allons parler pour 30 minutes de la façon dont les gens peuvent écrire et exécuter les macros dans l'office libre. Donc, si je fais une histoire de chance avec moi-même, j'ai utilisé l'office libre depuis version 5, à ce moment-là, j'ai essayé d'explorer la partie basée de la suite. J'ai utilisé la basée, j'ai souffert d'une frustration personnelle avec la basée, et de là-bas, j'ai exploré la partie basée, qui s'occupe d'être disponible dans l'office libre depuis les anciens années de l'office libre. Donc, on va voir. C'est ce que nous allons parler. Je vais faire un brief recap sur l'exécution de la fréquence. J'explique l'intérêt de l'utiliser par Python, à la suite de la basée, ou plutôt de la basée, de la manière dont vous voulez. Je vais passer par trois idées d'exemplaires, l'environnement de développement intégré, qui s'occupe d'être les plus simples. Je ne veux pas aller dans les plus hautes pièces, comme les éclipses, etc. La purpose de l'exposer dans une facile façon, c'est de faire un programme Python pour l'individu. Je vais vous mentionner des extensions qui facilitent cette liste. Les idées de ces trois idées peuvent être installées, et si le temps permet, on va passer par les ressources existantes, et quelques exemples. Et si vous avez un quiz pour tous, et ceux qui arrivent après, vous pouvez trouver d'où j'ai picked-up l'avatar d'aujourd'hui. Mais pour l'un qui le trouve, ok. Les frameworks de scripting, vous savez que le programme standard est proposé par Python et BASIC, à la suite d'un JavaScript bin shell. Il s'agit d'un JavaScript bin shell, celles qui ne l'utilisent pas tout, donc je vais discuter Python, dans ce cas-ci. Les gens peuvent, naturellement, aussi utiliser C++ Java à la suite de ça, mais ce n'est pas le but de la présentation. Depuis que le target est toujours l'utilisateur humble pour la scripting macros, pour commencer avec pourquoi Python va passer par cela. À la fois que vous commencez à utiliser Python, c'est-à-dire, il y a des structures qui ressemblent à l'idée de BASIC dans l'office libre, mais vous pouvez avoir beaucoup plus. Vous avez des choses qui sont similaires à BASIC, vous avez l'explorer source, vous pouvez avoir syntaxe, light, code completion. Vous avez le debugging. Vous avez, à l'arrivée, les guidelines d'according par les propositions qui sont importants pour les gens qui sont venus à Python. Vous pouvez avoir test-driven développement, version control, et je ne détaille pas tout ce qu'il y a. Je vais avoir de l'extension après ça, et je vais aussi détailler un peu le setup des idées. J'ai mentionné des idées utiles, mais je n'aurai pas de temps pour ça, c'est une pièce de code que j'ai mis dans le GitLab, qui facilite l'usage ou le debugging de macros selon les idées que vous utilisez. Donc, à l'heure de vous ramener l'office libre, la plupart des distributions incluent le framework Python scripting. Certaines ne l'ont pas, et en ce cas, vous ne pouvez pas l'installer. Mais ce qui est intéressant c'est que dès le moment où vous avez le framework Python installé dans l'office libre, pour tous les objectifs que vous utilisez, vous avez été offert avec des descriptions de tous les objectifs dans l'API. Donc, c'est la liste d'idées durant la présentation, et la raison pour laquelle j'ai sélectionné ces trois sont les suivants. Je suis en train de regarder des softwares frais, des softwares open source et peut-être des softwares multilayables. Et vous avez des raisons, ces trois sont mentionnées là-bas. Et elles ont été multipliées, j'espère, aussi. Python est mentionnée, même si ce n'est pas un open source, parce que c'est gratuit. Vous pouvez voir ça sur la chaine de screen capture. D'ici, il y a d'autres idées que vous pouvez bénéficier d'elles que j'ai mentionnées, mais je ne vais pas les utiliser. C'est... Comme standard, Python est en train d'avoir un minimum de développement et d'environnement, qui est idle. Donc, je vous montre le class browser et le texte qui est existant en idle. Mais... Ce qui est intéressant de montrer à tout le monde, même si ce n'est pas permettant d'utiliser l'office libre Python UNO bridge. Il n'y a pas de support par défaut. Et réversalement, si vous utilisez l'office libre, vous n'aurez pas pu utiliser idle. Mais c'est un bon source d'exploiter la langue avec Python, si vous avez besoin. Gini, c'est... Comme le titre dit, vous avez un document un document browser et des symboles sur le gauche, ainsi que vous avez un syntaxe à la lumière et un code folding disponible avec cette idée. Python est en train de faire quelque chose similaire. Il y a beaucoup plus d'exploreurs, mais le layout est presque pareil. C'est beaucoup plus beau dans beaucoup de cas. L'une des choses qu'on voit c'est que l'environnement de Python pour Python est PyDev, qui s'occupe aussi dans les Eclipse. Gini, c'est ce que j'utilise les plus souvent. Parce que je n'ai pas exploré Python d'utiliser idle, Python c'était un bon source pour expérimenter et d'utiliser Python. Je sais beaucoup de programmers de Python qui sont en train de retourner à un environnement très simple qui, dans la plupart des situations, s'amuse. Donc si c'est bleu, excuse-moi, c'est débuggé de PyZo, je ne sais pas les développeurs, donc peut-être j'ai misprononcé le nom. C'est un bon outil qui s'offre un débugger et c'est aussi proposé qui fait apparentement une exploration d'objectifs. Vous pouvez le voir sur cette screenshot, que vous avez un code complication, que vous avez un code stack qui peut s'appuyer et essayer de identifier ce qui s'occupe de votre code. Il y a beaucoup de features. Qu'est-ce que j'ai dit ? C'est PyCharm. D'ici, quelque chose qui montre le code, la situation dans l'exécution et les états de les variables. Quelque chose que je vais mentionner est la possibilité d'un test unique. Ce n'est pas extraordinaire, mais c'est quelque chose que je voulais mentionner, pour que les gens puissent savoir que c'est existant et que ça peut être utilisé en Genie, en PyCharm et même en PyZo. Le code de guidelines est exclusivement disponible quand vous utilisez un de ces trois outils. Vous pouvez le voir. J'ai été un petit note dans ces exemples, depuis que j'ai sélectionné l'une des scripts de LibreOffice et j'ai demandé des erreurs ou de la faute de la convention que ce code est exposé. Vous pouvez le voir de la moitié de l'écran, les petites couleurs. Il y a beaucoup de places où les choses pourraient être augmentées en termes de présentation, mais c'est toujours un sens personnel. Vous pensez toujours qu'il ne faut pas faire ça. Si vous venez d'agir d'un standard, il y a des choses qui pourraient être augmentées. Le but n'est pas de pointer à le code de LibreOffice, mais de montrer que c'est existant et que c'est aussi un excellent guidance source, spécialement pour les newcomers. Dans PyCharm, il y a des versionnements. Il y a des outils. L'exemple que j'ai sélecté n'est pas de ces deux. C'est simplement le même source code que j'ai taggé à plusieurs temps durant le développement et j'ai fait des réquestes de PyCharm pour me montrer les changements qui ont été réalisés entre ces deux labels. C'est ce qu'il faut donner de l'intérêt. J'ai goûté toutes les possibilités que le site Python scripting s'est offert. Mais pour avoir ça, les gens n'ont pas besoin d'exposer ça au public comme je le fais. Ce qui est existant depuis deux ans est une extension extra qui s'appelle APSO qui s'appelle alternative Python script organizer et c'est au moment où vous installez ça dans l'office libre vous pouvez commencer Python script dans l'office libre qui n'a pas été le cas pour huit ans. Le gars qui l'a écrit a été inspiré par un code japonais qui était présent dans l'office public depuis 2014 et c'était fait deux ans il était adapté à une extension et par le temps que c'est présent je vais s'occuper de l'extension c'est interprété par le standard de support de xray qui sont programmés dans l'office libre et MRI qui s'occupe d'un autre objecteur écrit dans Python il peut utiliser d'autres codes si l'un ou l'autre est installé dans votre machine. Qu'est-ce que la situation avant de l'extension ? Vous pouvez voir ça sur le dessus à l'arrière quand vous choisissez les macros de l'office libre de l'office macros la seule possibilité pour Python c'est de dire que je peux avoir une liste d'autres menus et de l'office Python qui sont élevés par l'exemple dans le produit par le temps que vous installez et vous l'utilisez par le menu de l'office macros de l'office macros d'organiser l'office Python vous avez le menu qui est à la moitié de l'office qui évolue plusieurs choses selon ce que vous choisissez vous pouvez créer des modèles ou les modèles Python ou les directeurs les modèles ils sont pour les modèles et les macros ils matchent les modèles Python et selon ce que vous choisissez vous pouvez créer les modèles Python les directeurs les directeurs vous pouvez créer des modèles vous pouvez éditer le contenu de Python vous pouvez éditer l'idée de votre choix par le temps que vous pouvez sélectionner un ou plusieurs idées mais ce que je fais j'arrête pour l'association OS je ne spécifie pas quelle idée de précision j'ai utilisé pour mes settings OS ceci va donner des facilités de debugging qui sont illustrées et c'est aussi possible pour les gens d'identifier les syntaxes exactes d'un objet vous ne devriez nécessairement aller dans l'API si vous commencez à être un peu familier avec l'API et l'organisation de l'API vous pouvez généralement essayer d'installer quelque chose et voir le contenu si vous n'avez pas de aller dans la documentation online c'est le console qui a été disponible de l'extension donc vous l'aurez remarqué que comme d'autres consoles vous pouvez mettre un code vous avez le résultat vous pouvez aller plus loin type une autre instruction et explorez plus le contenu de l'objectif que vous avez créé et possiblement les fonctions et les propriétés que vous avez créé vous pouvez aussi remarquer que si vous voulez un peu plus vous n'aurez rien à faire vous n'aurez minimalement l'illustration de l'objectif mais vous n'aurez pas de précision sur des méthodes ou d'autres propriétés vous pouvez essayer d'identifier mais c'est quelque chose que vous utilisez et c'est l'illustration j'ai encore appelé le debugger même si vous n'aurez pas de points mais vous avez une fonctionnalité très basée vous allez dans votre script vous pouvez skipper une fonction vous pouvez skipper un module et ça va le faire et à l'arrivée il vous montre le stack il vous montre le contenu objectif vous pouvez cliquer sur l'objectif il vous explique xray ou mri et vous allez avoir beaucoup plus d'informations et le projet setup on va voir ces trois Gini ici il y a un exemple sur la machine Mac ou sur les windows ce qui est important ici c'est de noter le S pour tous ces trois produits vous pouvez vérifier les environnements python vous n'avez pas besoin de jouer avec des environnements virtual vous avez juste mentionné 1, 2, 3 différents projets vous pointez à l'interprète qui pourrait être version 5 de l'office libre qui pourrait être l'office open qui pourrait être des applications portables sur votre machine vous pourrez avoir des environnements différents mais les trois sont en train de l'utiliser c'est assez clé et très facile c'est pour Python Python est aussi proposé un menu qui s'appelle shell configurations d'où vous pourrez avoir quelque chose similaire et c'est à vous de dire que c'est votre l'office libre v5.2 ou l'office libre v5.4 que vous voulez avoir un look at et voir si votre pièce de script fonctionne proprement même chose pour Python Python propose quelque chose extra il y a un default Python setup et il propose un Python setup pour tous les projets que vous définissez dans le tool l'auteur d'accès à base a récentement modifié c'est un c'est un basic library pour permettre Python access pour les différentes fonctionnalités qui sont disponibles et il a joué il a joué pour debug Python et basic tout ensemble durant ce processus scripting Python macros, c'est probablement ce qui vous est intéressant mais c'est sûrement quelque chose de plus en plus de détails donc je peux passer les ressources qui existent des basics de programmation et ce que j'ai fait dans les dernières mois c'est de s'obtenir dans l'aide en ligne minimum d'informations pour les gens d'essayer dans Python si je dis Python, Python pardonne-moi donc c'est l'aide en ligne ou d'aide local selon la façon dont vous installez et le contenu de Python ça montre que vous n'avez pas ce que vous utilisez avec la base IDE mais la facture que vous utilisez quelque chose qui est externe vous avez beaucoup plus donc il y a de diverses méthodes pour installer les idées que j'ai passées mais il y a des détails, ou au moins il y a un lien de cette page donc peut-être que je peux montrer le wiki c'est le page wiki qui est liée et celle-ci contient beaucoup d'informations sur ce qui peut être fait des documentations qui existent et même si certains d'eux regardent je veux dire vous pouvez refermer à l'organisation Python pour quelque chose qui est liée à Python et l'API, nous savons que les idées ne changent pas elles sont assez stabiles donc quelque chose qui est lié à la langue d'autre dans cette liste serait encore valide donc j'ai regardé un exemple de l'aide online l'API l'SDK j'imagine que tous vous connaissent et en cas que les gens ne le savent ce sera lié dans la présentation j'ai mentionné l'interactive console comme source d'informations parce que pour mon point de vue c'est ND et vous n'avez pas toujours besoin d'explorer plus bas quelle page sur le wiki ou l'SDK qui a un contenu dans l'SDK forum est une bonne source il n'y a pas que beaucoup d'informations dans Python dans le site ASC mais il s'agit d'un casque qu'il reste un peu de valeurs et d'informations sur Python les scripts je peux aller rapidement mais le principe c'est que par la fois que vous créez un module Python c'est considéré un code autonome donc tout ce que vous faites dans ce module peut être exécuté par la fois que vous êtes sur le script si vous voulez créer des choses qui sont plus rélaborées comme avoir une libraire shared vous n'aurez pas besoin d'utiliser le contexte default qui est donné dans la libraire mais d'autant vous vous porterez la libraire UNO et la procédure est un peu différente la page de l'aide quelque part ce processus est indiqué ici si vous avez un module autonome qui vous utilisez pour préciser les circonstances vous serez résortant à un contexte de script ce qui n'est pas une interface en tout cas, mais un objectif et vous serez réelé sur les trois méthodes qui sont prises ici le script d'exemple dans la suite est utilisé par ce principe d'où si vous utilisez quelque chose qui peut aussi être un module autonome il y a un alternatif qui est à résort au module UNO et ce très module contient ces méthodes à l'arrivée, j'ai offert quelques translations sur ce qui existe en basique sur ce qui devrait être fait en utilisant Python et je vous montre ici la façon que vous serez appelés un module autonome dans votre script et grâce à le nouveau système d'aide que Olivier a mis en place un an avant vous obtenez un bon layout de source code soit en Python ou en basique donc c'est plus ou moins la structure de la page existante dans l'aide j'ai offert l'exemple d'input à l'outil parce que le standard Python d'outil qui serait le console n'a pas de sens dans le contexte d'un script Python où les gens sont probablement attendus d'interaction donc ce qu'il fait c'est que cette page d'outil à l'outil c'est simplement définir trois fonctions qui sont appelées message box print et input box et ces trois fonctions sont appelées basiques en basique en utilisant le framework de scripting en utilisant l'obligation qui existe dans l'office donc j'ai offert l'exemple d'information de l'exemple la façon d'identifier l'opératif et pour toutes ces situations j'ai offert l'exemple dans l'anglais soit en basique ou en basique et je détailerai le principe de l'importance d'importance en basique parce que selon le fait que vos modules soient either stored sur votre machine ou part de l'application ou stored dans un document l'importance doit être codée un peu différemment mais encore vous pouvez l'importer et vous pourrez relier tout ce que vous avez importé donc à l'aide il y a aussi l'exemple des listeners des moyens d'ouvrir et d'ouvrir les dialogues et je vous j'ai offert l'exemple de monitorer les événements qui je vais vous montrer et et je pense que après ça je vais probablement être fait donc ce qu'il fait je vais vous montrer et on va le faire oui je ne suis pas affrayé dans ce cas ce qui se passe ici dans le background c'est que à l'aide de 100 les listeners dans le code je suis appelé une seule classe qui est depuis le moment qu'elle s'est instantiée elle est prête à capturer tous les événements documents dans dans ces documents donc comme vous pouvez pardon je vais l'enlarger oui donc les dialogues n'ont pas besoin d'être là mais c'est juste c'est juste pour la cause de la démonstration donc on va faire ce que j'ai mis dans les sales si je dis le document vous pouvez voir tous les événements que l'application je vais faire je vais éditer un micro ou prétendre prétendre ce que je fais donc vous pouvez voir la menu extra qui est là on va juste éditer quelque chose qui est basique ok, j'ai fait ça et là ça n'a pas mal j'ai fait pardon pour ça peut-être c'est basique ok simplement fermez-le donc vous pouvez voir les deux événements sont passés les événements sont passés qui sont focus et non-focus ou des choses comme ça pas seulement pour ça d'ailleurs c'est cancelant et maintenant si j'ai vraiment sauvé le document ou non je n'ai pas besoin oui je vais y aller je vais l'émerger les événements extra sont capturés je n'ai pas besoin d'émerger en ce cas le document a été fermé la vue a disparu mais ce que j'ai fait dans le background c'est que j'ai utilisé la console trace qui est partie de l'accès à la base basique librairie en même temps à tout moment le document a été ouvert j'ai commencé j'ai commencé à installer le niveau minimum pour débarter et pour chaque débarter l'instruction qui était partie du code python j'ai commencé à installer l'événement dans ce dialogue box en utilisant la base basique en utilisant la base basique en utilisant la base basique et le document est mort et c'est la mémoire de ce qui s'est passé donc ça peut être fait dans la base basique mais c'est quelque chose que j'ai fait dans la base basique en respectant les services existant dans l'accès à la base basique donc je vais pour ceux intéressés qu'on puisse examiner le code mais on n'a pas le temps donc ce qui est intéressant ici pour summariser c'est que vous pouvez appeler la base basique il y a un petit outil qui le certifie je vous l'ai montré mais certainement pas le message box et l'input box ils sont juste ici pour faciliter le développement mais ils n'ont pas de sérieux de purpose dans la perspective de Python où des choses similaires peuvent être faites dans la base basique en utilisant l'application libre mais il y a des choses existant dans la base basique qui sont les plus connaissances et qui peuvent être utilisées sainement dans l'institut de mon point de vue dans une fashion qui est intéressante les consoles que j'ai démonstrées c'est un exemple réversalement il est intéressant de résoudre les codes basiques pour Python parce que vous avez l'ecosystème fantastique de Python qui est présent dans l'office libre et qui peut être utilisé par des codes basiques similaires un code basique pourrait utiliser les fonctions 500 qui existent en calc et c'est quelque chose que je recommande aux codes basiques j'ai fait un exemple d'un code basique pour Python qui s'appelle Python.OS.FileLength parce que dans le cas de cette très basique fonction le résultat est limité à 2 gigabytes et nous sommes tous allés à nos files aujourd'hui sur notre PC qui sont plus grandes que ça donc si vous utilisez la fonction basique ça vous donnera des résultats en tout cas ça serait bien mais pour chaque file de cette dimension ça ne marche pas d'où si vous appelez une fonction Python vous avez un bon résultat et l'API d'ailleurs est aussi rétournée un file length de 2 gigabytes au moment c'est pourquoi j'ai fait ça pour terminer vous pouvez aussi performer Python ou des codes basiques dans les libraries de JavaScript ou des modules que vous avez rétournés donc c'est pour summariser ok ce que c'est ce que c'est la page d'autres links vous m'avez intéressé à voir merci