Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 3616

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.&nbsp;Cr&eacute;ation et acc&egrave;s aux p&eacute;riph&eacute;riques vid&eacute;o</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="Guide pratique des webcams"><link rel="up" href="index.html" title="Guide pratique des webcams"><link rel="prev" href="ar01s02.html" title="2.&nbsp;Support du type de connexion"><link rel="next" href="ar01s04.html" title="4.&nbsp;Informations sp&eacute;cifiques par type de webcam"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.&nbsp;Cr&eacute;ation et acc&egrave;s aux p&eacute;riph&eacute;riques vid&eacute;o</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s02.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="ar01s04.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dev-intro"></a>3.&nbsp;Cr&eacute;ation et acc&egrave;s aux p&eacute;riph&eacute;riques vid&eacute;o</h2></div></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="devfsd"></a>3.1.&nbsp;Syst&egrave;me de p&eacute;riph&eacute;riques (Device Filesystem) </h3></div></div></div><p>
<a href="http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.html" target="_top">

Devfs</a>, ou 'device filesystem', est pr&eacute;sent en tant qu'option du noyau Linux depuis les derni&egrave;res version 2.2.

Si vous ne l'avez pas encore utilis&eacute;, &ccedil;a peut &ecirc;tre le moment de jeter un coup d'&#339;il dessus.

Il permet de simplifier &eacute;norm&eacute;ment la gestion des p&eacute;riph&eacute;riques.

Le d&eacute;mon devfsd ajoute et supprime dynamiquement les p&eacute;riph&eacute;riques de votre syst&egrave;me sans intervention n&eacute;cessaire de l'utilisateur.

Vous pouvez v&eacute;rifier que devfsd est lanc&eacute; en regardant s'il est pr&eacute;sent dans la liste des processus obtenue avec la commande <span><strong class="command">ps -A</strong></span>.

Le d&eacute;mon utilise tr&egrave;s peu de m&eacute;moire.

Si vous utilisez devfsd/devfs, vous pouvez probablement ignorer la section suivante &eacute;tant donn&eacute; que le proc&eacute;d&eacute; archa&iuml;que de cr&eacute;ation des n&#339;uds de p&eacute;riph&eacute;rique aura d&eacute;j&agrave; &eacute;t&eacute; effectu&eacute; pour vous, et il ne reste plus &agrave; ce moment-l&agrave; qu'&agrave; trouver les liens symboliques appropri&eacute;s dans <code class="filename">/dev</code>.
</p><p>
Si vous voulez tenter d'utiliser devfs, il faut que vous activiez le '/dev file system' et 'Automatically mount at boot' de la section	'File Systems' de la configuration du noyau.

Oui, il faut vraiment recompiler un noyau s'il n'y est pas d&eacute;j&agrave; pr&eacute;sent.

<span class="emphasis"><em>ATTENTION&nbsp;: </em></span>Le seul autre paquet dont vous aurez besoin est 'devfsd' qui est fournis avec votre distribution Linux.

<span class="emphasis"><em>ATTENTION&nbsp;: </em></span>Si vous activez le montage de devicefs lors du d&eacute;marrage sans installer le d&eacute;mon devfsd votre machine ne d&eacute;marra plus&thinsp;!</p><p>
Avec devfs, en revanche, vous devez toujours assigner les permissions d'acc&egrave;s correctes.</p><p>
Naturellement, les commentaires que j'ai pu faire au sujet de devfs n'engagent que moi, surtout si vous &ecirc;tes un nouveau linuxien et que vous ne vous sentez pas trop avoir les nerfs pour recompiler votre noyau.
</p><p>
A partir des version 2.6 du noyau, devfs est rendu obsol&egrave;te par l'apparition d'un d&eacute;mon ne faisant pas parti du noyau, le d&eacute;mon udev. devfs reste malgr&eacute; tout une option utilisable.

