Sébastien

Sébastien

Mon module explainMenu est la conséquence d'une problèmatique simple : donner accès à Joomla, dans un cadre professionnel par exemple, à des utilisateurs "informaticophobe" (oui, tout le monde n'aime pas l'informatique) et de pouvoir spécifier à ces utilisateurs quelles sont les conditions de restrictions du menu. Les conditions de restrictions étant le choix que vous spécifiez au moment de la création des menus.

Afin de laisser associer le menu à sa description, j'ai regardé si des proprités seraient détournables pour stocker cette information, et n'ai trouvé qu'un champs simpel : le commentaire du champs. Alors oui j 'aurais pu hériter le menu joomla pour rajouter une propriété mais le temùps m'a manqué. Et comme le champ commentaire m'est totalement inutile, et que finalement décrire un menu peut aussi être vu comme une aide, j'ai réutilisé ce champs pour l'afficher dans un module, une fois le menu sélectionné.

L'idée est de récupérer la note que vous indiquez dans vos menus afin de la rendre publique.

explainMenu1

 

Une fois cette propriété remplis, il "suffit" de faire un module n'affichant que cette données à l'endroit où vous ouhaitez sur vtre site. Cette propriété devient donc publique, faite attention en la remplisant....

 

Ce module va chercher automatiquement l'élément le plus loin de la racine dans l'organisation des catégories et l'affiche dans le cadre avec la pucelle de l'établissement.
Ceci a pour but de minimiser la création de modules dans Joomla, utilsiés juste pour afficher un titre.

vendredi, 13 août 2021 16:43

Cartophile ? Une belle découverte locale

La cartophilie ca existe vraiment ? Le principe oui, le terme exact, j'en doute. Ou du moins pas pour ce genre de cartes. La cartophilie, ce sont les passionnés de cartes postales. Mais il y a bien d'autres passionnés de cartes, comme celles et ceux qui abondent régulièrement les cartes d'OSM (Open Street Map pour ceux qui ne connaissent pas)

Même si je reste dubitatif sur la cohérence des donées car aucun organisme officiel d'état n'est là pour contrôler les données (c'est toujours ma grande peur des données ouvertes ca), Open Street Map à plus d'une core à son arc, et je viens de tirer l'une d'entre elle que je vais partager ici.

Le pan uMap (ou plutôt µmap, car ce sont des petites cartes) d'Open street map est un outil collaboratif de cartes. ignorant totalement ce que je pouvais trouver comme cartes (j'ai un peu de mal à conceptualiser la passion des cartes), j'ai fait une petite recherche sur la belle ville de Nancy  (Chauvin ? même pas je suis pas de Nancy) et quelle ne fût pas ma surprise de tomber sur une quinzaine de cartes.

