<span xml:lang="en">The HTTP interface</span> <span xml:lang="fr">L'interface de contrôle HTTP</span> <span xml:lang="de">Die HTTP-Oberfläche</span> <span xml:lang="en">Introduction</span> <span xml:lang="fr">Introduction</span> <span xml:lang="de">Einführung</span> This page is incomplete Ce page n'est pas complet Diese Seite ist nicht komplett . <span xml:lang="en">Presentation</span> <span xml:lang="fr">Présentation</span> <span xml:lang="de">Präsentation</span> VLC ships with a little HTTP server integrated. It is used both to stream using HTTP, and for the HTTP remote control interface VLC inclut un petit serveur HTTP, qui lui permet de diffuser en HTTP, mais également de proposer une interface de contrôle à distance utilisant HTTP VLC enthält einen kleinen HTTP-Server. Er kann zum Streamen über HTTP und für die HTTP-Fernsteuerungsoberfläche benutzt werden . To start VLC with the HTTP interface, use Pour démarrer VLC avec l'interface HTTP, faites Um VLC mit der HTTP-Oberfläche zu starten, machen Sie folgendes : % vlc -I http (--http-src /directory/ --http-host host:port) The HTTP interface will start listening at host:port (localhost:8080 if omitted), and will reproduce the structure of /directory at http://host:port/ ( vlc_source_path/share/http if omitted ) L'interface HTTP se mettra en écoute sur host:port (localhost:8080 par défaut), et reproduira la structure de /directory sur http://host:port/ ( rép_source_vlc/share/http par défaut) Das HTTP-Interface wird anfangen, unter host:port (standardmäßig localhost:8080) nach Anfragen zu hören und die Struktur von /directory unter http://host:port/ reproduzieren (standardmäßig vlc_quell_pfad/share/http) . VLC is shipped with a set of files that should be enough for generic needs. The rest of this chapter will cover the ways to customize these pages VLC est fourni avec un certain nombre de fichiers qui devraient suffire pour des besoins génériques. La suite de ce chapitre explique comment personnaliser ces pages VLC wird mit einer Reihe von Dateien ausgeliefert, die für übliche Zwecke ausreichend sein sollten. Der Rest dieses Kapitels wird die Wege aufzeigen, diese Seiten dem persönlichen Bedarf anzupassen . Some files are handled a bit specially Certains fichiers sont traités spécialement Einige Dateien müssen besonders behandelt werden : Files beginning with '.' are not exported Les fichiers commençant par '.' ne sont pas exportés Datei, die mit "." beginnen, werden nicht exportiert . A '.access' file will be opened and the http interface will expect to find at the first line a login/password (written as login:password). This login/password will be used to protect all files in this directory. Be careful that only files in this directory will be protected. (sub-directories won't be protected.) Le fichier '.access' sera ouvert. L'interface HTTP va chercher dans la première ligne un login/mot de passe (écrit sous la forme login:mot_de_passe). Ce couple sera utilisé pour protéger tous les fichiers de ce répertoire. Attention: seuls les fichiers du répertoire seront protégés (les fichiers des sous-répertoires ne le seront pas.). Eine '.access'-Datei wird geöffnet werden und die HTTP-Oberfläche wird in der ersten Zeile einen Loginnamen/Passwort (geschrieben als Loginname:Passwort) erwarten. Dieser Loginname/Passwort werden zum Schutz aller Dateien in diesem Verzeichnis benutzt. Bitte beachten Sie, dass nur Dateien in diesem Verzeichnis geschützt werden. (Unterverzeichnisse werden nicht geschützt.) The file <dir>/index.html will be exported ad <dir> and <dir>/ and not as index.html Le fichier <rép> sera exporté en tant que <rep> et <rep>/ mais pas en tant que index.html Die Datei <dir>/index.html wird als <Verzeichnis> und <Verzeichnis>/ exportiert, aber nicht als index.html . The MIME type is set by looking at the file extension and cannot be specified nor modified for a specifi file. Unknown extensions will have "application/octet-stream" as MIME type Le type MIME est choisi selon l'extension du fichier et ne peut pas être forcé ou modifié pour un fichier particulier. Les fichiers d'extension inconnue seront servis avec le type MIME "application/octet-stream" Der MIME-Typ wird durch einen Blick an die Dateiendung festgelegt und kann durch eine Einstellungsdatei weder angegeben noch verändert werden. Unbekannte Endungen haben "application/octet-stream" als MIME-Typ . You should avoid exporting big files. Each file is indeed first loaded into the memory before being sent to the client, so please be careful. Essayez d'éviter l'export de gros fichiers. En effet, chaque page est tout d'abord chargée en mémoire avant l'envoi, donc soyez prudents... Sie sollten den Export von großen Dateien vermeiden. Jede Datei wird erst in den Speicher geladen, bevor sie an den Client gesendet wird. Seien Sie also vorsichtig. <span xml:lang="en">VLC macros</span> <span xml:lang="fr">Macros VLC</span> <span xml:lang="de">VLC-Makros</span> Each type a .html/.htm page is requested, it is parsed by VLC before being sent. The parser searchs for the VLC macros, and executes or substitutes them. Moreover, URL arguments received by the GET method can be interpreted Tous les fichiers .html/.htm sont lus par VLC avant d'être envoyés. Les macros VLC sont alors exécutées ou substituées. De plus, les arguments de l'URL, obtenus par un GET, peuvent être interprétés Jede angeforderte .html/.htm - Seite wird von VLC geparst, bevor sie gesendet wird. Der Parser sucht nach VLC-Makros und führt sie aus oder ersetzt sie. Desweiteren können von der GET-Methode empfangene Argumente ausgeführt werden . A VLC macro looks like : <vlc id="macro-name" param1="macro-parameters1" param2="macro-parameters2" />. Une macro VLC est de la forme : <vlc id="nom" param1="parametre1" param2="parametre2" /> . Ein VLC-Makro sieht folgendermaßen aus: <vlc id="Makro-Name" param1="Macro-Parameter1" param2="Makro-Parameters2" />. "id" is the only mandatory field, param1 and param2 may or may not be present and depend on the value of "id". Seul le champ "id" est obligatoire, param1 et param2 peuvent ne pas être présent selon la valeur de "id". "id" ist das einzige zwingend erforderliche Feld, param1 und param2 können präsent sein oder nicht und sind angewiesen auf "id". You should take care that you _have to_ respect this syntax, VLC won't like invalid syntax. (It could easily leads to crashs) Veuillez faire attention de bien respecter cette syntaxe, car VLC n'aime pas les syntaxes invalides. (Il pourrait crasher facilement) Sie sollten darauf achten, dass Sie diese Syntax respektieren müssen, da VLC keine ungültige Syntax mag (diese könnte leicht zu Abstürzen führen) . Examples Exemples Beispiele : Correct: <vlc id="value" param1="version" /> Correct :<vlc id="value" param1="version" /> Korrekt: <vlc id="value" param1="version" /> Incorrect: <vlc id="value" param1="version" > (missing tag ending), <vlc id=value param1="version" /> (missing "" ) Incorrect :<vlc id="value" param1="version" > (mauvaise fin de tag), <vlc id=value param1="version" /> ("" manquants) Inkorrekt: <vlc id="value" param1="version" > (fehlendes Tag-Ende), <vlc id=value param1="version" /> (fehlende "" ) Valid macros are: Les macros valides sont : Gültige Makros sind: control (1 optional parameter) control (1 paramètre facultatif) control (1 optionaler Parameter) get (2 parameters) get (2 paramètres) get (2 Parameter) set (2 parameters) set (2 paramètres) set (2 Parameter) rpn (1 parameter) rpn (1 paramètre) rpn (1 Parameter) if (1 optional parameter) if (1 paramètre facultatif) if (1 optionaler Parameter) else (no parameter) else (pas de paramètre) else (ohne Parameter) end (no parameter) end (pas de paramètre) end (ohne Parameter) value (1 optional parameter) value (1 paramètre facultatif) value (1 optionaler Parameter) foreach (2 parameters) foreach (2 paramètres) foreach (2 Parameter) For powerful macros, you may use these tools Pour des utilisations avancées, ces outils sont à votre disposition Für fortgeschrittene Makros können Sie diese Werkzeuge benutzen : RPN Evaluator (see part 2) Evaluateur RPN (voir la partie 2) RPN-Bewerter (siehe Teil 2) Stacks: The stack is a place where you can push numbers and strings, and then pop them backs. It's used with the little RPN evaluator. Piles: La pile est un endroit dans lequel vous pouvez mettre des nombres et des chaînes de caractère et les récupérer. Elle est utilisée en conjonction de l'évaluateur RPN. Stapel: Der Stapel ist ein Platz, an den Sie Nummern und Zeichenketten schieben und von dort zurückholen können. Er wird mit dem RPN-Bewerter benutzt. Local variables: You can dynamically create new variables and changes their values. Some local variables are predefined: Variables locales: Vous pouvez créer dynamiquement de nouvelles variables et modifier leurs valeurs. Un certain nombre de variables locales sont prédéfinies : Lokale Variablen: Sie können dynamische neue Variablen erzeugen und deren Werte ändern. Einige lokale Variablen sind vordefiniert: url_value : parameter of the URL  : paramètre de l'URL : Parameter der URL url_param : 1 if url_value isn't empty else 0  : 1 si url_value n'est pas vide, 0 sinon : 1 wenn url_value nicht leer ist, sonst 0 version : the VLC version  : la version de VLC : die VLC-Version copyright : the VLC copyright  : Copyright de VLC : das VLC-Copyright Remark : The stacks, and local variables context is resetted before the page is executed Remarque: les piles et les variables locales sont remises à zéro avant l'exécution de la page Anmerkung: Die Stapel und die lokalen Variablen werden vor der Ausführung der Seite zurückgesetzt . <span xml:lang="en">The RPN evaluator</span> <span xml:lang="fr">L'évaluateur RPN</span> <span xml:lang="de">Der RPN-Bewerter</span> RPN means Reverse Polish Notation RPN signifie Notation Polonaise Inversée (Reverse Polish Notation) RPN bedeutet Umgekehrte Polonaisennotation (Reverse Polish Notation) <span xml:lang="en">Introduction</span> <span xml:lang="fr">Introduction</span> <span xml:lang="de">Einführung</span> RPN could look strange but it's a fast and easy way to write expressions. It also avoids the use of ( and ). RPN peut sembler assez étrange au premier abord, mais c'est en fait un moyen simple et rapide d'écrire des expressions. Il permet également d'éviter l'utilisation des parenthèses. RPN kann merkwürdig aussehen, aber es ist ein einfacher und schneller Weg, Ausdrücke zu schreiben. Es vermeidet außerdem die Benutzung von ( und ). Instead of writing ( 1 + 2 ) * 5 you just use 1 2 + 5 *. Au lieu d'écrire ( 1 + 2 ) * 5, vous devrez écrire 1 2 + 5 *. Anstatt ( 1 + 2 ) * 5 können Sie einfach 1 2 + 5 * schreiben. The idea beyond it is : if we have a number or a string (using ''), push it on the stack. If it is an operator (like +), pop the arguments from the stack, execute the operators and then push the result onto the stack. The result of the RPN sequence is the value on the top of the stack L'idée derrière cela est : si on a un nombre ou une chaine de caractères, on l'empile. Si on a un opérateur (tel que +), on prend les arguments sur la pile, on exécute l'opérateur, et on remet le résultat sur la pile. Le résultat du calcul RPN est la valeur sur le sommet de la pile Die Idee dahinter ist: Wenn man eine Nummer oder eine Zeichenkette hat, legt man sie auf den Stapel. Wenn man einen Operator (wie +) hat, nimmt man die Argumente vom Stapel, führt die Operatoren aus legt das Ergebnis wieder auf den Stapel. Das Ergebnis der RPN-Sequenu ist der oberste Wert des Stapels . stack: Word processed empty 1 1 is pushed on the stack 1 2 2 same things 1 | 2 + + : remove 1 and 2 and write 3 on the stack 3 5 5 is pushed on the stack 3 | 5 * * : remove 3 and 5 and write 15 15 <- result <span xml:lang="en">Operators</span> <span xml:lang="fr">Les opérateurs</span> <span xml:lang="de">Die Operatoren</span> Notation : ST(1) means the first stack element, ST(2) the second one ... and op the operator. Notation : ST(1) signifie le premier élément de la pile, ST(2) le second, ... et op l'opérateur. Notation: ST(1) meint das erste Stapelelement, ST(2) das zweite, usw. und op den Operator You have access to Vous avez accès à Sie haben Zugriff auf : Standard arithmetics operators: +, -, *, /, % : these ones push the result of ST(1) op ST(2) to the stack Les opérateurs arithmétiques standards: +, -, *, /, % : ils mettent le résultat de ST(1) op ST(2) sur la pile Die artithmetrischen Standardoperatoren: +, -, /, %: Diese legen das Ergebnis von ST(1) op ST(2) auf den Stapel Binary operators: ! (push !ST(1)); ^, &, | : push the result ST(1) op ST(2) Opérateur binaires: ! (place !ST(1)); ^, &, | : place le résultat de ST(1) op ST(2) Die binären Operatoren: ! (bearbeitet !ST(1)); ^, &, | : legen das Ergebnis von ST(1) op ST(2) ab test: =, <, <=, >, >= : execute ST(1) op ST(2) and push -1 if true else 0 tests: =, <, <=, >, >= : exécute ST(1) op ST(2), place -1 si vrai, 0 sinon Tests: =, <, <=, >, >= : führen ST(1) op ST(2) aus und legen -1 ab, wenn das Ergebnis wahr oder 0 wenn nicht string: strcat pushes the result of 'ST(1)ST(2)', strcmp compares ST(1) and ST(2), pushes -1 if ST(1)<ST(2), 0 if equal, 1 else, strlen pushes the length of ST(1). chaines de caractères: strcat place le résultat de 'ST(1)ST(2)', strcmp compare ST(1) et ST(2), place -1 si ST(1)<ST(2), 0 en cas d'égalité et 1 sinon, strlen place la taille de ST(1). Zeichenketten: strcat legt das Ergebnis von 'ST(1)ST(2)' ab, strcmp vergleicht ST(1) und ST(2) und legt -1 ab, wenn ST(1)<ST(2), 0 wenn sie gleich sind und 1, wenn nicht. strlen legt die Länge von ST(1) ab. stack manipulation: dup duplicates ST(1), drop removes ST(1), swap exchanges ST(1) and ST(2), and flush empties the stack. manipulation de la pile: dup duplique ST(1), drop enlève ST(1) de la pile, swap échange ST(1) et ST(2), et flush vide la pile. Manipulation des Stapels: dup verdoppelt ST(1), drop entfernt ST(1), swap vertauscht ST(1) und ST(2) und flush leert den Stapel. variables manipulation: store stores ST(2) in a local variable named ST(1), value pushes the value of the local variable named ST(1), url_extract pushes the value of the ST(1) part of the url parameters. manipulation de variables: store stocke ST(2) dans une variable locale dont le nom est la valeur de ST(1), values place la valeur de la variable dont le nom est ST(1), et url_extract place la valeur de la partie contenue de ST(1) des paramètres d'URL Manipulation von Variablen: store speichert ST(2) in einer lokalen Variable namens ST(1), value legt den Wert der Variablen namens ST(1) ab und url_extract legt den Wert des ST(1)-Teils der URL-Parameter ab. <span xml:lang="en">The macros</span> <span xml:lang="fr">Les macros</span> <span xml:lang="de">Die Makros</span> <span xml:lang="en">The <emphasis>control</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>control</emphasis></span> <span xml:lang="de">Das <emphasis>control</emphasis>-Makro</span> When asking for a page, you can pass arguments to it through the url. (eg using a <form>). Ex: http://host:port/page.html?var=value&var2=value2&... The "control" macro tells a page to parse these arguments and to execute the ones that are allowed. param1 of this macro says which commands are allowed. If empty, all commands will be permitted. Lors de la requête d'une page, vous pouvez lui passer des arguments à travers l'URL. (par exemple, en utilisant un <form>). Exemple: http://host:port/page.html?var=value&var2=value2&... La macro "control" dit à la page de lire ces arguments, et d'exécuter les commandes autorisées qu'ils contiennent. Le param1 contient la liste des commandes autorisées. S'il est vide, toutes les commandes sont autorisées. Wenn Sie eine Seite abrufen, können Sie dieser Argumente durch die URL geben. Beispielsweise: http://host:port/page.html?var=value&var2=value2&... Das "control"-Makro gibt einer Seite Bescheid, diese Argumente zu parsen und die erlaubten auszuführen. param1 dieses Makros sagt aus, welche Befehle erlaubt sind. Wenn es leer ist, sind alle Befehle erlaubt. Some commands require an argument that must be passed in the URL too Certaines commandes requièrent des arguments qui doivent être passés dans l'URL Einige Befehle benötigen ein Argument, welches auch über die URL mitgegeben werden muss . <span xml:lang="en">URL commands</span> <span xml:lang="fr">Commandes d'URL</span> <span xml:lang="de">Die URL-Befehle</span> Name Argument Description Description Beschreibung play item (integer) item (integer) Objekt (Ganzzahl) Play the specified playlist item Play the specified playlist item Gibt das angegebene Wiedergabelistenobjekt wieder stop Stop Stop Stopp pause Pause next Go to next playlist item Go to next playlist item Zum nächsten Wiedergabelistenobjekt gehen previous Go to previous playlist item Go to previous playlist item Zum vorherigen Wiedergabelistenobjekt gehen add mrl (string) mrl (string) mrl (Zeichenkette) Add a MRL (Media Resource Locator) to the playlist Add a MRL (Media Resource Locator) to the playlist Fügt eine MRL (Media Resource Locator) der Wiedergabeliste hinzu delete item (integer) item (integer) Objekt (Ganzzahl) Delete the specified playlist item or list of playlist items Delete the specified playlist item or list of playlist items Löscht das angegebene Wiedergabelistenobjekt oder die angegebene Liste empty Empty the playlist Empty the playlist Leert die Wiedergabeliste close id (hexa) id (hexa) ID (hexadezimal) Close a specific connection Close a specific connection Schließt die angegebene Verbindung shutdown Quit VLC Quit VLC VLC beenden
For example, you can restrict execution of the shutdown command to protected page (through a .access file), using the control macro in all unprotected pages. Vous pouvez par exemple restreindre l'exécution de la commande shutdown à une page protégée (par un fichier .access) en utilisant la macro control dans toutes les pages non protégées. Beispielsweise können Sie die Ausführung des shutdown-Befehls auf geschützte Seiten (durch eine .access-Datei) beschränken, in dem Sie das control-Makro in allen ungeschützten Seiten benutzen.
<span xml:lang="en">The <emphasis>get</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>get</emphasis></span> <span xml:lang="de">Das <emphasis>get</emphasis>-Makro</span> This macro will be replaced by the value of the configuration variable which name is stored in param1 and which type is given by param2. Cette macro sera remplacée par la variable de configuration dont le nom est donné en param1 et dont le type es donné en param2. Dies Makro wird durch den Wert der Einstellungsvariablen ersetzt, die param1 gespeichert ist und deren Typ durch param2 bestimmt wird. param1 must be the name of an existing configuration variable. param2 must be the right type of the variable. It can be one of int, float, or string. param1 doit être le nom d'une variable de configuration existente, et param2 doit Ãtre son type, qui peut être int, float, ou string. param1 muss der Name einer existierenden Einstellungsvariablen sein. param2 muss der richtige Typ der Variablen sein. Dies kann einer der folgenden sein: int (Ganzzahl), float (Fließkommazahl) oder string (Zeichenkette). Example: <vlc id="get" param1="sout" param2="string" /> will be replaced in the output page by the value of sout. Exemple: lt;vlc id="get" param1="sout" param2="string" /> sera remplacée dans la page de sortie par la valeur de sout. Beispiel: <vlc id="get" param1="sout" param2="string" /> wird in der ausgegebenen Seite durch den Wert von sout ersetzt. <span xml:lang="en">The <emphasis>set</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>set</emphasis></span> <span xml:lang="de">Das <emphasis>set</emphasis>-Makro</span> This macro allows to set the value of a configuration variable. The name is given by param1 and the type by param2 (like for get). The value is retrieved from the url using the name given in param1. Cette macro permet de rÃgler la valeur d'une variable de configuration. Le nom est donnépar param1 et le type par param2, comme pour get. La valeur est recopiÃe depuis l'URL en utilisant le nom donnéen param1. Dieses Makro erlaubt Ihnen den Wert einer Konfigurationsvariablen einzustellen. Der Name wird über param1 und der Typ param2 gesteuert (wie bei get). Der Wert wird der URL, über den in param1 angegebenen Namen, entnommen. For example, if player.html contains <vlc id="set" param1="sout" param2="string" />, and if you browse at http://host:ip/player.html?sout=sout_value, the sout variable will be set to "sout_value". If the URL doesn't contain sout, nothing will be done. Par exemple, si player.html contient <vlc id="set" param1="sout" param2="string" /> et si vous allez à l'adresse http://host:ip/pl ayer.html?sout=sout_value, la variable sout prendra comme valeur sout_value. Si l'URL ne contient pas sout, rien ne se passera. Zum Beispiel: Wenn player.html <vlc id="set" param1="sout" param2="string" /> enthält und die URL http://host:ip/player.html?sout=sout_value ist, wird die sout-Variable den Wert "sout_value" erhalten. Wenn die URL nicht sout enthält, wird nichts geschehen. <span xml:lang="en">The <emphasis>rpn</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>rpn</emphasis></span> <span xml:lang="de">Das <emphasis>rpn</emphasis>-Makro</span> This macro allows you to interpret RPN commands. (See II). Cette macro vous permet d'interpréter des commandes RPN (voir II). Dieses Makro erlaubt Ihnen RPN-Befehle (siehe II) auszuwerten. <span xml:lang="en">The <emphasis>if,else,end</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>if,else,end</emphasis></span> <span xml:lang="de">Das Makro <emphasis>if,else,end</emphasis></span> This macro allows you to control the parsing of the HTML page. Cette macro vous permet de controler la lecture de la page HTML. Dieses Makro erlaubt Ihnen das Parsen der HTML-Seite zu kontrollieren. If param1 isn't empty, it is first executed with the RPN evaluator. If the first element from the stack is not 0, the test value is true, else false. Si param1 n'est pas vide, il est exécuté par l'évaluateur RPN. Si le premier élément de la pile n'est pas nul, la valeur du test est vraie, sinon, elle est fausse Wenn param1 nicht leer ist, wird es mit dem RPN-Bewerter ausgeführt. Wenn das erste Element auf dem Stapel nicht 0 ist, ist der Testwert wahr, sonst unwahr . <vlc id="if" param1="1 2 =" /> <!-- Never reached --> <vlc id="else" /> <p> Test succeed: 1 isn't equal to 2 </p> <vlc id="end" /> <vlc id="if" param1="1 2 =" /> <!-- Jamais atteint --> <vlc id="else" /> <p> Le test à réussi: 1 n'est pas égal à 2 </p> <vlc id="end" /> <vlc id="if" param1="1 2 =" /> <!-- Nicht erreicht --> <vlc id="else" /> <p> Test erfolgreich: 1 ist nicht gleich mit 2 </p> <vlc id="end" /> You can also just use "if" and "end" Vous pouvez aussi utiliser "if" et "end" seulement Sie können auch einfach "if" und "end" benutzen . <span xml:lang="en">The <emphasis>value</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>value</emphasis></span> <span xml:lang="de">Das <emphasis>value</emphasis>-Makro</span> If param1 isn't empty, it is first executed with the RPN evaluator. The macro is replaced with the value of the first element of the stack. Si param1 n'est pas vide, il est exécuté par l'évaluateur RPN. La macro est ensuite remplacée par la valeur du premier élément de la pile. Wenn param1 nicht leer ist, wird es über den RPN-Bewerter ausgeführt. Das Makro ersetzt den Wert des ersten Elements des Stapels. Note: If the element is the name of a local variable, its value will be displayed instead of its name. Si l'élément est le nom d'une variable locale, la valeur sera affichée et non le nom Beachten Sie: Wenn das Element der Name einer lokalen Variable ist, wird deren Wert und nicht ihr Name angezeigt. <span xml:lang="en">The <emphasis>foreach,end</emphasis> macro</span> <span xml:lang="fr">La macro <emphasis>foreach,end</emphasis></span> <span xml:lang="de">Das <emphasis>foreach,end</emphasis> Makro</span> param1 is the name of the variable that will be used for the loop. param2 is the name of the set to be built: param1 est le nom de la variable utilisée pour la boucle, param2 est le nom de la plage de valeurs à utiliser : param1 ist der Name der Variable, die für die Schleife benutzt wird. param2 ist der Name der Variable, deren Werte benutzt werden: integer: take the first element from the stack to construct a set of integer. The stack element should be a string like: first:last[:step][,first2:last2[:step2][,...] (Ex: 1:5:2,6:8:1 will be expanded into 1,3,5,6,7,8) integer : prend le premier élément de la pile pour construire une plage d'entiers. L'élément doit etre une chaine de caractères du type: premier:dernier[:pas][,premier2:dernier2[:pas2]][,...] (Exemple: 1:5:2 ,6:8:1 deviendra 1,3,5,6,7,8) integer: nimmt das erste Element des Stapels um ein Set von Ganzzahlen zu erzeugen. Das Stapelelement sollte folgendermaßen aussehen: erste:letzte[:Schritt][,erste2:letzte2[:Schritt2][,...] (Beispiel: 1:5:2,6:8:1 wird zu 1,3,5,6,7,8) directory: take the first element of the stack as the base directory and construct a set of filename and directly in it. Each element has the following fields: directory : prend le premier élément de la pile comme répertoire et construit un ensemble de noms de fichiers contenus dans ce répertoire. Chaque élément comporte les champs suivants: directory: nimmt das erste Element des Stapels als Ausgangsverzeichnis und erzeugt ein Set von Dateinamen direkt darin. Jedes Element hat die folgenden Felder: name : file/directory name name : nom du fichier/répertoire name: Name der Datei/des Verzeichnisses type : "directory" or "file" or "unknown" type : "directory" ou "file" ou "unknown" type: "directory" (Verzeichnis) oder "file" (Datei) oder "unknown" (unbekannt) size : size of the file size : taille du fichier size: die Größe der Datei date date date: das Datum playlist: set based on the playlist with fields: current is 1 if item is currently selected, 0 else. index is the index value, that can be used by the play or delete control command. name is the name of the item Construit un ensemble basé sur la liste de lecture. Les champs sont: current qui vaut 1 si l'élément est sélectionné, 0 sinon. index est la valeur de l'index à utiliser dans les commandes delete ou play. name est le nom de l'élément playlist: ein auf der Wiedergabeliste mit folgenden Feldern basierendes Set: current ist 1, wenn das Objekt derzeit ausgewählt ist, sonst 0. index ist der Index-Wert, der von den play oder delete - Befehlen benutzt werden kann. name ist der Name des Objekts . "informations" : Create informations for the current playing stream. name is the name of the category, value is its value, info is a new set that can be parsed with a new foreach (subfields of info are name and value) "informations" : crée des informations sur la lecture en cours. name est le nom de la catégorie, value est sa valeur, info est un nouvel ensemble sur lequel vous pouvez à nouveau appliquer foreach, et qui contient deux champs name et value) "informations": Erzeugt Informationen für den derzeit abgespielten Stream. name ist der Name der Kategorie, value ist dessen Wert, info ist ein neues Set, dass Sie erneut parsen können (Unterfelder von info sind name und value) . "hosts" : Create the list of host we are listening. Contains the "id" (opaque id), host, ip and port fields. "hosts" : Crée une liste des hotes en écoute. Contient les champs "id" (identifiant interne), host, ip et port. "hosts": Erzeugt eine Liste von hörenden Hosts. Enthält die "id" (interne ID), host, ip und port-Felder. "urls" : Create the list of urls currently available. Fields are id, stream (1 if we have a stream, 0 else), url, mime, protected (1 if protected, 0 else), used (is it currently used ?). "urls" : Crée une liste des urls disponibles. Les champs sont id, stream (1 si c'est un flux, 0 sinon), url, mime, protected (1 si le fichier est protégé, 0 sinon), utilisé (1 si utilisé actuellement). "urls": Erzeugt eine Liste der derzeit verfügbaren URLs. Felder sind id, stream (1 wenn wir einen Stream haben, sonst 0), url, mime, protected (1 wenn geschützt, sonst 0), used (wird es derzeit benutzt?). "connections" : Create the list of current connections. Fields are: id, an opaque id that can be used in the close command, ip, url, and status (HTTP error code). "connections" : Crée la liste des connections en cours. Les champs sont: id, un identifiant utilisé par la commande close, ip, url et status (Code de retour HTTP). "connections": Erzeugt eine Liste der derzeitigen Verbindungen. Die Felder sind: id, eine interne ID, die mit dem close-Befehl benutzt werden kann, ip, url und status (HTTP-Fehlercode). the name of a foreach variable if it's a set of set of value. Le nom d'une variable de foreach, si c'est un sous-ensemble. Der Name einer foreach-Variablen, wenn es ein Set von eingestellten Werten ist. ;<vlc id="foreach" param1="cat" param2="informations" /> <p> <vlc id="value" param1="cat.name" /> <ul> <vlc id="foreach" param1="info" param2="cat.info" /> <li> <vlc id="value" param1="info.name" /> : <vlc id="value" param1="info.value" /> </li> <vlc id="end" /> </ul> <vlc id="end" /> For more details, have a look at the share/http directory of the VLC source tree... Pour plus de détails, voyez le répertoire share/http des sources de VLC... Schauen Sie für weitere Details in das share/http - Verzeichnis der Quellen von VLC...