Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#2176 Le 14/01/2012, à 16:22

grim7reaper

Re : /* Topic des codeurs [6] */

The Uploader a écrit :

yikes un "codec" vidéo (ou presque), nice! smile

C’est mon projet.
En fait, j’ai un camescope qui filme par exemple un mur où un gus fait des trucs avec un pointeur laser.
Ce camescope est connecté à une carte (le code posté précedemment est la conf’ du front-end vidéo de la carte) ce qui me permet de faire des traitement sur l’image filmé.
Ensuite, j’ai un rétroprojecteur qui est connecté à la sortie de la carte et qui balance « reste à définir ».
Mais par exemple, je peux afficher une sorte de GUI simpliste (je génère l’image dans la carte et je la balance sur la sortie) et le gugus intéragit avec en utilisant son pointeur laser (je repère ses actions grâce au camescope et j’agit en conséquence).

The Uploader a écrit :

Tu fais de l'entrelaçé ? Dur... hmm

Bah le camescope me balance du PAL entrelacé donc je fait avec hmm (mais justement, je désentrelace à la volée quand j’enregistre l’image en SDRAM donc après c’est bon je bosse sur une image « normale »).



sweetly a écrit :

chercher lascivement les fichiers

Tu es sûr du terme que tu emploies :] ?

Sinon, désolé mais je n’ai pas d’idée.

Hors ligne

#2177 Le 14/01/2012, à 17:13

sweetly

Re : /* Topic des codeurs [6] */

grim7reaper a écrit :
sweetly a écrit :

chercher lascivement les fichiers

Tu es sûr du terme que tu emploies :] ?

Sinon, désolé mais je n’ai pas d’idée.

Complètement smile

Hors ligne

#2178 Le 14/01/2012, à 17:38

tshirtman

Re : /* Topic des codeurs [6] */

grim7reaper a écrit :
The Uploader a écrit :

yikes un "codec" vidéo (ou presque), nice! smile

C’est mon projet.
En fait, j’ai un camescope qui filme par exemple un mur où un gus fait des trucs avec un pointeur laser.
Ce camescope est connecté à une carte (le code posté précedemment est la conf’ du front-end vidéo de la carte) ce qui me permet de faire des traitement sur l’image filmé.
Ensuite, j’ai un rétroprojecteur qui est connecté à la sortie de la carte et qui balance « reste à définir ».
Mais par exemple, je peux afficher une sorte de GUI simpliste (je génère l’image dans la carte et je la balance sur la sortie) et le gugus intéragit avec en utilisant son pointeur laser (je repère ses actions grâce au camescope et j’agit en conséquence).

The Uploader a écrit :

Tu fais de l'entrelaçé ? Dur... hmm

Bah le camescope me balance du PAL entrelacé donc je fait avec hmm (mais justement, je désentrelace à la volée quand j’enregistre l’image en SDRAM donc après c’est bon je bosse sur une image « normale »).



sweetly a écrit :

chercher lascivement les fichiers

Tu es sûr du terme que tu emploies :] ?

Sinon, désolé mais je n’ai pas d’idée.

Tu peux regarder du coté de movid pour pas mal de trucs, bon, ça risque de remplacer tout ton boulot en fait tongue

@arkseth: il me semble que ce que tu veux faire est un peu déjà dans policykit non? il te suffit peut être juste de faire des confs pour ça et de te binder dessus en python…

Hors ligne

#2179 Le 14/01/2012, à 17:52

grim7reaper

Re : /* Topic des codeurs [6] */

@tshirtman : hum, je ne suis pas sûr que ça réponde à mes besoins.
Et quand bien même, je ne pense pas pouvoir l’utiliser : si j’ai bien lu c’est un démon qui tourne, le truc c’est que ça me semble difficile à faire tourner sur ma carte (déjà, il me semble bien qu’il n’y a pas d’OS sur la carte donc ça limite tout de suite).

Hors ligne

