MakeMake The Dwarf Planet is a feed agregator.

Blender/UPBGE + Blockly = coding game en 3D

by phroy from AFPy discuss

Pour faire un coding game en 3D le combo qui marche pas mal est Blockly (éditeur de code avec de blocs, façon scratch ou app inventor) + Blender/UPBGE.

Blender/UPBGE étant en Python, Blockly en javascript, on peut passer par un Websocket, c’est au final plutôt simple.

Petite démo.

Le code est ici : Blender-EduTech / Portail coulissant / Jumeau numérique · GitLab

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Recherche mission freelance FastApi / Django

by drigaudie from AFPy discuss

Hello,
Je suis en recherche d’une mission en Python orienté web.
Je sors d’une expérience dans une banque où j’ai mis en place avec ma squad une architecture micro-service (fastapi, mongo, rabbitmq) avec du full asynchrone sur des problématiques de forte charge
:man_technologist: 17 ans XP (+8 ans python)
:round_pushpin: Clermont Ferrand (Paris / Lyon)
:briefcase: 2 jours max de TT / sem
:snake: python, FastApi/Django/Flask

Je recherche une mission équivalente ou sur un projet nécessitant une mise en place des bonnes pratiques de développement pour améliorer la qualité du code

Merci pour votre soutien

3 messages - 2 participant(e)s

Lire le sujet en entier

Lire la suite…

scrollbar-canvas

by mapommfj from AFPy discuss

Bonjour,
j’ai un problème de dimension du “curseur” (Thumb) de mes scrollbars.
elles remplissent la scrollbar et je ne peux qu’utiliser les flèches pour me déplacer H ou V. Voici mon code:

Frame1 = Frame(fen, background='white')
Frame1.place(x=20, y=y5, width=w1, height=h1)
Frame2 = Frame(Frame1, background='white')
Frame2.place(x=5,y=5, width=w1-10,height=h1-10)
cnvs = Canvas(Frame2, bg='white', width=w1-10, height=h1-10)
cnvs.place(x=0,y=0)
scrollable_frame = Frame(cnvs)
scrollable_frame.bind("<Configure>",lambda e: cnvs.configure(scrollregion=cnvs.bbox("all")))
cnvs.create_window((0, 0), window=scrollable_frame, anchor="nw")
scrollbarv = ttk.Scrollbar(Frame2, orient="vertical", command=cnvs.yview)
cnvs.configure(yscrollcommand=scrollbarv.set)
scrollbarv.pack(side="right", fill="y")
scrollbarh = ttk.Scrollbar(Frame2, orient="horizontal", command=cnvs.xview)
cnvs.configure(xscrollcommand=scrollbarh.set)
scrollbarh.pack(side="bottom", fill="x")
p=30
for n in range(1,300):
	cnvs.create_text(50, p, text=str(n)+' '+"Tkinter & azertyuiopqsdfghjklm",fill="black",font="Times 16 bold")
	p=p+30

J’y arrive avec une ListBox.
D’où pourrait venir mon erreur ?
Cordialement

7 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…

Questions, idées d'améliorations et quelques petits trucs

by Musclor13 from AFPy discuss

Bonjour.
J’ai pas mal regardé ce site et franchement y a des trucs bien mais on peu passer a coté assez facilement…

  • Le site mêt surtout en avant les conférences et autres trucs qui n’interessent pas forcément au départ (une personne qui code vite fait et veut simplement partager n’a pas forcément envis d’aller a une conférence tout de suite :smiley: )
  • Dans la liste des badges il y a “contribution au wiki” mais… Soit y a pas de wiki soit il est pas indiqué
  • La page d’aceuil du site ne propose pas de lien ou d’infos sur les éventuels sous-sites (dans communauté il y a bien des liens vers le forum par exemple mais pour découvrir qu’il y a un git faut aller sur ce forum)
  • Avant il y avait http://wikipython.flibuste.net/ (et je crois y avoir mis des trucs en python2 y a longtemps) mais il n’existe plus vraiment
  • manque de tags.sous catégorie pour la catégorie python. Un tag/sous catégorie par bibliothèques/applis serait pas mal pour s’y retrouver (ex wxpython, blender, gimp, mido, lecture/ecriture de fichiers, wxformbuilder, tkinter, python basique sans bibliotheques,mobile andriod, jeux…) Idem pour le discord de ce que j’en ai vu (jetez un œil au discord de godot francophone qui n’est pas parfeit mais qui a plusieurs sous catégories dans la partie entre-aide)
  • Pourquoi pas aussi une catégorie sur les idées d’améliorations, les questions concernant le site (ou l’afpy en général)
    Je ne sais pas trop ou poster donc je poste ici mais si ca peu donner des idées…
    Au revoir.