(Oups ... au cours de l'écriture de mon article, une interruption de service. Moi qui voulait vanter ce service... )

 

umap

L'interruption de service ne fût que d'une courte durée (30 sec) et je peux revenir à mes moutons.

Une fois ma ville saisie, la quinzaine de résultats s'affiche :

umap2

et quelle ne fût pas ma surprise de trouver sur cette petite ville provinciale quelque quinzaines de cartes !

Il est interessant de noter quels sont les auteurs des cartes. On retrouve des noms de particuliers ou de pseudonymes, des cartophiles dont je parlais, mais ce qu'il m'interessse beaucoup plus ce sont les instutionnels, qui ont eux, selon moi, plus de moyens de mise en oauvres des cartes.On retrouve évidemment la ville de Nancy et le grand Nancy qui ont partagés des cartes fortes interessantes.

Et des cartes différentes il y en a. Un petit lycée du centre de Nancy à partagé ses cartes de coruses d'orientations, on retrouve la carte des bombardements de Nancy durant la guerre, ou encore les différents quartiers de nancy.

Seul bémol, mais je crois que je n'ai pas de bol aujourd'hui, le serveur n'a pas l'air de répondre bien correctement et est extrêmement lent. Peut être suis-je mal tombé aujourd'hui ?

Alors, chers lecteurs, même si vous n'êtes pas de la région nacéienne, faites vos recherches, vous trouverez forcément en opendata des cartes interessante de vos régions...

 

 

jeudi, 29 juillet 2021 15:59

Afficher des contacts sur Joomla

Vous aussi vous aimeriez afficher des contacts sous  la forme d'une fiche ? Et bien oui, Joomla propose la possibilité de créer des contacts, mais peu de solutions pour afficher UN contact particulier sous la forme d'une fiche, en clair dans un module. J'avoue ne pas avoir cherché si c'était déja fait....

Une fois ce module créé, dans l'aministration, créez un module de ce type contact et renseignez l'ID (clef primaire) du contact à afficher

Html 5 "vient" de sortir, enfin ca date déjà un peu, mais je me rends compte que des tonnes de nouveautés simples existent et son plutôt sympa, comme ces deux lkiens que je vais vous présenter ici :

  • Envoyer un SMS
  • Passer un coup de fil

De quoi s'agit-il ?

Je ne vous apprendrai pas que la consommation du web se fait de plus en plus depuis un terminal portable, notamment un téléphone. Et qui dit telephone, dit deux nouvelles fonctionnalités que l'utilisateur peut être amené à vouloir faire : proposer sur votre site web, tout comme on proposerait de créer un lien mailto, un lien pour passer un coup de fil, ce qui lancera l'application de composition de numéro de téléphone sur le telephone

Proposer à l'utilisateur la composition d'un numéro de téléphone

Pour créer un lien avec la pré composition d'un numéro de téléphone, il suffit de créer un lien <a href="tel:0383565656">Telephonez moi</a>. Ainsi, en cliquant sur le lien depuis votre téléphone, le lien sera précomposé sur l'applicationd e composition de votre téléphone, il ne reste plus qu'a valiser la composition.

 

Screenshot 2021 07 27 18 07 09

 

Pré-composer un message SMS

La précomposition d'un message SMS est un poil différentt come le message est aussi à intégrer dans le lien a href.

La précomposition d'un SMS se rapproche beaucoup de la commande mailto, avec l'espace rurl-encodé en %20.

<a href="sms:+3365878457&body=Selut%20sebastien,%20ca%20va%20?">Envoie moi un SMS</a>

 

Et voila, j'ai encore appris quelque chose ce soir :)

Pré-requis de bienveillance

J'invite à une bienveillance de mes lecteurs quant aux modes de diffusion de ce module. En effet, j'ignore totalement comment fabriquer un package de distribution et d'installation de modules Joomla, j'utilise toujours le mode "Découverte". Mais contactez-moi si vous avez un tuto ou pour m'expliquer comment packager un module et le rendre distribuable.

C'est quoi ?

Il apparait que sur mon site, je me suis interessé (et je m'interesse toujours) aux API du web. J'ai écris plusieurs articles pour expliquer dans les grandes lignes les API que le site Youtube vous fourni. et il y en a une passez sympa, encore faut-il l'appeler une API car c'est est pas trop une (encore que), c'est le fil RSS d'une chaine Youtube. Sur mon autre site Aujourd'hui à Nancy, j'écris régulièrement des articles sur des artistes du web. Et beaucoup d'entre eux, si se n'est pas pour dire tous, ont une chaine youtube alimentée régulièrement. Le problème auquel je me heurtais était simple : mes articles étant intemporel, je peux (et je le fais) intégrer des vidéos dont le code d'intégration est fourni par Youtube. Pour une vidéo spécifique dans un article, c'est pas mal. Mais quid pour parler d'une chaine ? La vidéo va - elle rester ? sera-t-elle supprimée ou censurée sur la plateforme collaborative de vidéos ?

Autant de questions auxquelles mon module répond puisqu'il se base sur le flux RSS d'une et une seule chaine, Le résultat est un article (si le module est intégré à l'article) à jours avec les dernières vidéos de la chaine.

Tu as tout écrit ?

Alors je sais que je suis une bille complète en programmation orientée objet, mais je m'y mets (oui oui, moi qui était (et le suis encore un peu) réfractaire à la POO et y'a un truc de feignasse (il faut bien le dire) mis à la disposition des développeurs : l'héritage. Alors tout réécrire ? jamais. Je suis parti du module mod_feed fourrni dans Joomla, module de base du CMS, que j'ai dupliqué, renommé ainsi que le fichier XML de description, auquel j'ai ajouté un test sur une fonctionnalité spécifique du fil RSS de Youtube : la présenced es références des vidéos. Ce module, vous l'aurez compris, dépend totalement sde l'API, qui peut évvoluer dans le temps !

Pour faire simple, je regarde si l'URL du fil RSS contient la chaine "youtube" et si tel est le cas, je pars du principe que c'est un bon fil RSS fourni par Youtube. Alors oui je sais, le test est léger, il faudrait plutôt tester avec des regex le contenu du flux, mais les regex, je maitrise pas.

Ca fait quoi alors par rapport à mod_feed ?

Lorsqu'on donne en pâtrue un fil RSS youtube à mod_feed, aucune des vidéos n'est intégrée dans le flux, prêtes à être jouée. Et bien avec mon module, elle le sont. Je vous ai concocté ci(dessous un module d'exemple, basé sur la chaine Youtube UC4YtERl4WGwN8dFzn28FHMg (enfin France TV Arts mais je ne doute pas que vous avirez reconnus la référence :-)

france TV ART

 

Comme vous pouvez le voir sur la copie d'écran, ce module liste toutes les dernière vidéos contenues dans le flux (alors j'ai regardé très rapidement dans l'API Youtube et n'ai pas trouvé si on pouvait régler le nombre d'items du fils RSS youtube, peut être que oui), et le module les affiche les unes sous les autres. Et bien entendu, en cliquant sur le palyer, il se met en route.

Style ?

Y'a pas qu'en POO où je suis une bille, en infographie aussi. Mais je vous ai prévu un fichier CSS à personnaliser à loisir pour faire ressortir vos vidéos. Si vous faites vos propres fichier de styles, envoyez les moi et ca sera avec plaisir que je les joindrais (avec accréditation et références de votre choix) à cet article !

What else ?

Rien d'autre, juste un p'tit café pour fêter la fin de developpement ?

Petit bémol

Ayant développé le module à partir du module existant sans en faire d'héritage (oh le con),  il faut peut etre recorriger le fichier xml si vous voulez en faire un autre type de module. En revanche, si vous l''"écrasez" par héritage dans votre Joomla, ca devrait marcher.

 

Il y a quelques jours, j'ai écrit un petit article concernant le partage de vos URL sur les réseaux sociaux. Mon article porté essentiellement sur le formatage de vos données, afin que les réseaux sociaux puissent en extraire les informations que ces derniers jugent utiles. Pour effectuer cette opération "magique", enfin pas si magique que cela, les outils sociaux se base sur le protocole Open Graph, les outils ne font que de parser la page proposée au partage, afin d"'en extraire certaines balises. J'en ai parlé sur ce même blog il y a maintenant 2 jours, mais je me suis rendu compte que je ne suis pas allé en profondeur dans mon article.

Pour commencer, un peu d'histoire.

Le protocole Open Graph a été créé par la société Facebook, en s'inspirant de Dublin Core (vocabulaire sémantique pour exprimer les données), des micro formats et du format RDFa. Je ne doute pas que vous connaissez toutes ces abréviations, mais si cela n'était pas le cas, sachez que les micros formats permettent, au cœur d'un élément comme une page web, d'incorporer des méta-données (pour faire simple, des donnéees qui portent sur la forme et non le fond de l'article). Ainsi moteur de recherche, en ce qui concerne les microformats, pourront intégrer de nouvelles données complémentaires ou données contenues par votre page comme l'auteur, le poids de la page, sa date de dréation.....
Parmi ces micros formats nombreux, on peut retrouver, par exemple, une adresse mail d'une personne, sa carte de visite numérique, un calendrier pour un événement... Le site internet wikipédia a un très bon article sur les microformats, j'y reviendrai peut-être ultérieurement.
Revenons désormais à Open Data graph. Comme je le disais dans mon article dernier, une des fonctionnalités de ce système permet, lorsque vous collez une URL dans un champ de publication d'un réseau social, d'aller rechercher directement des informations situées sur la page, afin d'en afficher un court résumé avec une image, un lien hypertexte, le nom du site ou encore la description de la page.
recpauto
 

Mais, me direz-vous, en quoi joue Open Graph protocol ?

En fait, ce protocole va vous permettre, dans votre page web, d'intégrer des informations complémentaires dans les balises meta de votre en tête de votre page HTML, afin de pouvoir spécifier certaines informations complémentaires. Le site Open Data graph protocol détaille l'ensemble des balises que nous pouvons rajouter, mais iton les principales comme le titre de votre article ou votre page, son type, éventuellement une image illustrant votre article, ou encore bien entendu l'URL de la page. Entre parenthèses, c'est grâce à la balise og: image que des réseaux sociaux comme Facebook arrivent à en extraire l'image principale à afficher sur votre post que vous êtes en train de préparer.
Deux types de métadonnées Open Data graph sont bien distinctes :  des métadonnées basiques comme le titre, le titre de votre page une image ou encore l'URL de votre page, mais d'autres métadonnées complémentaires peuvent apparaître comme un fichier audio, une description, quelques informations complémentaires relatives à la langue anglaise comme le fait d'avoir un hiatus ou non dans le déterminant débutant le titre de votre page, (en d'autres termes, faut-il un N derrière le a pour traduire "un" en français), mais vous pourrez aussi trouver des informations relatives à la  localisation de votre page c'est-à-dire sa langue et son territoire d'origine, le nom du site d'origine, éventuellement une vidéo de votre page que vous êtes en train de partager peut contenir. Pour toutes ces données que je viens de citer, vous ne pouvez mettre qu'une seule information à chaque fois. Si votre page contient plusieurs vidéos, seule l'une d'entre elles peut-être intégrée à la balise meta.
Chacun des champs que je viens de citer, contiennent des paramètres, et même aussi être composée de données structurées. Derrière la balise meta sur la même ligne, on peut y retrouver le type du partage de votre fichier comme une image, sa longueur, un texte alternatif pour les navigateur n'affichant pas les images (oui oui ca existe encore !), ou encore d'autres informations concernant la possibilité d'adjoindre à votre page web, un fichier MP3.
De ce fait, en partageant sur les réseaux sociaux, Facebook (ou un autre) pourra et saura quoi mettre en avant sur le post qu'il est en train de créer. Il existe beaucoup d'autres méta et je ne peux que vous conseillez de regarder le site https://ogp.me, dont les acronymes, vous l'aurez compris, signifie Open Graph Protocol. Ce site particulièrement bien fait, classe en une et seule unique page l'ensemble des métadonnées que vous pouvez à joindre sur votre page web.
Pour les développeurs et celles qui veulent tester vos données Open Data graph, il est bon de savoir qu'il existe tout comme pour langage HTML, des validateurs vous permettant de savoir si votre code Open Data grâce est correct ou pas. Sur lamême page que j'ai cité, vous retrouverez plusieurs liens vers des sites internet permettant cette validation. D'ailleurs, Google et Facebook ont, eux aussi, un outil de validation de ce type.
En préparant mon article, je me suis aussi poser la question de savoir si des CMS comme joomia, posséde lui aussi des solutions pour intégrer les métadonnées. Je ne m'intéresse à titre personnel qu'à des outils gratuits. Effectivement, le groupe de développeur tchèque Phoca propose un outil permettant d'intégrer beau données Open Graph sur votre site. Je ne l'ai pas testé personnellement je ne sais donc pas ce que cet outil vaut.
En tout cas, pour celles et ceux qui se posent est encore la question de savoir comment Facebook génère ce petit encart avec nos titres de la page, l'image principale de la page, le lien vers la page que vous souhaitez proposer à vos "followers" sur Facebook, la solution vous est désormais connue.

Je ne sais pas vous, mais moi, je ne suis déja demandé à plusieurs reprises quelle était la "magie" qui engendrait ce que les réseaux sociaux "composent" lorsque vous partagez une url ? Vous savez, le ... truc, bidule, enfin le machin dont je le retiens jamais le nom (dites le mois si vous retrouvez le nom, envoyez mon un message sur Facebook que je corrige mon mot). Aller une image explicative.

copie ecran

Mais c'est quoi le truc de ce tour de magie ? J'avais déja vu une API qui permettait de générer ces petites "bulles" (dont je ne retrouve toujours pas le nom) sur les réseaux sociaux. Mais comment Facebook génère t il ce cadre ? D'où sort il les données ?

La réponse tient en un mot : Open Graph Protocol. Bon, en 2021, je doute qu'il y ait encore des gens qui ne le connaisse pas mais dans le doute, je résume. L'Open Graph Protocol est... un protocol. Oui oui.. Un protocole mis en place les les mastoddontes des réseaux sociaux qui se sont entendus pour partager des méta données que vous implémentez sur votre page web. Simple en fait. Vous pouvez retrouver le protocole (en une page !) à l'adresse https://opengraphprotocol.org/

Mais après .

Et ben une fois qu'on intégre des méta dans une page, méta bien codifiées, il ne reste plus qu'à en faire une extraction par régex (encore faut il maitriser, ce qui est loin d'être mon cas) pour recomposer un encadré synthétique, publié sur votre post. Un simple bout de html en quelque sorte..

Pour répondre à ma question posée dans le titre, il sufffit donc "tout simplement" à ce que votre code HTML dans son head comporte les méta décrites dans l'opengraph protocole, afin de recomposer cet encart synthétique, à partir d'une URL. Ces données sont à placer dans le <head></head> de votre page.Et ca tombe super bien car pour connaitre l'url, c'est vous qui la collez dans le cadre de partage du réseau social. Il intercepte la saisie et si cette dernière semble être une URL, il compose le cadre.

Facile non ?

 

dimanche, 04 juillet 2021 20:22

Mailto: oui, mais mailto: vers Gmail !

Cette petite astuce peut être forte utile au vue de la prolifération de adresses Gmail. Vous connaissez surment la commande permettant de lancer votre client email par défaut, depuis une page html ? Pour rappel, il sutt d'utiliser le code : 

<a href="mailto:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.">Clic</a>

commande mailto à laquelle vous pouvez rajouter les paramètres de "pré-configuration" du mail à lancer. Je ne vais pas exposer ici la RFC 6068 concernant cette manière de faire, mais cette RFC est l'une à lire vraiment car elle est fort interesante (j'en ai appris, après plus de 20 ans de création de documents web !)

Mais si vous êtes sûrs que vos utilisateurs utillisent Gmail (ca arrive pour les PME qui optent pour tous les adresses email de leurs collaborateurs, toutes hébergées sur Gmail), peut-être souhaiteriez vous que ce soit le client web Gmail qui soit lancé à la place du logiciel client mail installé et sélectionné par défaut sur votre ordinateur ? Et mieux, la solution a été pensée et mise en place par la petie entreprise Google.

Comment lancer Gmail (web) par défaut ?

La solution est de ne pas lancer votre lien au travers de votre commande Mailto, mais d'utiliser la commande fournie par Google. : 

https://mail.google.com/mail/?view=cm&fs=1&to=Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.&su=SUBJECT&body=BODY&bcc=Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Je vous laisse évidemment le soin de remplacer les chaines de caractères surlignées en jaunes pour vos propres données. Cette commande, il suffit de la mettre dans une balise <a>. Attention : du coup, dans le href, ce n'est pas mailto à utiliser. Voici un exemple : 

<a href="/https://mail.google.com/mail/?view=cm&fs=1&to=Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.&su=SUBJECT&body=BODY&bcc=Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.">LIEN</a>

Vous voulez tester ? Cliquez ici

Qu'il est rageant de travailler sur plusieurs postes de travails, sur des dossiers de plusieurs Go de données, répartis entre des petits et des gros fichiers, sachant que seuls ceux d'un sous répertorie varient beaucoup et que quelques fichiers texte de config, à la marge, diffèrent ...Et bien sûr, je ne sais pas lesquel.

Et oui, quand vous avez un serveur web portable pour vos développement ou préparation à de la mise en ligne d'un projet, avec des énormes données de fichers intégrées à votre projet, tout recopier prend des plombes. D'autant plus si votre machine à des sécurités réseaux d'entreprises, par exemple....

J'ai testé et trouvé une astuce que je voulais partager. Soit mon répertoire de mon serveur de sioux, que l'on nommera Apache, présent sur mon disque interne. Mon serveur fait 40GO

Dans ce dossier, j'ai un sous-sous-sous dossier de données, qui fait grosso modo 20 Go, la moitié tout de même. Ne pensez vous pas que recopier 20 Go (4 heures sur une machine de travail) est bien utile à chaque fois ? Je ne pense pas. Mais alors, sachant que ce dossier est un sous sous sous dossier, comment faire pour ne pas avoir à le recopier à chaque fois ?

Prérequis :

  1. Ce dossier ne bouge quasiement jamais (ni ajouts, ni suppressions)
  2. Ce dossier est "loin" par rapport à la racine du disque, inclus dans plusieurs sous-dosssiers imbriqués
  3. Comble du truc, j'aime bien juste copier-coller, je suis pas là a perdre mon temps à faire des copies de sous dossier au risque d'en oublier...
  4. Enfin, mon système d'exploitation pour ces taches s'appelle Windows (sinon j'aurais même pas fait cet article, un shell aurait suffit)

La solution ?

Robocopy pardi ! Il est vrai qu'en terme de ligne de commande Windows, j'en suis presque resté à DOS (6.2 quand même...) mais Billou a intégré des nouveaux outils sympas.

robocopy, c'est quoi ? C'est un outil de copie de fichiers robuste pour Windows (j'en déduis que Microsoft avoue que jusque là, ses copies n'étaient pas robustes ? - C'est pas moi qui le dit...)

Des tonnes d'options sont proposées par cet outil mais revenons à notre besoin de tout copier sauf UN sous répertoire du volume. La commande se résume ainsi et je vais la commenter :

robocopy dossier_source dossier_destination  /XD "__DOSSIER_A_EVITER_DE_COPIER__" /E

Soit l'organisation hiérarchique suivante

├───Documents (2Mo)
│ │ créer une liste de categories joomla avec photo.odt (1 Mo)
│ │ doc joomla.odt (1 Mo)
│ ├───Fichiers (1 Mo)
│ │ ├───Backup (1 To)
│ │ ├───Fichiers Publiques (1 Mo)
│ │ └───Fichiers_prives (1 Mo)
│ ├───Audacity (1 Mo)

Comme vous le voyez sur cet example fictif, backup est très gros et ce dossier, je je veux pas le copier à chaque fois. je vais donc l'exclure de ma copie sur mon volume D:  :

robocopy C:\documents D:\documents . /XD "c:\documents\Fichiers\Backup" /E

Le /E à la fin de la ligne copie les sous-répertoires, y compris les vides.

Et voila...


ROBOCOPY :: Copie de fichiers robuste pour Windows (Aide fournie accessible par robocopy/?)

Syntaxe :: ROBOCOPY source destination [fichier
[fichier]...] [options]

source :: répertoire source (lecteur:\chemin ou
\\serveur\partage\chemin).
destination :: rép. de destination (lecteur:\chemin ou
\\serveur\partage\chemin).
fichier :: fichier(s) à copier (noms/caractères
génériques : valeur par défaut ".").


:: Options de copie :

/S :: copie les sous-répertoires non vides
uniquement.
/E :: copie les sous-répertoires, y compris les
vides.
/LEV:n :: copie uniquement les n premiers niveaux de
l’arborescence source.

/Z :: copie les fichiers en mode de redémarrage.
/B :: copie les fichiers en mode de sauvegarde.
/ZB :: utilise le mode de redémarrage ; si l’accès est refusé, utilise le mode de sauvegarde.
/J :: copier à l’aide d’E/S non mises en mémoire tampon (recommandé pour les fichiers volumineux).
/EFSRAW :: copie tous les fichiers chiffrés en mode EFS RAW.

/COPY:indicateurscopie :: spécifie les éléments à copier pour les fichiers (/COPY:DAT par défaut).
(copyflags : D=Données, A=Attributs, T=Horodatages, X=Ignorer les flux de données Alt).
(S=Sécurité=ACL NTFS, O=infos prOpriétaire,
U=infos d’aUdit).

/SEC :: copie des fichiers avec sécurité (équivaut à /COPY:DATS).
/COPYALL :: copie toutes les infos de fichiers  (équivaut à /COPY:DATSOU).
/NOCOPY :: ne copie aucune info de fichier (utile avec /PURGE).
/SECFIX :: corrige la sécurité de tous les fichiers, même les fichiers ignorés.
/TIMFIX :: corrige les horodatages de tous les fichiers, même les fichiers ignorés.

/PURGE :: supprime les fichiers/répertoires de destination qui n’existent plus dans la source.
/MIR :: met en MIRoir une arborescence (équivaut à /E plus /PURGE).

/MOV :: déplace les fichiers (les supprime de la source après la copie).
/MOVE :: déplace les fichiers ET les répertoires (les supprime de la source après la copie).

/A+:[RASHCNET] :: ajoute les Attributs donnés aux fichiers copiés.
/A-:[RASHCNET] :: supprime les Attributs donnés des fichiers copiés.

/CREATE :: crée une arborescence et des fichiers de longueur nulle uniquement.
/FAT :: crée des fichiers de destination au format de nom 8.3 FAT uniquement.
/256 :: désactive la prise en charge des chemins d’accès très longs (> 256 caractères).

/MON:n :: source du moniteur ; réexécuté lorsque plus de n modifications sont observées.
/MOT:m :: source du moniteur ; réexécuté après m minutes en cas de modification.

/RH:hhmm-hhmm :: heures d’exécution : heures auxquelles de nouvelles copies peuvent être lancées.
/PF :: vérifie les heures d’exécution Par Fichier (et non par passage).

/IPG:n :: délai entre les paquets (ms) pour libérer la bande passante sur les lignes bas débit.

/SJ :: copie les jonctions comme des jonctions plutôt que comme des cibles de jonction.
/SL :: copie les liens symboliques comme des liens plutôt que comme des cibles de lien.

/MT[:n] :: Effectuer des copies multi-thread avec n threads (par défaut, 8).
n doit être au moins égal à 1 et non supérieur à 128.
Cette option est incompatible avec les options /IPG et /EFSRAW.
Redirige la sortie avec l’option /LOG pour de meilleures performances.

/DCOPY:indicateur(s)copie :: éléments à copier pour les répertoires (valeur par défaut : /DCOPY:DA).
(copyflags : D=Données, A=Attributs, T=Horodatages, E=EAs, X=Ignorer les flux de données Alt).

/NODCOPY :: ne copie aucune info de répertoire (valeur par défaut : /DCOPY:DA).

/NOOFFLOAD :: copier les fichiers sans utiliser le mécanisme de déchargement de copie de Windows.

/COMPRESS :: Demander une compression réseau pendant le transfert de fichiers, si nécessaire.

::
:: Options de sélection des fichiers :
::
/A :: copie uniquement les fichiers où l’attribut Archive est défini.
/M :: copie uniquement les fichiers où l’attribut Archive est défini et le réinitialise.
/IA:[RASHCNETO] :: Inclut uniquement les fichiers où l’un des Attributs donnés est défini.
/XA:[RASHCNETO] :: eXclut les fichiers où l’un des Attributs donnés est défini.

/XF fichier [fichier]... :: eXclut les fichiers correspondant aux noms/chemins/caractères génériques donnés.
/XD répertoires [répertoires]... :: eXclut les répertoires correspondant à des noms/chemins donnés.

/XC :: eXclut les fichiers Changés.
/XN :: eXclut les fichiers Nouveaux.
/XO :: eXclut les fichiers anciens.
/XX :: eXclut les fichiers et répertoires supplémentaires.
/XL :: eXclut les fichiers et répertoires solitaires.
/IS :: Inclut les mêmeS fichiers.
/IT :: Inclut les fichiers optimisés.

/MAX:n :: taille de fichier maximale : exclut les fichiers de taille supérieure à n octets.
/MIN:n :: taille de fichier minimale : exclut les fichiers de taille inférieure à n octets.

/MAXAGE:n :: Antériorité maximale du fichier : exclut les fichiers plus anciens que n jours/qu’une date n.

/MINAGE:n :: Antériorité minimale du fichier : exclut les fichiers plus récents que n jours/qu’une date n.
/MAXLAD:n :: dernière date d’accès MAXimale : exclut les fichiers inutilisés depuis n.
/MINLAD:n :: dernière date d’accès MINimale : exclut les fichiers utilisés depuis n. (si n < 1900, alors n = n jours, sinon n = date JJMMAAA).

/FFT :: suppose des heures de fichier FAT (granularité de 2 secondes).
/DST :: compense les différences d’heure d’été d’une heure.

/XJ :: exclut les liens symboliques (pour les fichiers et les répertoires) et les points de jonction.
/XJD :: exclut les liens symboliques pour les répertoires et les points de jonction.
/XJF : exclut les liens symboliques pour les fichiers.

/IM :: Inclure les fichiers modifiés (heures de modification différentes).
::
:: Options de nouvelle tentative :
::
/R:n :: nombre de tentatives après l’échec de copies : 1 million par défaut.
/W:n :: délai entre les tentatives : 30 secondes par défaut.

/REG :: enregistre /R:n et /W:n comme paramètres par défaut dans le Registre.

/TBD :: attend la définition de Sharenames (erreur de nouvelle tentative 67).

/LFSM :: fonctionnement en mode espace libre faible, activation de l'interruption et de la reprise de la copie (voir Remarques).

/LFSM:n[KMG] :: /LFSM, spécifiant la taille du plancher en n [K:kilo,M:mega,G:giga] octets.

::
:: Options d’enregistrement dans le journal :
::
/L :: Liste uniquement : pas de copie, d’horodatage ou de suppression de fichiers.
/X :: signale tous les fichiers supplémentaires et pas uniquement ceux sélectionnés.
/V :: produit un résultat détaillé en affichant les fichiers ignorés.
/TS :: inclut les horodaTageS des fichiers sources dans le résultat.
/FP :: inclut le chemin d’accès complet des fichiers dans le résultat.
/BYTES :: affiche les tailles en octets.

/NS :: pas de taille : n’enregistre pas les tailles de fichier.
/NC :: pas de classe : n’enregistre pas les classes de fichier.
/NFL :: pas de liste de fichiers : n’enregistre pas les noms de fichiers.
/NDL :: pas de liste de répertoires : n’enregistre pas les noms de répertoire.

/NP :: pas de compteur de progression : n’affiche pas le pourcentage copié.
/ETA :: affiche l’heure de fin estimée de la copie des fichiers.

/LOG:fichier :: copie le statut dans le fichier journal (remplace le journal existant).
/LOG+:fichier :: copie le statut dans le fichier journal (ajoute au journal existant).

/UNILOG:fichier :: copie le statut dans le fichier journal en Unicode (remplace le journal existant).
/UNILOG+:fichier :: copie le statut dans le fichier journal en Unicode (ajoute au journal existant).

/TEE :: résultat dans la fenêtre de la console et dans le fichier journal.

/NJH :: pas d’en-tête de tâche.
/NJS :: pas de résumé de tâche.

/UNICODE :: sortie au format UNICODE.

::
:: Options de tâche :
::
/JOB:NomTâche :: prend les paramètres du fichier de tâche nommé.
/SAVE:NomTâche :: enregistre les paramètres dans le fichier nommé
/QUIT :: arrête après traitement de la ligne de commande (pour afficher les paramètres).
/NOSD :: aucun répertoire source spécifié.
/NODD :: aucun répertoire de destination spécifié.
/IF :: Inclut les fichiers suivants.

::
:: Remarques :
::
L'utilisation de /PURGE ou de /MIR sur le répertoire racine du volume a précédemment causé l'application par Robocopy de l'opération demandée sur les fichiers du répertoire System
Volume Information également. Ce n'est plus le cas. Si l'un ou l'autre est spécifié, Robocopy va ignorer tous les fichiers ou répertoires avec ce nom dans les répertoires source et de destination de niveau supérieur de la session de copie.

La classification des fichiers modifiés ne s'applique que lorsque les systèmes de fichier source et de destination prennent en charge les horodatages de modification (par ex. NTFS) et que les fichiers source et de destination possèdent différentes heures de modification, mais sont autrement identiques. Ces fichiers ne sont pas copiés par défaut ; précisez /IM pour les inclure.

L'indicateur /DCOPY:E demande que la copie de l'attribut étendu soit tentée pour les répertoires. Notez que Robocopy continue actuellement si les EA d'un répertoire n'ont pas pu être copiés. Cet indicateur n'est pas non plus inclus dans /COPYALL.

Utilisation des demandes /LFSM Robocopy pour opérer en « mode d’espace libre faible ». dans ce mode, Robocopy s’interrompt chaque fois qu’une copie de fichier provoquerait l'
espace libre du volume de destination pour aller au-dessous d’une valeur « Plancher », qui peut être explicitement spécifié par la forme LFSM:n[KMG] de l’indicateur.

Si /LFSM est spécifié sans valeur de plancher explicite, le plancher est défini sur dix pour cent de la taille du volume de destination. mode espace libre faible est incompatible avec /MT, /EFSRAW, /B et /ZB.

 

Page 1 sur 38