#2180 Le 14/01/2012, à 20:00

Pylades

Re : /* Topic des codeurs [6] */

@ ArkSeth : je ne suis pas sûr que ça soit une bonne idée ; je trouve que c’est pédagogique de devoir taper le mot passe avant les tâches d’administration. Et comme en plus la méthode pour y arriver est plus que moche, je ne te conseille pas d’implémenter ça. tongue

Mais si vraiment tu veux le faire, cherche la doc de gksu : ils proposent peut-être un mécanisme de ce genre intégré à gksu.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2181 Le 14/01/2012, à 20:49

Elzen

Re : /* Topic des codeurs [6] */

@Πυλάδης : Ç'n'est pas nécessairement pour les actions d'administration tongue

Dans l'idée, ça peut servir à plein de trucs, du genre lancer des commandes sur un serveur distant rapidement. Et ces commandes qui peuvent elles-mêmes demander un mot de passe.

Genre sur mon serveur, il m'arrive de temps à autres d'uploader un fichier qui, pour une raison x ou y, n'a pas ses ACL bien pris en compte et se retrouve ne pas être lisible par www-data. Dans ce cas-là, faut que j'ouvre un terminal sur mon serveur et que je lance manuellement la commande pour remettre les droits. Mon terminal a un marque-page pour ça, mais ça irait quand même encore plus vite d'avoir juste à faire menu > compte ssh > remettre les droits.

En cas d'ordinateur multi-utilisateurs, ça permettrait aussi de lancer un truc en tant que quelqu'un d'autre, genre un navigateur ou un client mail, de manière encore plus simple que par le changement d'utilisateur (qui n'est pas forcément implémenté sur tous les login manager, d'ailleurs.)

En plus, j'suis d'accord que c'est pédagogique pour l'utilisateur débutant, mais Touhy n'a pas pour vocation à être pédagogique pour l'utilisateur débutant, il a pour vocation à être pratique pour l'utilisateur avancé. Si j'voulais faire pédagogique, y a plein de trucs que j'aurais fait différemment tongue


Et puis je n'demande qu'à faire un truc moins moche, hein ^^
C'est d'ailleurs comme ça que Touhy est né : un tas d'idées relativement saugrenues implémentées de façon moches pour tester ce qu'elles donnaient, puis vaguement proprées comme j'ai pu s'il en sortait une utilité quelconque.



@tshirtman : j'suis pas sûr que ce soit la même chose. Avec policy-kit, t'as un certain nombre d'actions système pour lesquelles ont dit si tel utilisateur a l'autorisation de le faire ou pas. Mais tu le fais en tant qu'utilisateur, c'est juste qu'on dit que tu n'as pas besoin de passer en root.

Mon idée, c'est plus de faire cohabiter plusieurs comptes (éventuellement distants. Surtout distants, en fait) au sein d'une même session.

Dernière modification par ArkSeth (Le 14/01/2012, à 20:51)

Hors ligne

#2182 Le 14/01/2012, à 22:30

tshirtman

Re : /* Topic des codeurs [6] */

Je sais que sous une session qui n'a pas les droits admin, l'ordi me demande mon mot de passe de la session admin, ça répond pas à ton besoin? enfin, si pas directement c'est probablement détournable… enfin, j'ai pas creusé, c'était une idée comme ça tongue

Hors ligne

#2183 Le 14/01/2012, à 22:36

Pylades

Re : /* Topic des codeurs [6] */

Pour ton histoire de SSH, je n’ai pas bien tout compris. Mais je maintiens que même pour l’utilisateur avancé, c’est pédagogique de devoir rentrer le mot de passe…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2184 Le 14/01/2012, à 23:47

Pylades

Re : /* Topic des codeurs [6] */

/me a trouvé la réponse pour les va_list :

ISO/IEC 9899:TC3, 7.15 Variable arguments <stdarg.h>, §3 a écrit :

