1 line
30 KiB
JSON
1 line
30 KiB
JSON
[{"uuid":"3f343d70-09f4-44d5-acbe-dee5773ba4f1","slug":"rm","title":"rm","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-18 11:54:12","created_at":"2023-02-18 11:54:12","updated_at":"2023-02-18 11:54:12","tags":[],"plain":"La commande sur Linux est une commande qui permet de supprimer des fichiers ou des répertoires. est l'abréviation de remove (supprimer) et elle est utilisée pour supprimer des fichiers ou des répertoires de manière permanente. La syntaxe de base de la commande est la suivante : rm [options] fichier1 fichier2 ... Par exemple, pour supprimer un fichier nommé , on peut utiliser la commande : rm mon_fichier.txt La commande supprime les fichiers de manière permanente et qu'il n'y a pas de moyen simple de récupérer les fichiers supprimés à l'aide de cette commande. Il est donc important de faire attention lors de l'utilisation de la commande et de vérifier que le ou les fichiers à supprimer sont bien ceux que vous souhaitez supprimer. Pour effacer des fichiers ou des répertoires avec une notion de corbeille (c'est-à-dire, les déplacer vers un dossier spécial au lieu de les supprimer définitivement), vous pouvez utiliser la commande ."},{"uuid":"d1cf75e4-974d-4341-95b1-95385e761257","slug":"les-commandes-a-connaitre","title":"Les commandes Linux à connaître","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-01-16 00:22:59","created_at":"2023-01-16 00:22:59","updated_at":"2023-01-16 00:22:59","tags":[],"plain":"Les commandes Linux les plus importantes à connaître en premier sont :\nls : permet de lister les fichiers et dossiers dans un répertoire.\ncd : permet de se déplacer dans les répertoires.\npwd : permet de connaître le chemin absolu du répertoire courant.\nmkdir : permet de créer un nouveau répertoire.\nrmdir : permet de supprimer un répertoire vide.\ntouch : permet de créer un nouveau fichier.\nrm : permet de supprimer un fichier ou un répertoire.\ncp : permet de copier un fichier ou un répertoire.\nmv : permet de déplacer ou renommer un fichier ou un répertoire.\nsu : permet de se connecter avec un autre compte ou root.\nsudo : permet d'exécuter une commande en tant qu'administrateur.\nman : permet d'afficher la page de manuel d'une commande.\necho : permet d'afficher des informations dans la console.\nexit : permet de quitter la session actuelle.\nreboot : permet de redémarrer le système. Cela vous donnera un bon départ pour naviguer et gérer les fichiers et les répertoires dans un système Linux. Après avoir maîtrisé les commandes de base de Linux, il est utile de continuer à explorer d'autres commandes qui peuvent être utiles pour gérer et administrer votre système. Voici quelques exemples de commandes supplémentaires qui peuvent être utiles :\nps : permet d'afficher les processus en cours d'exécution sur votre système.\nkill : permet de terminer un processus en cours d'exécution.\ntop : permet d'afficher les processus les plus gourmands en ressources en temps réel.\ndf : permet de vérifier l'utilisation de l'espace disque.\ndu : permet de vérifier l'utilisation de l'espace disque pour un répertoire spécifique.\nchmod : permet de modifier les autorisations d'un fichier ou d'un répertoire.\nchown : permet de changer le propriétaire d'un fichier ou d'un répertoire.\nfind : permet de rechercher des fichiers ou des répertoires en fonction de critères spécifiques.\ncat : permet d'afficher le contenu d'un fichier.\nnano : permet d'éditer le contenu d'un fichier.\ntail : permet d'afficher les dernières d'un fichier.\nhead : permet d'afficher les premières d'un fichier.\nsed : permet de modifier des fichiers de texte de manière automatisée.\nawk : permet de traiter les données de manière avancée, comme la création de statistiques à partir de données enregistrées. Il existe énormément de commandes Linux, chacun a des utilisations spécifiques."},{"uuid":"a2487513-2848-4e62-bd19-d8ebb205e502","slug":"progressive-web-apps-dossier-2026","title":"Progressive Web Apps — Dossier 2026","category":"","author":"cedric@abonnel.fr","cover":"cover.jpg","published":true,"published_at":"2026-05-15 07:53","created_at":"2026-05-13 18:58:29","updated_at":"2026-05-13 19:06:33","tags":[],"plain":"1. Qu'est-ce qu'une PWA ?\r\n\r\nUne Progressive Web App est une application web qui, grâce à des APIs modernes des navigateurs, se comporte comme une application native : installable sur l'écran d'accueil, capable de fonctionner hors ligne, de recevoir des notifications push, de s'intégrer au système d'exploitation, tout en restant un site web indexable par les moteurs de recherche.\r\n\r\nLe mot clé est progressive : l'expérience s'enrichit selon les capacités du navigateur et de l'appareil. Sur un Chrome récent sous Android, la PWA offre une expérience proche du natif ; sur un vieux navigateur, elle reste un site web fonctionnel.\r\n\r\nUne PWA repose sur trois piliers techniques :\r\nHTTPS obligatoire — sécurité et confiance, prérequis pour toutes les APIs sensibles.\r\nService Worker — un script JavaScript qui tourne en arrière-plan, intercepte les requêtes réseau, gère le cache et les notifications.\r\nManifest () — un fichier JSON qui décrit l'application (nom, icônes, couleurs, mode d'affichage) pour permettre son installation.\r\n\r\nTrois critères définissent une PWA selon Google : elle doit être fiable (charge instantanément, même hors ligne), rapide (réagit vite aux interactions) et engageante (sensation d'application native, réengagement par notifications).\r\n\r\n2. Histoire et promoteurs\r\n\r\nL'idée d'une convergence web/natif n'est pas neuve. Steve Jobs, en 2007, présentait initialement l'iPhone sans App Store : les développeurs étaient censés faire des « web apps ». L'App Store est arrivé un an plus tard et a marginalisé cette vision pendant près d'une décennie.\r\n\r\nLe terme « Progressive Web App » est proposé en 2015 par la designer Frances Berriman et l'ingénieur Google Alex Russell, pour désigner les sites tirant parti des nouvelles APIs (service workers notamment, standardisés à partir de 2014-2015).\r\n\r\nLes promoteurs historiques :\r\nGoogle — moteur principal. Pousse la spécification, intègre les PWA à Chrome, Android, ChromeOS, et au Play Store (depuis 2019, on peut publier une PWA empaquetée via TWA — Trusted Web Activity).\r\nMicrosoft — second souffle majeur. Edge intègre les PWA nativement, et Windows permet leur publication au Microsoft Store via packaging MSIX. En mai 2025, Edge a ajouté les App Actions on Windows pour les PWA, améliorant la découvrabilité système.\r\nMozilla — soutien historique des standards, support solide dans Firefox (bien que l'installation desktop ait été retirée puis partiellement réintégrée selon les versions).\r\nApple — adoption lente et réticente, voir section 6.\r\n\r\nLes premiers grands déploiements (vers 2016-2017) ont servi de cas d'école : Twitter Lite, AliExpress, Pinterest, Flipkart, Starbucks, Uber, Tinder, Trivago. Tous ont publié des chiffres montrant des gains d'engagement et de conversion significatifs, ce qui a légitimé le modèle auprès des grandes entreprises.\r\n\r\n3. Comment ça marche techniquement\r\n\r\n3.1 Le manifeste\r\n\r\nFichier JSON déclaratif qui dit au navigateur : « ce site est installable, voici comment il doit se présenter ».\r\n\r\n\r\n\r\nRéférencé dans le HTML :\r\n\r\n\r\n\r\nLe mode retire la barre d'adresse au lancement depuis l'écran d'accueil ; masque même la barre système.\r\n\r\n3.2 Le Service Worker\r\n\r\nScript JavaScript qui s'exécute dans un thread séparé, sans accès direct au DOM, et qui agit comme un proxy programmable entre l'application et le réseau.\r\n\r\n\r\n\r\nEnregistrement depuis la page principale :\r\n\r\n\r\n\r\n3.3 Stratégies de cache\r\n\r\nQuatre patterns canoniques selon le type de ressource :\r\nCache-first — sert le cache, va sur le réseau si absent. Idéal pour les assets statiques (CSS, JS, polices).\r\nNetwork-first — tente le réseau, retombe sur le cache en cas d'échec. Idéal pour les contenus dynamiques (articles, posts).\r\nStale-while-revalidate — sert le cache immédiatement, met à jour en arrière-plan. Bon compromis pour les contenus semi-dynamiques (listes, avatars).\r\nNetwork-only / Cache-only — cas particuliers (analytics, données critiques).\r\n\r\n3.4 Les APIs modernes mobilisables\r\n\r\nEn 2026, l'écosystème PWA s'appuie sur un éventail large :\r\nPush API + Notifications API — notifications push, y compris sur iOS 16.4+ (sous conditions).\r\nBackground Sync — différer une requête jusqu'au retour de la connectivité (Chrome/Edge ; pas sur iOS).\r\nPeriodic Background Sync — déclencher du code à intervalle régulier (Chrome/Edge uniquement).\r\nWeb Share API — utiliser le menu de partage natif du système.\r\nFile System Access API — lire/écrire dans des fichiers locaux (Chrome/Edge).\r\nWebGPU, WebAssembly SIMD, WebNN — calcul intensif et inférence IA côté client.\r\nBadging API — afficher un badge numérique sur l'icône d'app.\r\nWeb Bluetooth, Web USB, Web Serial — accès matériel (Chrome/Edge, hors iOS).\r\nPayment Request API — paiements unifiés, dont Apple Pay sur Safari.\r\n\r\n4. Exemples emblématiques\r\n\r\nLes références suivantes ont structuré la perception du modèle PWA. Les chiffres sont ceux publiés par les entreprises à l'époque de leur migration.\r\n\r\nTwitter Lite (2017) — Twitter a déployé une PWA pesant moins de 1 Mo (contre 23 Mo pour l'app native Android). Résultat : +65 % de pages par session, +75 % de tweets envoyés, −20 % de taux de rebond. Nicolas Gallagher, alors lead du projet, résumait : « Twitter Lite is now the fastest, least expensive, and most reliable way to use Twitter. »\r\n\r\nAliExpress — Migration de leur site mobile vers une PWA. Doublement du temps passé par session, +104 % de taux de conversion pour les nouveaux utilisateurs sur tous les navigateurs.\r\n\r\nPinterest — Refonte en PWA en 2017. Le poids initial du bundle JavaScript est passé de 650 Ko à 150 Ko. Temps passé +40 %, revenus publicitaires +44 %, engagement utilisateur +60 %.\r\n\r\nStarbucks — Une PWA pour la commande en ligne, environ 600 Ko (contre 148 Mo pour l'app iOS native). Double des commandes quotidiennes via le web, avec des chiffres particulièrement marqués sur les marchés à faible bande passante.\r\n\r\nSpotify, Uber, Tinder, Trivago, BMW, Forbes, The Washington Post — Tous ont déployé des versions PWA, soit en remplacement de leur site mobile, soit en complément de l'app native.\r\n\r\nNote d'objectivité : ces cas remontent majoritairement à 2017-2019. Beaucoup ont été suivis d'allers-retours stratégiques (certaines entreprises ont depuis re-priorisé le natif pour des raisons de fonctionnalités ou de distribution). Twitter, par exemple, a depuis fait évoluer son web app et son app native en parallèle. Ces chiffres restent illustratifs d'un potentiel, pas d'une vérité universelle.\r\n\r\n5. Où en est-on en 2026 ?\r\n\r\n5.1 Maturité du modèle\r\n\r\nTrois leviers ont fait basculer les PWA d'une expérimentation à une option pragmatique :\r\n\r\n1. Maturité des APIs clés — service worker stable, manifest standardisé, Web Push enfin disponible sur Safari (iOS 16.4+).\r\n2. Intégration croissante par les OS et stores — packaging MSIX vers le Microsoft Store, TWA vers le Play Store, App Actions sur Windows, mode app par défaut sur iOS 26.\r\n3. Preuves de ROI répétées sur une décennie de déploiements.\r\n\r\n5.2 Chiffres du marché\r\n\r\nLes estimations convergent vers une croissance soutenue. Selon Research Nester, le marché mondial des PWA dépassait 2,47 Md$ en 2025, est estimé à 3,14 Md$ en 2026, avec une projection à 34,58 Md$ d'ici 2035 (TCAC supérieur à 30 %).\r\n\r\nL'adoption reste cependant concentrée : selon les datasets publics (HTTP Archive / Web Almanac), une fraction modeste des sites déclarent un service worker, mais ces sites représentent une part disproportionnée du trafic mondial — autrement dit, ce sont les gros sites qui adoptent.\r\n\r\n5.3 Nouveautés récentes\r\nDeclarative Web Push (Safari 18.4, 2025) — alternative simplifiée au Web Push impératif, ne nécessitant pas de service worker pour des notifications basiques.\r\nApp Actions on Windows pour les PWA (Edge, mai 2025) — les PWA peuvent déclarer des actions invocables depuis la barre de recherche Windows.\r\niOS 26 — tout site ajouté à l'écran d'accueil s'ouvre par défaut en mode application, même sans manifest. Avancée notable côté Apple.\r\nWebGPU, WebNN, WebAssembly SIMD — débloquent l'inférence IA côté client, ouvrant la voie à des PWA capables de traitements lourds locaux (vision, NLP, recommandation).\r\n\r\n5.4 Verrous résiduels\r\nDécouvrabilité — beaucoup d'utilisateurs ne savent pas qu'« ajouter à l'écran d'accueil » installe une vraie app. Pas de prompt automatique sur iOS.\r\nFragmentation des APIs — Chrome/Edge avancent vite, Safari traîne, Firefox se positionne au cas par cas. Le détection de feature reste obligatoire.\r\nStockage — quotas plus stricts sur iOS qu'ailleurs, avec un risque d'éviction du cache après 7 jours sans utilisation sur certaines configurations.\r\nMonétisation — pas de système intégré de paiement in-app comme l'App Store. Il faut passer par Stripe, Apple Pay via Payment Request, etc.\r\n\r\n6. Le cas iOS : limites et particularités\r\n\r\nApple a toujours été le frein principal à l'adoption universelle des PWA. Les raisons sont à la fois techniques et stratégiques (revenus de l'App Store, contrôle de la plateforme, monopole de WebKit).\r\n\r\nCe qui marche en 2026 sur iOS :\r\nInstallation manuelle sur l'écran d'accueil (mais pas de prompt automatique).\r\nMode standalone (fenêtre sans barre d'adresse).\r\nService workers (avec des quotas et limitations).\r\nPush notifications, uniquement si la PWA a été installée à l'écran d'accueil (depuis iOS 16.4).\r\nApple Pay via Payment Request API.\r\nGéolocalisation, caméra, microphone.\r\n\r\nCe qui ne marche pas ou mal :\r\nPas de Background Sync ni de Periodic Background Sync.\r\nPas de Web Bluetooth, Web USB, Web NFC.\r\nStockage limité, susceptible d'être purgé sans usage.\r\nPas de silent push ni de réveil en arrière-plan.\r\nL'audience effectivement joignable par push est environ 10 à 15 fois plus petite que sur app native, une fois pris en compte le parcours d'installation multi-étapes.\r\n\r\nLe détour DMA en Europe : en 2024, Apple a brièvement annoncé supprimer le mode standalone pour les PWA dans l'UE (iOS 17.4) au prétexte du Digital Markets Act, ce qui aurait réduit les PWA à de simples raccourcis Safari. Décision rapidement annulée après tollé : le support PWA complet a été rétabli dans l'UE. Épisode révélateur de la position ambiguë d'Apple.\r\n\r\nVerdict pratique 2026 : Apple a fait des progrès (push en 16.4, Declarative Web Push en 18.4, app mode par défaut en iOS 26), mais à un rythme lent et avec des marges de manœuvre étroites. Pour un projet ciblant fortement iOS et reposant sur du push fiable, du background sync ou de l'intégration profonde au système, le natif (ou hybride) reste l'option plus sûre.\r\n\r\n7. PWA vs natif vs hybride\r\nCritère | PWA | Natif (iOS/Android) | Hybride (RN, Flutter) |\r\n---|---|---|---|\r\nCodebase | Unique (web) | 2 séparés | 1 partagé, ponts natifs |\r\nDistribution | URL + stores optionnels | App Store, Play Store obligatoires | Stores obligatoires |\r\nMises à jour | Instantanées | Validation store (jours) | Validation store |\r\nDécouvrabilité SEO | Oui (indexé Google) | Non | Non |\r\nCoût de dev (typique) | 1× | 2-3× | 1,3-1,8× |\r\nPerformance UI | Bonne à très bonne | Maximale | Très bonne |\r\nAccès matériel | Partiel, variable selon OS | Total | Quasi-total |\r\nNotifications push iOS | Oui, sous conditions | Oui, sans conditions | Oui |\r\nFrais store (achats numériques) | 0 % | 15-30 % | 15-30 % |\r\nHors ligne | Oui via service worker | Oui | Oui |\r\n\r\nQuand choisir une PWA\r\nAudience web-first (desktop + mobile navigateur).\r\nSEO comme canal d'acquisition stratégique.\r\nTime-to-market et coût de maintenance prioritaires.\r\nContenu plutôt que fonctionnalités matérielles avancées.\r\nMarchés émergents (stockage, bande passante limités).\r\nOutils internes B2B, portails, contenus éditoriaux, e-commerce léger.\r\n\r\nQuand préférer le natif\r\nAccès matériel profond (BLE, NFC, capteurs avancés, ARKit/ARCore).\r\nPerformances graphiques 120 fps, jeux, AR/VR.\r\nMonétisation reposant sur l'achat in-app via stores.\r\nMarque dépendant fortement de la présence App Store/Play Store.\r\n\r\nQuand choisir hybride (React Native, Flutter)\r\nPrésence store nécessaire mais sans le budget de deux codebases natives.\r\nÉquipe JavaScript ou Dart.\r\nBesoins matériels modérés mais réels.\r\n\r\n8. Pour commencer : un MVP en 4 fichiers\r\n\r\nVoici la PWA minimale viable. Quatre fichiers, aucun framework, déployable sur n'importe quel hébergement HTTPS.\r\n\r\nIcônes\r\n\r\nDeux fichiers PNG : (192×192) et (512×512). L'attribut permet à Android de découper l'icône selon la forme système (cercle, squircle, etc.).\r\n\r\nServir le tout en HTTPS (obligatoire en production ; fonctionne en dev). Configuration nginx/Apache : s'assurer que est servi avec le content-type et que n'est jamais mis en cache HTTP côté navigateur (sinon les mises à jour ne se propagent pas).\r\n\r\n\r\n\r\nTester avec Lighthouse (intégré à Chrome DevTools, onglet Lighthouse puis catégorie Progressive Web App) — fournit un score, identifie les manques, propose des corrections.\r\n\r\n9. Outils et frameworks\r\n\r\nWorkbox (Google) — la bibliothèque de référence pour les service workers. Génère du SW à partir de configurations déclaratives, gère les stratégies de cache, le préchargement, la mise à jour. Souvent utilisée via un plugin de bundler.\r\n\r\nVite PWA Plugin () — l'option la plus simple pour un projet moderne basé sur Vite. Wrap Workbox, génère manifest et SW automatiquement.\r\n\r\nNext.js — supporte les PWA via (basé sur Workbox).\r\n\r\nNuxt — officiel.\r\n\r\nAngular, Vue, Svelte — tous disposent d'intégrations PWA officielles ou bien maintenues.\r\n\r\nPWA Builder (Microsoft) — outil web qui audit un site et génère le packaging pour les stores (MSIX pour Microsoft, TWA pour Play Store).\r\n\r\nLighthouse — audit intégré à Chrome DevTools. Standard de fait pour vérifier la conformité PWA.\r\n\r\nCôté PHP (pertinent au regard du contexte de cette doc) — Symfony et Laravel n'ont pas d'extension PWA officielle, mais l'intégration est triviale puisqu'une PWA n'exige côté serveur que de servir correctement quelques fichiers statiques en HTTPS. Bundles comme ne couvrent pas le sujet ; c'est plutôt à l'asset pipeline (Webpack Encore, Vite) de gérer la génération du service worker.\r\n\r\n10. Pièges fréquents et bonnes pratiques\r\n\r\nLe service worker piégé en cache — lui-même ne doit jamais être mis en cache HTTP, sinon les utilisateurs restent bloqués sur une ancienne version. strict côté serveur.\r\n\r\nVersionner le cache — toujours inclure une version dans le nom du cache (, ...) et purger les anciens à l'activation. Sans cela, des assets périmés peuvent persister indéfiniment.\r\n\r\nNe pas tout cacher — précharger uniquement le strict nécessaire au shell de l'application. Le reste doit être mis en cache à la demande, avec une stratégie adaptée.\r\n\r\nTester hors ligne — Chrome DevTools propose un mode Offline dans l'onglet Network. C'est le seul moyen de vérifier que les stratégies de cache fonctionnent.\r\n\r\nGérer la mise à jour — quand un nouveau service worker est détecté, il s'installe mais n'est actif qu'après fermeture de tous les onglets de la PWA. Soit forcer via + (rapide mais peut casser une session en cours), soit afficher à l'utilisateur une bannière « nouvelle version disponible ».\r\n\r\nDétection de feature, jamais détection de navigateur — , . Ne jamais sniffer .\r\n\r\nTester sur iOS réel — l'émulateur Safari ne reproduit pas toutes les limitations. Un iPhone physique est indispensable pour valider l'expérience.\r\n\r\nHTTPS impératif — même en pré-prod. Les certificats Let's Encrypt sont gratuits ; un reverse proxy bien configuré (Caddy, nginx, Traefik) suffit. NB : ce point recoupe directement la configuration habituelle d'un homelab avec reverse proxy.\r\n\r\nManifest et icônes adaptatives — utiliser avec des icônes ayant une zone de sécurité de 10 % autour du contenu, sinon Android va découper dans le visuel.\r\n\r\nPas de prompt d'installation intrusif — Chrome déclenche automatiquement un mini-info-bar quand les critères PWA sont remplis. Si on veut un prompt personnalisé, intercepter l'événement et le déclencher au moment opportun (jamais au premier chargement).\r\n\r\n\r\n\r\n11. Ressources\r\n\r\nDocumentation officielle\r\nweb.dev — section Progressive Web Apps : https://web.dev/explore/progressive-web-apps\r\nMDN Web Docs — Progressive web apps : https://developer.mozilla.org/fr/docs/Web/Progressivewebapps\r\nApple Developer — Sending web push notifications : https://developer.apple.com/documentation/usernotifications/sending-web-push-notifications-in-web-apps-and-browsers\r\nMicrosoft Edge — PWA on Windows : https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/\r\n\r\nOutils\r\nWorkbox : https://developer.chrome.com/docs/workbox\r\nPWA Builder : https://www.pwabuilder.com/\r\nLighthouse : intégré à Chrome DevTools, ou via CLI \r\n\r\nVeille\r\nWeb Almanac (HTTP Archive) — rapport annuel sur l'état du web, chapitre PWA.\r\nCan I Use : https://caniuse.com/ — compatibilité navigateur pour chaque API.\r\n\r\nÉtudes de cas\r\nweb.dev cases : https://web.dev/case-studies\r\n--\r\n\r\nDocument de référence — état au 13 mai 2026. À revoir tous les 6 à 12 mois, l'écosystème évoluant rapidement (notamment côté Apple).*"},{"uuid":"d42d2746-e68e-4f6c-993f-d9d1aeeb0238","slug":"find","title":"find","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-04-14 17:06:40","created_at":"2023-04-14 17:06:40","updated_at":"2023-04-14 17:06:40","tags":[],"plain":"La commande find sous Linux est utilisée pour rechercher des fichiers et des répertoires dans une hiérarchie de fichiers. Elle est souvent utilisée pour trouver des fichiers en fonction de leur nom, de leur type, de leur taille, de leur date de modification, de leur propriétaire ou de leurs permissions. La commande find est très puissante et flexible, elle permet de trouver des fichiers dans toute la hiérarchie de fichiers à partir du répertoire spécifié en paramètre.\n- Par exemple, si vous voulez trouver tous les fichiers portant le nom dans votre répertoire personnel et ses sous-répertoires, vous pouvez utiliser la commande : Cette commande cherchera tous les fichiers portant le nom dans le répertoire personnel et ses sous-répertoires, et affichera leur chemin absolu.\n- Pour chercher un fichier avec find dont le nom contient \"HDR\", vous pouvez utiliser l'option suivi d'un motif de recherche qui inclut la chaîne de caractères \"HDR\". Par exemple : Dans cet exemple, est le chemin courant dans lequel vous voulez rechercher le fichier. L'astérisque () est utilisé pour représenter tout texte qui peut se trouver avant et après \"HDR\" dans le nom du fichier. Cela permet de rechercher tous les fichiers dont le nom contient la chaîne de caractères \"HDR\", quelle que soit leur position dans le nom. Si vous voulez supprimer ces fichiers, vous pouvez utiliser la commande avec l'option pour supprimer les fichiers sans confirmation : Cette commande supprime tous les fichiers trouvés. L'option permet d'exécuter la commande rm pour chaque fichier trouvé, et est remplacé par le nom de chaque fichier. L'option permet de supprimer les fichiers sans confirmation. Le indique la fin de la commande à exécuter pour chaque fichier. Cependant, soyez très prudent lors de l'utilisation de la commande rm**, car une fois les fichiers supprimés, il est très difficile de les récupérer. Vérifiez deux fois avant de lancer cette commande, ou assurez-vous que vous avez une sauvegarde des fichiers importants."},{"uuid":"bd34b650-8713-4321-93df-fe2042d8e68c","slug":"manipuler-les-pdf-sous-linux","title":"Manipuler des PDF sous Linux ?","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-28 20:02:47","created_at":"2023-02-28 20:02:47","updated_at":"2023-02-28 20:02:47","tags":[],"plain":"Liste des programmes\npdfshuffler (PDF file merging, rearranging, and splitting)\\\\\nConcaténer, séparer ou modifier l'ordre des pages des fichiers PDF. pdfmod (A simple application for modifying PDF documents) poppler (Command line utilities for converting PDF files) pdftk pdf chain pdfmod\nInstaller pdfmod Executer l'installation : Résultat : pdf shuffler\nInstaller pdf shuffler Exécuter l'installation : Résultat : Utiliser pdf shuffler Poppler\nInstaller poppler Exécuter l'installation : Utiliser poppler\npoppler-utils est un collection d'outils qui s'appuie sur l'API poppler pour éditer et modifier les fichiers PDF.\npdfdetach extract embedded documents from a PDF\npdffonts lists the fonts used in a PDF\npdfimages extract all embedded images at native resolution from a PDF\npdfinfo list all infos of a PDF\npdfseparate extract single pages from a PDF\npdftocairo convert single pages from a PDF to vector or bitmap formats using cairo\npdftohtml convert PDF to HTML format retaining formatting\npdftoppm convert a PDF page to a bitmap\npdftops convert PDF to printable PS format\npdftotext extract all text from PDF\npdfunite merges several PDF The popper-utils package provides several different commands for interacting with and modifying PDF files. However, the two commands that help us the most here are pdfseparate and pdfunite. pdfseparate extracts pages into multiple PDFs that we can later merge together with pdfunite. To extract all the pages of a document into individual files, use: To export a range of pages — say just pages 3,4,5,6,7,8 and 9 of a PDF — use the command: Finally, after using pdfseparate, if we wanted to create a new document (NewColoringBook.pdf) with ColoringBook-page3.pdf and ColoringBook-page3.pdf we could use the following pdfunite command: \nPDFTK\nInstaller le programme PDFTK Utiliser PDFTK\nAssembler (merge, join) plusieurs fichiers PDF en un seul nouveau fichier PDF\nSyntaxe\nP1 - source - correspond à la liste de fichiers à assembler\nP2 - destination - correspond au fichier créé avec les documents PDF assemblés. Exemple\nAssembler in1.pdf et in2.pdf dans un nouveau fichier out1.pdf : Remarque\nSi PDFMERGE est installé sur votre poste, il rempli aussi cette fonctionnalité : PDF Chain\nPDF Chain est une interface graphique pour PDF Toolkit (pdftk). Cette interface supporte toutes les commandes disponibles dans PDF Toolkit. ImageMagick\nInstaller ImageMagick\nFedora 30 Sous Fedora 30, il suffit d’exécuter dnf pour installer le paquet présent dans des dépots fedora et updates . $ sudo dnf install ImageMagick\n \nLes dépendances à d'autres paquets sont les suivantes : provider: ImageMagick-libs-1:6.9.10.75-1.fc30.x8664\n provider: glibc-2.29-27.fc30.x8664\n provider: glibc-2.29-27.fc30.i686\nLa compil' des questions\nRecompiler un fichier PDF (pdftocairo et popple)\nDans un dossier vide, copier le fichier PDF à traiter. Se placer dans ce dossier avec la commande puis exécuter les commandes suivantes. Convertir le fichier PDF en plusieurs fichiers JPEG avec poppler : $ pdftocairo -jpeg Convertir les fichiers JPEG et les assembler en un fichier PDF avec ImageMagick : $ convert \"final.pdf\" Effacer les fichiers temporaires : $ rm .jpg\n \nLe fichier est prêt.\nRecompiler un fichier PDF (gs via ps)\nVoici une méthode avec les prorgrammes pdf2ps et ps2pdf en ligne de commande. Ces programmes sont intégrés au paquets GhostScript. On considère que l'on souhaite transformer le fichier nommé livre.pdf. Le résultat sera dans le fichier livre-opti.pdf L'option dPDFSETTINGS défini la qualité d'image issue du fichier PDF. Elle peut prendre les valeurs (du moins bon au meilleur résultat) /screen, /default, /ebook, /printer, /prepress\nRecompiler un fichier PDF (gs)\nVoici une méthode avec les prorgrammes gs en ligne de commande. Le programme gs s'appelle GhostScript qui est un interpreteur de langage PDF et PS. On considère que l'on souhaite transformer le fichier nommé livre.pdf. Le résultat sera dans le fichier livre-opti.pdf L'option dPDFSETTINGS défini la qualité d'image issue du fichier PDF. Elle peut prendre les valeurs (du moins bon au meilleur résultat) /screen, /default, /ebook, /printer, /prepress\nExtraire le texte présent dans un PDF\nVotre fichier PDF peut contenir un ensemble de textes. Celui-ci peut être extrait directement en fichier texte.\nVoici une méthode avec le prorgramme pdftotext en ligne de commande. Ce programme fait partie de la suite poppler-utils. On considère que l'on souhaite extraire le texte présent dans le fichier nommé livre.pdf. Le résultat sera dans le fichier livre.txt\nDeviner le texte d'un fichier PDF\nSi votre fichier PDF ne comporte que des images, il est nécessaire de le texte présent. Il s'agit de la méthode OCR. Voici une méthode avec le prorgramme ocrmypdf en ligne de commande. Ce programme peut être installé avec la commande :\n sudo apt install ocrmypdf On considère que l'on souhaite extraire le texte présent dans le fichier nommé livre.pdf. Le résultat sera dans le fichier livre.txt Le dictionnaire OCR s'appuie sur le programme tesseract**. Il faut installer le dictionnaire que l'on souhaite utiliser par la suite :\n sudo apt install tesseract-ocr-fra"}] |