=head1 NOM

PPM - Perl Package Manager: localise, installe, met à jour les paquetages.

=head1 SYNOPSIS

 ppm genconfig
 ppm help [command]
 ppm install [--location=location] package1 [... packageN]
 ppm query [--case|nocase] [--abstract|author] PATTERN
 ppm remove package1 [... packageN]
 ppm search [--case|nocase] [--location=location] [--abstract|author] PATTERN
 ppm set [option]
 ppm verify [--location=location] [--upgrade] [--force] [package1 ... packageN]
 ppm version
 ppm [--location=location]

=head1 DESCRIPTION

ppm est un utilitaire destiné à simplifier les tâches de localiser, installer,
mettre à jour et désinstaller des paquetages. C'est un frontal aux fonctionnalités
fournies par le module PPM.pm. Il peut déterminer si la version la plus récente
d'un paquetage est installée sur un système, et peut installer ou mettre à jour
ce paquetage depuis un hôte local ou distant.

ppm fonctionne dans l'un des deux modes suivants : en mode shell interactif
dans lequel les commandes peuvent être entrées; en mode ligne de commande
dans lequel une seule action spécifique est effectuée par invocation du
programme.

Pour obtenir des informations au sujet des paquetages logiciels, ppm utilise
des fichiers écrits dans une forme étendue de la spécification
OSD (Open Software Description).
Ces fichiers de description, qui sont codés en XML (Extensible Markup
Language), sont connus sous le nom de fichiers 'PPD'. On trouvera des
informations au sujet d'OSD sur le site web du W3C (au moment de la rédaction,
http://www.w3.org/TR/NOTE-OSD.html ). Les extensions à OSD utilisées par ppm
sont documentées dans PPM.ppd.

=head1 UTILISATION DE PPM

=over 4

=item Mode interactif

Si ppm est invoqué sans spécifier de commande, il démarre en mode interactif.
Si l'argument '--location' est spécifié, il est utilisé comme emplacement où
chercher, sinon les dépôts spécifiés dans le fichier de données PPM sont utilisés.

La syntaxe des commandes PPM est la même dans le mode interactif et dans
le mode en ligne de commande.  La commande 'help' affiche la liste
des commandes disponibles.

Les commandes de ppm peuvent être abrégées à leur plus courte forme unique.

=item Installation

 ppm install [--location=location] package1 [... packageN]

Installe les paquetages spécifiés. Tente l'installation depuis l'URL ou le
répertoire 'location' si l'option '--location' est spécifiée.