[…]
The object ap may be passed as an argument to another function; if that function invokes the va_arg macro with parameter ap, the value of ap in the calling function is indeterminate and shall be passed to the va_end macro prior to any further reference to ap.221)

221) It is permitted to create a pointer to a va_list and pass that pointer to another function, in which case the original function may make further use of the original list after the other function returns.

Donc en fait, tout se passe très simplement et le man fait peur pour rien. ^^

Dernière modification par Πυλάδης (Le 14/01/2012, à 23:48)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2185 Le 15/01/2012, à 03:39

Pylades

Re : /* Topic des codeurs [6] */

/me vient d’écrire son premier goto dans du code sérieux.
Puis les a supprimés peu de temps après.

C’était dans une portion de code bien délicate, toujours aussi peu jolie et énorme après tant d’efforts…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2186 Le 15/01/2012, à 11:37

Pylades

Re : /* Topic des codeurs [6] */

Mais vous êtes tous morts, ou quoi ?

Les pythoneux, vous savez s’il existe un moyen de savoir les exceptions que lève urllib.urlretrieve ? Parce que la doc ne mentionne rien.

Bon, rien ne vaut l’expérience : IOError. Mais quand même. Ce n’est pas bien d’être obscur à ce point.

Dernière modification par Πυλάδης (Le 15/01/2012, à 12:03)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2187 Le 15/01/2012, à 12:11

HP

Re : /* Topic des codeurs [6] */

Πυλάδης a écrit :

Bon, rien ne vaut l’expérience […]. Mais quand même. Ce n’est pas bien d’être obscur à ce point.

Ouais… c'est, peut-être, pour ça que je quitte Python peu à peu…
La doc un peu approximative, d'une façon générale, commençant à me lasser.


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2188 Le 15/01/2012, à 12:44

The Uploader

Re : /* Topic des codeurs [6] */

Le prochain prof (si si) ou autre qui parle de "pisseur de code", j'lui fous cet article dans la face :
The best code is no code at all