5 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…

Probleme wxformbuilder, wxpython et print()

by Musclor13 from AFPy discuss

Bonjour.
J’ai pas l’habitude de poster sur des forums car en général y a tout ce qu’il faut sur internet mais la…
Je me suis amusé a créé une simple fenêtre et un bouton avec wxformbuilder que j’ai convertis ensuite en code wxpython. J’ai créé un 2eme script pour ouvrir la fenêtre que j’ai créé. Comme j’avais indiqué dans Event une class a OnButtonClic mon fichier wx généré contenais a la fin:

    # Virtual event handlers, override them in your derived class
    def clicsurlebouton( self, event ):
        event.Skip()

J’ai copié/collé dans mon fichier qui sert a ouvrir la fenêtre et j’ai mis un print() a la place du event.Skip().
Voici la totalité de mon code “a la main”

# -*- coding: utf-8 -*-
import wx
import wx.xrc

import genwx


app = wx.App()
genwx.Fenetre(None).Show()


def clicsurlebouton( self, event ):
    print("Clic sur bouton")
    return

print("avant MainLoop")

app.MainLoop()

print("apres MainLoop")

Quand je lance ce script la console affiche bien

avant MainLoop

mais plus rien ensuite et le bouton n’affiche rien…
Avez-vous une idée?
Je débute en wxpython mais j’aipas mal essayé des petits trucs avec l’IDLE et python en général.
J’ajoute que plus tard j’aimerais utiliser des scripts créés avant en remplaçant certaines variable par ce que l’utilisateur définis dans l’interface graphique puis en affichant le résultat dans la fenêtre et/ou dans print (ou en faisant l’action de lire ou d’écrire dans un fichier/variables par exemple)…
Bonne soirée.

12 messages - 2 participant(e)s

Lire le sujet en entier

Lire la suite…

SVP arrêtez d'utiliser Python pour vos logiciels en GUI.

by totof2000 from Linuxfr.org

Je n'irai pas jusque dire "arrêtez d'utiliser python" tout court mais je le pense fortement.

Je veux tester un outil appelé glogic.

Je l'installe via apt puis je tente de l'exécuter :

/usr/lib/python3/dist-packages/glogic/MainFrame.py:4: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '4.0') before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk, GdkPixbuf
Traceback (most recent call last):
File "/usr/bin/glogic", line 20, in
from glogic.MainFrame import MainFrame
File "/usr/lib/python3/dist-packages/glogic/MainFrame.py", line 18, in
themed_icons = Gtk.IconTheme.get_default()
AttributeError: type object 'IconTheme' has no attribute 'get_default'
totof@superbipbip:~$ glogic

Ca donne vraiment pas envie …

Alors oui on me dira certainement que c'est pas un problème python mais un problème GTK, qu'avec un autre langage ce serait la même chose mais je suis quasi certain que dans ce cas de figure le problème vient surtout de la façon dont Python gère ses dépendances.

Télécharger ce contenu au format EPUB

Commentaires : voir le flux Atom ouvrir dans le navigateur

Lire la suite…

Dernières nouvelles et fonctionnalités de Canaille

by Brunélie Lauret <brunelie@yaal.coop> from Yaal

Nos dernières nouvelles