Les arguments 'package' peuvent être, soit des noms de paquetages ('foo'),
soit des chemins (p:/packages/foo.ppd), soit des URLs
(http://www.ActiveState.com/packages/foo.ppd) pour spécifier des fichiers PPD.

Dans le cas où un nom du paquetage est spécifié, et l'option '--location'
n'est pas utilisée, ppm se réfère aux emplacements de dépôt par défaut.

Voir aussi : l'option 'confirm'

=item Suppression

 ppm remove package1 [... packageN]

Lit les informations du fichier PPD pour le paquetage indiqué et supprime
le paquetage du système.

Voir aussi : l'option 'confirm'

=item Vérification

 ppm verify [--location=location] [--upgrade] [--force] [package1 ... packageN]

Vérifie que les paquetages actuellement installés sont à jour. Si aucun
paquetage n'est spécifié en argument, tous les paquetages installés sont vérifiés.

Si l'option '--upgrade' est spécifiée, tous les paquetages pour lesquels une
mise à jour est disponible seront mis à jour.

Si l'option '--location' est spécifiée, les mises à jour seront cherchées
dans le répertoire ou à l'URL spécifiée.

Si l'option '--force' est spécifiée, tous les paquetages couramment installés
seront réinstallés qu'ils soit hors date ou non.

Voir aussi : l'option 'confirm'

=item Requérir

 ppm query [--case|nocase] [--abstract|author] PATTERN

Recherche le motif 'PATTERN' (une expression rationnelle) dans le nom
des paquetages installés. Si la recherche réussit, les informations au
sujet du (ou des) paquetage(s) sélectionné(s) sont affichés.
Si le motif 'PATTERN' est omis, les informations à propos de tous les
paquetages installés seront affichés.

Si l'une ou l'autre des options '--abstract' ou '--author' est spécifiée, le
motif PATTERN sera recherché dans les tags <ABSTRACT> ou <AUTHOR> des
paquetages installés.

Les options '--case' et '--nocase' peuvent être utilisées pour changer les
valeurs par défaut de sensibilité à la casse dans la recherche.

Voir aussi : l'option 'case'.

=item Chercher

 ppm search [--case|nocase] [--location=location] [--abstract|author] PATTERN

Affiche une liste de tous les paquetages qui correspondent à 'PATTERN' (une expression
rationnelle) disponibles à l'emplacement spécifié.  Si 'PATTERN' est omis,
les informations au sujet de tous les paquetages disponibles seront affichées.

Si l'option '--location' est utilisée, la  recherche aura lieu dans l'URL ou
le répertoire spécifié. Si l'option '--location' n'est pas utilisée, la
recherche aura lieu dans le dépôt spécifié dans le fichier de données PPM.

Si l'une ou l'autre des options '--abstract' ou '--author' est spécifiée, le
motif PATTERN sera recherché dans les tags <ABSTRACT> ou <AUTHOR> des
paquetages installés.

Les options '--case' et '--nocase' peuvent être utilisées pour changer les
valeurs par défaut de sensibilité à la casse dans la recherche.

Voir aussi : l'option 'case'.




=item Récupération d'erreur

 ppm genconfig
 ppm getconfig

La commande genconfig imprimera un fichier de configuration PPM valide (ppm.xml)
vers STDOUT. Ce peut être utile si le fichier de configuration PPM est endommagé
rendant le lancement de PPM impossible.

Si besoin est, cet commande peut être lancé depuis l'invite du shell :

    C:\Perl\site\lib> ppm genconfig > ppm.xml

La commande getconfig affiche l'emplacement du fichier de configuration PPM
utilisé au démarrage de PPM.

=item Options

 ppm set [option value]

Fixe ou affiche l'état des options courantes.  Sans argument, les états des options
courantes sont affichés. Pour les options qui acceptent '1' ou '0', spécifier
'1' active l'option, et '0' la désactive.

Options disponibles :

    build DIRECTORY
        - Modifie le répertoire de construction du paquetage.

    case [1|0]
        - Fixe la sensibilité à la casse des recherches. Si ni '1', ni '0'
          n'est spécifié, l'état courant de l'option est inversé.

    clean [1|0]
        - Autorise le nettoyage des fichiers temporaires du répertoire de
          construction du paquetage, si l'installation a réussie.
          Si ni '1', ni '0' n'est spécifié, l'état courant de l'option est inversé.

    confirm [1|0]
        - Demande la confirmation ou non de 'install', 'remove' et 'upgrade'.
          Si ni '1', ni '0' n'est spécifié, l'état courant de l'option est inversé.

    downloadstatus NOMBRE
        - Si non nul, met à jour l'état du téléchargement après chaque
          NOMBRE d'octets transférés pendant un 'install'.
          Cela peut rassurer quand on installe un gros paquetage (par exemple Tk)
          avec une connexion lente.

    force_install [1|0]
        - Continue d'installer un paquetage même si une dépendance ne peut
          pas être installée.

    more NOMBRE
        - Provoque une pause en sortie après que NOMBRE lignes aient été affichées.
          Spécifier '0' arrête ce comportement.

    set repository --remove NOM
        - Ôte le dépôt 'NOM' de la liste des depots.

    set repository NOM EMPLACEMENT
        - Ajoute un dépôt à la liste des dépôts PPD pour cette session.
          'NOM' est le nom sous lequel le dépôt est référencé ;
          'EMPLACEMENT' est une URL ou un nom de répertoire.

    root REPERTOIRE
        - Change le répertoire racine d'installation. Les paquetages seront
        installés dans ce nouveau répertoire.

    save
        - Sauvegarde les options courantes comme valeurs par défaut pour
        les futures sessions.

    trace
        - Niveau de trace. 1 par défaut, le maximum est 4, 0 annule le
          mode trace.

    tracefile
        - Fichier recevant les information de traçage, 'PPM.LOG' par défaut.

    verbose [1|0]
        - Affiche des informations supplémentaires sur les paquetages
          pour les commandes 'query' et 'search'.

=head1 EXEMPLES

=over 4

=item ppm

Lance ppm en mode interactif, en utilisant les dépôts spécifiés dans le
fichier de données PPM. Une session pourrait ressembler à ceci :

    [Montre tous les paquetages disponibles]
    PPM> search
    Packages available from P:\PACKAGES:
    bar [2.91 ] supplies bar methods for perl5.
    bax [0.072] module for manipulation of bax archives.
    baz [1.03 ] Interface to baz library
    foo [2.23 ] Foo parser class

    [Liste tout ce qui a déjà été installé]
    PPM> query
    bax [0.071] module for manipulation of bax archives.
    baz [1.02 ] Interface to baz library

    [Installe un paquetage]
    PPM> install foo
    Install package foo? (y/N): y
    [...]

    [Inverse l'option confirmation]
    PPM> set confirm
    Commands will not be confirmed.

    [Vérifie si 'baz' est à jour]
    PPM> verify baz
    An upgrade to package 'baz' is available.

    [Met à jour 'baz']
    PPM> verify --upgrade baz
    [...]

    [Mise à jour forcée de 'baz']
    PPM> verify --upgrade --force baz
    [...]

    [Inverse la sensibilité à la casse des recherches]
    PPM> set case
    Case-sensitive searches will be performed.

    [Affiche tous les paquetages disponibles commençant par 'b']
    PPM> search ^b
    bar [2.91 ] supplies bar methods for perl5.
    bax [0.072] module for manipulation of bax archives.
    baz [1.03 ] Interface to baz library

    [Cherche les paquetages installés contenant 'baz' dans le tag ABSTRACT]
    PPM> query --abstract baz
    Matching packages found at P:\PACKAGES:
    baz [1.03 ] Interface to baz library
    PPM> quit

=item ppm install http://www.ActiveState.com/packages/foo.ppd

Installe le paquetage 'foo' à partir des informations tirées du fichier
PPD obtenu à l'URL spécifiée.

=item ppm verify --upgrade foo

Compare la version couramment installée du paquetage 'foo' à celle disponible
d'après les informations tirées du fichier PPD obtenu aux emplacements
spécifiés dans le fichier de données PPM, et met le paquetage à jour si une
version nouvelle est disponible.

=item ppm verify --location=P:\PACKAGES --upgrade foo

Compare la version couramment installée du paquetage 'foo' à celle disponible
d'après les informations tirées du fichier PPD obtenu dans le répertoire
spécifié, et met à jour le paquetage si une version nouvelle est disponible.

=item ppm verify --upgrade --force

Force la vérification et la réinstallation de chaque paquetage du système, en
utilisant les emplacements des dépôts spécifiés dans le dossier de données PPM.


=item ppm search --location=http://ppm.ActiveState.com/PPMpackages/5.6

Affiche les paquetages avec les fichiers PPD disponibles à l'emplacement
spécifié.

=item ppm search --location=P:\PACKAGES --author ActiveState

Cherche, aux emplacements spécifiés, les paquetages dont le tag <AUTHOR>
contient la chaîne 'ActiveState'. En cas de succès, le nom du paquetage
et la chaîne correspondante sont affichés.

=back

=head1 VARIABLES D'ENVIRONNEMENT

=over 4

=item HTTP_proxy

Si la variable d'environnement 'HTTP_proxy' est définie, alors elle
sera utilisée comme adresse d'un serveur mandataire pour accéder à internet

Sa valeur doit être de la forme : 'http://proxy:port'.

=back

=head1 FICHIERS

Les fichiers suivants sont complètement décrits dans la section 'Files'
de PPM:ppm.

=over 4

=item package.ppd

Une description d'un paquetage dans le format OSD (Open Software Description)
étendu. On trouvera plus d'information sur ce format de fichier dans PPM::ppd.

=item ppm.xml - Fichier de données PPM.

Un fichier au format XML qui contient des informations au sujet du système
local, les caractéristiques concernant les emplacements où PPM peut obtenir
les fichiers PPD, et le détail de l'installation de tout paquetage installé
par ppm.

Ce fichier se trouve d'ordinaire dans le répertoire '[perl]/site/lib'.
Si la variable d'environnement 'PPM_DAT' est définie, sa valeur sera
utilisée comme un chemin complet à un fichier de données PPM. Si tout
échoue, ppm recherchera un fichier de données dans le répertoire courant.

=back

=head1 AUTEUR

Murray Nesbitt, E<lt>F<murray@ActiveState.com>E<gt>

=head1 CRÉDITS

=over 4

=item *

The "geek-pit" at ActiveState.

=item *

Paul Kulchenko pour son paquetage SOAP-Lite, et pour son assistance enthousiaste
à vouloir faire fonctionner PPM avec SOAP-Lite.

=back

=head1 TRADUCTION EN FRANÇAIS

Jean-Louis Morel <jl_morel@bribes.org>

=cut