Na ! mad
(en plus ce qui est décrit dans l'article est vraiment ce vers quoi je tends depuis pas mal de temps)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2189 Le 15/01/2012, à 14:59

tshirtman

Re : /* Topic des codeurs [6] */

Le problème c'est qu'on est de plus en plus considéré comme des ouvrier à la chaine, il va nous arriver la même chose qu'aux artisants du XIXeme siecle… "l'industrialisation" c'est bien pour certaines choses, mais j'aime pas ce mot dans la bouche de n'importe qui…

edit: python.org est dans les choux? oO

Dernière modification par tshirtman (Le 15/01/2012, à 15:04)

Hors ligne

#2190 Le 15/01/2012, à 15:01

The Uploader

Re : /* Topic des codeurs [6] */

Le cycle en V, ça vient pas de l'industrie, justement ?
ah si : http://fr.wikipedia.org/wiki/Cycle_de_d … C3.A9ratif

Et ça fait 40 ans que ça marche pas ou mal...

Dernière modification par The Uploader (Le 15/01/2012, à 15:02)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2191 Le 15/01/2012, à 15:03

HP

Re : /* Topic des codeurs [6] */

The Uploader a écrit :

Le cycle en V, ça vient pas de l'industrie, justement ?

Ouais… c'est certainement un des modèles les plus inadaptés à l'informatique, et spécialement au développement… mais bon.


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2192 Le 15/01/2012, à 15:08

tshirtman

Re : /* Topic des codeurs [6] */

http://paste.pound-python.org/show/16185/

le cycle en v vient bien de l'industrie, mais elle évolue, aujourd'hui, l'intégration continue, le déploiement en une commande/un clic, les tests, c'est de l'industrialisation aussi… (de la bonne, je pense).

@pylade: http://readthedocs.org/docs/python/en/v … rlretrieve pas assez d'info là?

Dernière modification par tshirtman (Le 15/01/2012, à 15:10)

Hors ligne

#2193 Le 15/01/2012, à 15:19

Pylades

Re : /* Topic des codeurs [6] */

Bah non, sinon je ne serais pas venu poser la question…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2194 Le 15/01/2012, à 15:24

tshirtman

Re : /* Topic des codeurs [6] */

Ben ils disent que c'est comme urlopen (qui produit IOError) et une autre: ContentTooShortError, apparement c'est tout…

Hors ligne

#2195 Le 15/01/2012, à 15:54

grim7reaper

Re : /* Topic des codeurs [6] */

Hello World!



Et hop, après le front-end voici le back-end :

/* void vpbe_init(void)
 * Initialize the Video Processing Back End (VPBE).
 */
static void vpbe_init(void)
{
    Uint32 video_buffer = DDR_BASE + (DDR_SIZE >> 1);
    /* PAL format. */
    Uint32 width  = 720;
    Uint32 height = 576;

    /* Enable VPBE/Video encoder clock.
     * Enable DAC (Digital-to-Analog Converter) clock.
     * Use MXI mode (both clock at 27 Mhz).
     */
    VPSS_CLK_CTRL = 0x00000018;

    /* Enable clock (i.e enable VPBE) and don't use clock divisor. */
    VPBE_PCR = 0;

    /* Disable both OSD (On-Screen Display) windows and cursor window. */
    VPBE_OSD_OSDWIN0MD = 0;
    VPBE_OSD_OSDWIN1MD = 0;
    VPBE_OSD_RECTCUR   = 0;

    /* Setup Window mode:
     * 0: - enable image display on Video window 1.
     *
     * 0: - no horizontal zoom.
     *    - use same coefficients for field 0 and 1 for the expansion filter.
     *
     * 3: - enable image display on Video window 0.
     *    - set Video window 0 display mode to frame mode.
     *    - no vertical zoom.
     */
    VPBE_OSD_VIDWINMD = 0x00000003;

    /* The number of burst transfers in a horizontal line is width / 16 because
     * we use YCbCr and a burst is 32 bits-width (Cf. page 183 of
     * TMS320DM643x DMP Video Processing Back End (VPBE) User's Guide).
     */
    VPBE_OSD_VIDWIN0OFST = width >> 4;

    /* Video window 0 SDRAM source address. */
    VPBE_OSD_VIDWIN0ADR = video_buffer;

    /* Base pixel (values from video_loopback_test.c). */
    VPBE_OSD_BASEPX = 132;
    VPBE_OSD_BASEPY = 22;

    /* Display Video window 0 at origin. */
    VPBE_OSD_VIDWIN0XP = 0;
    VPBE_OSD_VIDWIN0YP = 0;

    /* Size of the Video window 0.
     *
     * VIDWIN0YL is height / 2 because we are in frame mode, so the unit is in
     * lines/field (as we work with interlaced data, we have two fields).
     */
    VPBE_OSD_VIDWIN0XL = width;
    VPBE_OSD_VIDWIN0YL = height >> 1;

    /* Setup Miscellaneous Control:
     *    - disable Ping-pong buffer.
     *    - use address in VIDWIN0ADR.
     *    - disable Video window RGB mode.
     *    - disable attenuation.
     */
    VPBE_OSD_MISCCTL = 0;

    /* Setup VENC (Video Encoder):
     * 0: - 16-bit YCbCr output mode.
     *
     * 0: - SDTV (Standard-definition television) mode.
     *    - Interlace mode.
     *
     * 4: - NTSC/PAL timing.
     *    - Slave mode (don't generate the VSYNC/HSYNC signals).
     *    - PAL format.
     *
     * 3: - Enable the Video Encoder.
     *    - Output is Composite.
     */
    VPBE_VENC_VMOD = 0x00000043;

    /* Setup Video Processing:
     *     - no filter.
     *     - normal output (not colorbar).
     *     - no attenuation.
     *     - set DAC operating frequency to 27 Mhz.
     *     - disable up-sampling.
     */
    VPBE_VENC_VDPRO = 0;

    /* Manage power supply for DACs.
     * B: - DAC0 power-down mode
     *    - DAC1 power-down mode
     *    - DAC2 normal mode
     *    - DAC3 power-down mode
     */
    VPBE_VENC_DACTST = 0x0000B000;

    /* Setup all DACs in CVBS (Color Video Blanking Synchronisation,
     * i.e Composite Video) output mode.
     */
    VPBE_VENC_DACSEL = 0x00000000;
}

Hors ligne

#2196 Le 15/01/2012, à 17:02

HP

Re : /* Topic des codeurs [6] */

Report Period
    2011-10-23 01:32:29 to 2012-01-15 16:57:23
Age
    85 days, 31 active days (36.47%)
Total Files
    327
Total Lines of Code
    14380 (17411 added, 3031 removed)
Total Commits
    182 (average 5.9 commits per active day, 2.1 per all days)
Authors
    1 (average 182.0 commits per author)

Il reste encore du boulot… mais quand je vois qu'en définitive ça ne représente que 31 jours d'activité, je me dis que c'est entièrement normal smile.


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2197 Le 15/01/2012, à 17:10

Pylades

Re : /* Topic des codeurs [6] */

tshirtman a écrit :

Ben ils disent que c'est comme urlopen (qui produit IOError) et une autre: ContentTooShortError, apparement c'est tout…

Putain ! ><"

Faut croire que je suis aveugle (enfin, surtout que je devrais arrêter de lire en diagonale).


Merci. smile


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2198 Le 15/01/2012, à 17:30

tshirtman

Re : /* Topic des codeurs [6] */

Je t'avoue qu'une présentation un peu plus claire (notemment une section "Exceptions") serait pas mal.

Hors ligne

#2199 Le 15/01/2012, à 19:38

Elzen

Re : /* Topic des codeurs [6] */

Πυλάδης a écrit :

Pour ton histoire de SSH, je n’ai pas bien tout compris. Mais je maintiens que même pour l’utilisateur avancé, c’est pédagogique de devoir rentrer le mot de passe…

Bah quand tu ouvres un terminal SSH sur une autre machine, ou un terminal en tant qu'un autre utilisateur sur la machine courante, on n'te demande heureusement pas de taper ton mot de passe à chaque fois que tu lances une commande dans ce terminal.
Là le principe est le même, sauf qu'au lieu d'ouvrir un terminal, tu ouvres un menu. Ça te permet de lancer des actions graphiques sans avoir besoin de taper une commande.

Bon, en fait, en farfouillant un peu sur le net, j'n'ai toujours pas trouvé de doc sur python-vte, mais j'ai trouvé quelques exemples dans lequel on utilisait la fonction dont j'avais besoin, donc j'ai réussi à coder ça approximativement comme je veux (le fichier définissant le menu est toujours chez l'utilisateur de départ et pas chez l'utilisateur d'arrivée, mais ça aurait juste été super compliqué de faire autrement, en fait…)

Du coup, c'est codé, et comme je reconnais volontiers que l'idée n'est pas facile à expliquer comme ça, j'vous la refait avec des captures :

D'abord, je demande à me connecter à mon serveur depuis le menu. Si je n'ai pas de clef SSH, ça me demande mon mot de passe.

tem1.pngtem2.png

Ensuite, j'ai un menu qui s'ouvre, qui me permet de modifier des trucs sur mon serveur (genre ici, d'ouvrir mon éditeur de texte pour modifier mon flux RSS).

tem3.pngtem4.png

Si je veux, j'ai un terminal à ouvrir pour regarder ce qui se passe en gros dans les commandes lancées (juste pour regarder, la saisie de commandes est désactivée)

tem5.pngtem6.png

Et quand j'ai fini, je n'ai qu'à cliquer sur le bouton adéquat pour fermer la session distante.

tem7.png

C'est plus compréhensible comme ça ?

Hors ligne