Concours de programmation Kivy

Posté par (page perso) . Édité par Malicia, Nÿco et Xavier Claude. Modéré par tuiu pol.
10
24
déc.
2011
Python

Kivy, un projet open source pour le développement d’applications multi-plateformes, vous annonce son premier concours de programmation. Ce dernier démarrera avec la publication officielle des règles le 1er janvier 2012. Les participations seront acceptées jusqu’au 25 janvier et la date finale de dépôt du code source est fixée au 31 janvier.

Des tablettes Nvidia Tegra 2 sous Android de NotionInk, des abonnements bronze d’un an sur le site Github et des t-shirts composent les lots du concours.

Le but de ce concours est avant toute chose de promouvoir Kivy et de vous faire découvrir ce framework Python. Les applications Kivy tournent sur Linux, Windows, Mac OS X, Android (et iOS). Kivy supporte la plupart des protocoles d’entrée tels que WM_Touch, WM_Pen, Mac OS X Trackpad et la Magic Mouse mais aussi des écrans simple et multiples touches, Mtdev, Linux Kernel HID et TUIO. S’appuyant sur l’accélération matérielle, les développeurs peuvent concevoir les interfaces de demain.

Le concours est sponsorisé par NotionInk, une entreprise indienne fondée en 2009 qui conçoit des tablettes ainsi que d’autres produits informatiques, et par GitHub, un service web d'hébergement et de gestion de développement de logiciels.

Retrouvez le concours sur son site web dédié.

  • # Intéressant

    Posté par . Évalué à 3.

    Le projet a l'air intéressant.

    Mais en voyant un peu les widget proprosés, on sent que c'est plutôt très orienté périphérique tactile (téléphones, tablettes...). Il y a très peu de captures d'écran (aucune pour les treeView, onglets...) qui permettent de se faire une idée du rendu, pourtant indispensable. Et donc basculer mes apps PyGTK dessus c'est pas pour maintenant...

    • [^] # Re: Intéressant

      Posté par (page perso) . Évalué à 3.

      C'est un kit de développement ciblé tablettes, multitouch & Co.

      Un extrait de la page Philosophy de Kivy:

      Novel input methods such as Multi-Touch become increasingly important. We created Kivy from scratch, specifically for this kind of interaction.

      • [^] # Re: Intéressant

        Posté par (page perso) . Évalué à 1.

        Oui et non. Même si Kivy est pensé pour, il convient aussi à une utilisation de type "bureau" ou jeu.

    • [^] # Re: Intéressant

      Posté par (page perso) . Évalué à 2.

      Oui, on met en avant le coté tactile de Kivy, sans pour autant que le framework soit limité à cette utilisation. On a publié un papier sur la nouvelle approche de gestion des entrées : ton interfaces gère une entrée générique, et peut utiliser des paramètres complémentaires si existant.

      Une coordonnée x/y est générique, mais si tu trouves un profile de "size" dans ton événement, tu peux récupérer la largeur/hauteur: avec une souris, tu auras que la position. Avec un tracker caméra ou une tablette, tu peux aussi avoir la deuxième information.

      On pense que notre approche couvre énormément de cas d'utilisation, sans tout changer dans ton application. :)

  • # marche sur iOS aussi ?

    Posté par . Évalué à 1.

    Un très rapide coup d'oeil vite fait sur la doc indique que contrairement à ce que je croyait (je peux toujours me tromper), il s'agit d'un framework tout à fait standard et pas d'un framework web. Or, je vois dans la dépêche que iOS est supporté !!! Apple n'interdit plus les langages interprétés sur iOS ?

    • [^] # Re: marche sur iOS aussi ?

      Posté par (page perso) . Évalué à 2.

      La documentation ne mentionne pas iOS et le support d'Android semble expérimental:

      That said, we provide a “launcher” that allows you to push your Kivy application onto your phone and execute it through a simple interface. We’ll provide instructions for packaging your Kivy application in a standalone way in the future.
      
      

      http://devnewton.bci.im

    • [^] # Re: marche sur iOS aussi ?

      Posté par (page perso) . Évalué à 1.

      Il y a des applications qui utilise en arrière plan du lua ou python, donc je dirais que non il n'y a plus de soucis pour ca, mais je n'ai pas de référence.
      Il y a toujours la restriction que ton binaire ne peux lier des librairies externes, il faut que tout soit en un exécutable.

  • # Python ?

    Posté par . Évalué à 1.

    Je ne comprends pas pourquoi sous MacOSX il faut lancer les applications par la commande

     kivy main.py
    
    

    après avoir lancé un script "Make Symlinks" (cf http://kivy.org/docs/installation/installation-macosx.html#macosx-run-app)

    Pourquoi cela ne fonctionnerait pas tout simplement avec la commande suivante :

     python main.py
    
    

    Il n'y a pas moyen d'installer simplement kivy comme n'importe quelle lib python ? Qu'est-ce que ça signifie ? L'interpréteur python a été modifié ?

    • [^] # Re: Python ?

      Posté par (page perso) . Évalué à 1.

      Kivy utilise pas mal de libraries compilées comme gstreamer, pygame etc. Tout installer sur macosx est long et difficile, du coup, on a un environement dédié pour Kivy, qui étend le PYTHONPATH et PATH. Ca utilise toujours le python du système (2.6).

      Il y a eu un GSOC pour améliorer le support sous macosx, et ne pas utiliser gstreamer / pygame. C'est toujours en cours de développement :)

      • [^] # Re: Python ?

        Posté par . Évalué à 1.

        Merci pour ces explications.
        Comme j'utilise déjà pygame et que j'installe tout cela par Macport, j'aurais aimé trouver Kivy dans Macport, c'est une solution très agréable à utiliser et les mises à jour sont facilement accessibles et centralisées.

        Je vais voir si je peux pas me débrouiller avec les sources et me faire une install perso, je ne connais pas la syntaxe de macport pour faire un portfile avec les bonnes dépendances.

  • # Jargon de spécialistes

    Posté par (page perso) . Évalué à 4.

    J'ai toujours un peu de mal avec le jargon de spécialistes, genre :

    • WM_Touch : Windows Mobile Touch ?! (rien sur wikipedia, google donne pas grand chose...)
    • WM_Pen : idem
    • Magic Mouse : la sourie multi-touch de Apple, cf wikipedia : Magic Mouse
    • Mtdev : http://bitmath.org/code/mtdev/ - Multitouch Protocol Translation Library (un truc pour faire du multitouch sous linux, visiblement... intégré par défaut dans les distribs ?)
    • Linux Kernel HID : Les périphériques d'interface utilisateur sur USB ? Que donne une recherche google ?
    • TUIO : un protocole pour les interfaces utilisateur tangibles ? tangibles ? j'ai pas creusé ; deux ressources : http://www.tuio.org/ et http://tuio.lfsaw.de/

    J'avoue que ça m'agace de devoir chercher la signification des termes utilisés, des ressources pour comprendre le jargon de l'auteur. L'article ne doit pas forcément en expliquer plus sur les termes (on sait que WM_Touch est un protocole), mais un lien pour comprendre de quoi il s'agit est toujours le bienvenu.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.