Si vous aimez vivre dangereusement, vous pourrez trouver plus d'informations sur udev sur le site&nbsp;:<a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ" target="_top">http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ</a></p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="dev-manual"></a>3.2.&nbsp;Cr&eacute;ation Manuelle de l'Acc&egrave;s &agrave; un P&eacute;riph&eacute;rique Vid&eacute;o</h3></div></div></div><p>
Si vous n'utilisez ni devfs et devfsd, ni libusb, ni udev, voici comment proc&eacute;der. Dans le cas contraire, passez &agrave; l'&eacute;tape suivante.

Un acc&egrave;s &agrave; un p&eacute;riph&eacute;rique peut &ecirc;tre cr&eacute;er comme un bloc (comme pour un disque), un fifo (premier arriv&eacute;, premier sorti) ou un p&eacute;riph&eacute;rique de caract&egrave;res repr&eacute;sentant le reste du mat&eacute;riel.

Chaque p&eacute;riph&eacute;rique est caract&eacute;ris&eacute; par un num&eacute;ro majeur et un num&eacute;ro mineur permettant au kernel de conna&icirc;tre sa nature et la fa&ccedil;on d'y acc&egrave;der.

Ces nombres ne sont pas arbitraires.</p><p>

Les n&#339;uds de p&eacute;riph&eacute;rique Video4linux utilis&eacute;s pour acc&eacute;der aux 
p&eacute;riph&eacute;riques vid&eacute;os (ce qui inclus les webcams) ont le num&eacute;ro majeur 81 
et un num&eacute;ro mineur 0, 1, 2, ... et ainsi de suite.

Pour commencer, v&eacute;rifiez le contenu de <code class="filename">/dev</code> pour 
conna&icirc;tre le nom utilis&eacute; par votre distribution pour d&eacute;signer le 
p&eacute;riph&eacute;rique vid&eacute;o.

Certaines distributions peuvent placer les p&eacute;riph&eacute;riques vid&eacute;o &agrave; la 
racine du dossier <code class="filename">/dev</code> comme par exemple 
<code class="filename">/dev/video0, /dev/video1</code>...etc.

D'autres distributions les placeront dans <code class="filename">/dev/v4l</code> 
ou dans le dossier <code class="filename">/dev/video</code>.

Si vous trouvez ces acc&egrave;s p&eacute;riph&eacute;rique d&eacute;j&agrave; pr&eacute;sents (parce qu'ils ont 
&eacute;t&eacute; cr&eacute;&eacute;s par votre distribution ou par devfsd), vous n'avez plus qu'&agrave; 
modifier les permissions d'acc&egrave;s &agrave; votre gr&eacute;.

Au cas contraire, il vous faudra cr&eacute;er ces n&#339;uds de p&eacute;riph&eacute;rique 
vous-m&ecirc;me.
	