L'année 2024 s'est terminée avec de nombreux nouveaux développements sur Canaille, financés par NLNet ! Vous pouvez en lire plus à ce sujet sur l'article de blog dédié à ces développements. Nous avons poursuivi ces développements, toujours grâce au même financement. Lisez la suite pour en savoir plus !

Audit de sécurité et correctifs

Un audit de sécurité a été conduit par Radically Open Security courant février, avec pour objectif la découverte de potentielles failles dans notre produit, et l'implémentation de correctifs avant la fin mars.

Amélioration de la sécurité de la réinitialisation du mot de passe

L'ajout de la variable de configuration de flask TRUSTED_HOSTS (documentation ici) évite à nos liens magiques d'inscription et de réinitialisation de mot de passe d'être falsifiés par des hôtes malveillants.

Nous avons également amélioré la façon dont ces liens sont générés pour les rendre plus sécurisés et leur implémenter une durée de validité définie.

Vulnérabilité de récupération de logo

Nous avons corrigé une vulnérabilité qui aurait pu théoriquement permettre la falsification de requêtes serveur (SSRF) au moment de récupérer le logo de l'application.

Meilleure validation d'URL

La validation de l'adresse de site internet d'utilisateur a été améliorée, elle est mainteant plus restrictive.

Implémentation de la Content Security Policy

Content Security Policy (CSP) a été implémentée dans Canaille via Flask-Talisman. CSP rend notre application plus robuste, notamment face aux attaques "cross-site scripting" (XSS).

Certification OIDC

Le processus de certification OpenID a été beaucoup plus complexe que prévu pour notre équipe. Nous avons fait de nombreux progrès et implémenté de nombreuses fonctionnalités liées à OpenID, dans le but d'obtenir la certification et d'en faire passer les tests automatisés. Dans ce cadre, nous avons contribué et soulevé des issues chez Authlib, pour un meilleur support de la spécification OpenID en amont.

Nous avons notamment :

  • Implémenté la spécification sur la validation d'URIs de redirection
  • Mis à jour nos modèles pour implémenter les attribus requis par OIDC.
  • Affiché les liens vers les conditions d'utilisation et les politiques de confidentialité lorsque le client demandant l'autorisation nous les fournit.
  • Affiché la plupart des erreurs de requête en format JSON.
  • Implémenté les réponses au format JSON Web Token lorsque le client le requiert.
  • Amélioré la gestion des JWT et des JWKS de Canaille.

Paquets : Image Docker

Canaille peut être testé plus facilement grâce à la création d'une image docker, hébergée sur un répertoire public. Les utilisateurs peuvent découvrir Canaille avec un profil administrateur.

La création de cette image docker a été rendue possible par la construction d'un paquet nix.

Audit d'accessibilité et améliorations

Canaille a bénéficié d'un audit d'accessibilité conduit par HAN accessibility lab. Les résultats ont souligné plusieurs problèmes de contrastes ainsi qu'un manque de différenciation entre les liens et le texte non interactif, et quelques soucis de navigation au clavier.

Améliorations d'accessibilité

  • La plupart des soucis de contraste ont été corrigés.
  • La plupart des soucis de différentiation des liens et des éléments interactifs ont été corrigés.
  • Un lien d'évitement a été ajouté en haut de chaque page.

Approvisionnement SCIM

Canaille fournissait déjà une implémentation de serveur SCIM depuis notre dernière mise à jour de sécurité. Maintenant, l'application dispose également des fonctionnalités de client SCIM, permettant à une instance Canaille de propager automatiquement les changements d'utilisateurs et de groupes aux applications client. Cette fonctionnalité devrait rendre plus simple le maintien de la synchronisation entre toutes les applications sans plus d'intervention utilisateur.


Merci de nous avoir lu ! Nous vous tiendrons au courant de nos prochaines avancées, et vous pouvez dès maintenant lire nos autres contributions au logiciel libre dans nos articles de contributions saisonnières.

Lire la suite…