Vous pouvez utiliser le script suivant que j'ai r&eacute;cup&eacute;r&eacute; &agrave; partir des 
sources du noyau (vous pourrez le retrouver ici&nbsp;: 
<code class="filename">linux/Documentation/video4linux/bttv/MAKEDEV</code>&nbsp;:

</p><pre class="screen">
#!/bin/bash

function makedev () {

    for dev in 0 1 2 3; do
      echo "/dev/$1$dev: char 81 $[ $2 + $dev ]"
      rm -f /dev/$1$dev
      mknod /dev/$1$dev c 81 $[ $2 + $dev ]
      chmod 666 /dev/$1$dev
    done
 
    # Lien symbolique pour le n&#339;ud par d&eacute;faut
    rm -f /dev/$1
    ln -s /dev/${1}0 /dev/$1
}

# consulter http://roadrunner.swansea.uk.linux.org/v4lapi.shtml

echo "*** Nouveau noms de p&eacute;riph&eacute;rique ***"
makedev video 0
makedev radio 64
makedev vtx 192
makedev vbi 224
# "*** anciens noms d'acc&egrave;s de p&eacute;riph&eacute;rique (pour la compatibilit&eacute;) ***"
#makedev bttv 0
#makedev bttv-fm 64
#makedev bttv-vbi 224
</pre><p>

Copiez et collez le script ci-dessus dans votre &eacute;diteur de texte 
favoris, enregistrez-le sous MAKEDEV ou un autre nom qui vous plaise, et 
rendez-le ex&eacute;cutable (<span><strong class="command">chmod u+x MAKEDEV</strong></span>).

Ensuite, ex&eacute;cutez-le en tant qu'utilisateur root&nbsp;:

</p><pre class="screen">
# ./MAKEDEV
</pre></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="permissions"></a>3.3.&nbsp;Groupes and droits</h3></div></div></div><p>

Il vaut mieux g&eacute;n&eacute;ralement v&eacute;rifier que votre compte utilisateur a des 
droit d'acc&egrave;s aux p&eacute;riph&eacute;riques suffisants une fois que tous les modules 
sont charg&eacute;s et les acc&egrave;s aux p&eacute;riph&eacute;riques cr&eacute;&eacute;s.

Pour am&eacute;liorer la s&eacute;curit&eacute;, je vous conseille de cr&eacute;er un 
groupe particulier ayant acc&egrave;s &agrave; ces p&eacute;riph&eacute;riques.

Sur ma machine par exemple, seuls les membres du groupe 'video' ont le 
droit d'utiliser la webcam, le scanner ainsi que tous les autres 
p&eacute;riph&eacute;riques similaires.

Voici ce que je vous conseille pour modifier les droits d'acc&egrave;s aux 
p&eacute;riph&eacute;riques du dossier <code class="filename">/dev</code>&nbsp;:

</p><pre class="screen">
# chown root.video /dev/usb/video1*
</pre><p>

...o&ugrave; <span><strong class="command">root.video</strong></span> sont respectivement le nouvel 
utilisateur et le nouveau groupe ayant l'acc&egrave;s au p&eacute;riph&eacute;rique.

Bien entendu, la commande exacte variera suivant votre syst&egrave;me et le 
type d'acc&egrave;s aux p&eacute;riph&eacute;riques.

Il est important de changer les droits d'acc&egrave;s sur le n&#339;ud du 
p&eacute;riph&eacute;rique et non sur les liens symboliques. Les droits sur les liens 
symboliques ne sont pas modifi&eacute;s que par un changement de l'acc&egrave;s au 
p&eacute;riph&eacute;rique parent ou au fichier vers lesquels ils pointent.

</p><p>

Pour savoir si votre compte fait parti du groupe en question, en tant 
que root utilisez la commande suivante&nbsp;:
	
<span><strong class="command">grep -e video /etc/group</strong></span>. 

Vous devriez voir appara&icirc;tre quelque chose comme&nbsp;:

</p><pre class="screen">
video:x:44:
</pre><p>

...o&ugrave; &laquo;&nbsp;<span class="quote">44</span>&nbsp;&raquo; est le num&eacute;ro correspondant au groupe video.

Dans notre cas, aucun utilisateur fait parti du groupe video (dans le cas contraire ils 
seraient mentionn&eacute;s apr&egrave;s la derni&egrave;re colonne). Pour ajouter l'utilisateur 
&laquo;&nbsp;<span class="quote">jhs</span>&nbsp;&raquo; au groupe &laquo;&nbsp;<span class="quote">video</span>&nbsp;&raquo;, la commande
sera&nbsp;:

</p><pre class="screen">
# adduser jhs video
</pre><p>
Ensuite, il suffit d'ajouter les droits en lecture et en &eacute;criture&nbsp;:
</p><pre class="screen">
# chmod g+rw /dev/v4l/video0
</pre><p>

...o&ugrave; <span><strong class="command">g+rw</strong></span> signifie ajouter le droit en lecture 
(<span><strong class="command">r</strong></span>) et le droit en &eacute;criture (<span><strong class="command">w</strong></span>) 
pour le <span><strong class="command">g</strong></span>roup.

Consultez la documentation de chmod (<span><strong class="command">man chmod</strong></span> ou 
<span><strong class="command">info chmod</strong></span>) pour plus d'information.

</p></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s02.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ar01s04.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">2.&nbsp;Support du type de connexion&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%">&nbsp;4.&nbsp;Informations sp&eacute;cifiques par type de webcam</td></tr></table></div></body></html>