L’architecte numérique

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue pour votre deuxième journée chez LabEx Corporation ! Après la reconnaissance réussie du système hier, vous avez été promu au poste d’architecte numérique pour le projet Phoenix. L’équipe de développement a été impressionnée par la rigueur de votre documentation et votre souci du détail.

Cependant, un problème urgent requiert votre attention immédiate. L’administrateur système précédent a quitté l’entreprise précipitamment et les fichiers du projet Phoenix sont complètement désorganisés. Le code source, la documentation et les fichiers de configuration sont dispersés dans un seul répertoire. Les paramètres critiques sont vulnérables en l’absence de sauvegardes, et d’anciens fichiers journaux encombrent le serveur de développement que vous avez examiné hier.

Votre mission consiste à concevoir une structure de fichiers propre, logique et efficace, capable d’accompagner l’équipe de développement qui s’agrandit. En créant les bons répertoires, en organisant les fichiers, en sécurisant les sauvegardes et en supprimant les anciennes données, vous établirez les bases nécessaires à la réussite du projet Phoenix.

Sarah Chen, la développeuse principale, compte sur vous pour transformer ce chaos en un environnement de développement organisé et professionnel. Votre travail d’aujourd’hui aura un impact direct sur la productivité de l’équipe et le calendrier du projet. Commençons !

Mettre en place la structure de répertoires du projet

Votre première tâche consiste à créer une structure de répertoires adaptée dans le répertoire phoenix_project. Une structure bien définie sépare les différents types de fichiers, ce qui facilite la navigation et la maintenance du projet.

Tâches

  1. Accédez au répertoire ~/project/phoenix_project.
  2. Créez trois nouveaux sous-répertoires : src pour le code source, config pour les fichiers de configuration et docs pour la documentation.

Exigences

  • Tous les nouveaux répertoires doivent être créés dans le répertoire ~/project/phoenix_project.
  • Les noms des répertoires doivent être exactement src, config et docs.
  • Vous devez utiliser une seule commande pour créer les trois répertoires simultanément.

Exemples

Une fois cette étape terminée, votre structure de répertoires doit être la suivante :

~/project/phoenix_project/
├── config/
├── docs/
├── src/
├── README.md
├── config.json
└── main_app.py

Lorsque vous exécutez ls -F dans le répertoire ~/project/phoenix_project, vous devez obtenir :

README.md  config/  config.json  docs/  main_app.py  src/

Le symbole / après un nom indique qu’il s’agit d’un répertoire et non d’un fichier.

Indices

  • Utilisez la commande cd pour changer de répertoire courant.
  • La commande mkdir sert à créer de nouveaux répertoires.
  • mkdir accepte plusieurs arguments et peut donc créer plusieurs répertoires en une seule fois.

La nouvelle structure de répertoires est en place. Vous devez maintenant déplacer les fichiers existants du projet vers les répertoires qui leur sont destinés. Le répertoire racine du projet sera ainsi nettoyé et les fichiers seront plus faciles à trouver.

Tâches

  1. Déplacez le fichier main_app.py dans le répertoire src.
  2. Déplacez le fichier config.json dans le répertoire config.
  3. Déplacez le fichier README.md dans le répertoire docs.

Exigences

  • Vérifiez que vous vous trouvez dans le répertoire ~/project/phoenix_project avant d’effectuer les déplacements.
  • Utilisez la commande mv pour déplacer chaque fichier.

Exemples

Après le déplacement des fichiers, la structure du projet doit être organisée comme suit :

~/project/phoenix_project/
├── config/
│ └── config.json
├── docs/
│ └── README.md
└── src/
└── main_app.py

Lorsque vous exécutez ls -F dans le répertoire racine ~/project/phoenix_project, la commande doit afficher uniquement les répertoires :

config/  docs/  src/

Chaque fichier doit maintenant se trouver dans le sous-répertoire approprié :

  • ls src/main_app.py
  • ls config/config.json
  • ls docs/README.md

Indices

  • La commande mv sert à déplacer ou à renommer des fichiers et des répertoires.
  • Sa syntaxe de base est mv [SOURCE] [DESTINATION].
  • Par exemple, pour déplacer file.txt dans un répertoire nommé documents, utilisez mv file.txt documents/.

Sauvegarder les fichiers de configuration critiques

Le fichier config.json contient des paramètres critiques pour le projet Phoenix. Avant toute modification, il est essentiel de créer une sauvegarde par mesure de sécurité. Votre prochaine tâche consiste à créer une copie de ce fichier.

Tâches

  1. Créez une copie de sauvegarde du fichier config.json.

Exigences

  • Le fichier de sauvegarde doit être créé dans le répertoire ~/project/phoenix_project/config/.
  • Le nom du fichier de sauvegarde doit être exactement config.json.bak.

Exemples

Après la création de la sauvegarde, votre répertoire config doit contenir les deux fichiers :

~/project/phoenix_project/config/
├── config.json
└── config.json.bak

Lorsque vous exécutez ls dans le répertoire ~/project/phoenix_project/config/, vous devez obtenir :

config.json  config.json.bak

Les deux fichiers doivent avoir un contenu identique, car le fichier .bak est une copie exacte de l’original :

## These commands should show identical output
cat config.json
cat config.json.bak

Indices

  • La commande cp sert à copier des fichiers et des répertoires.
  • Sa syntaxe est cp [SOURCE] [DESTINATION].
  • Vous devez fournir le chemin complet du fichier source ainsi que le chemin complet du nouveau fichier de sauvegarde.

Réorganiser les ressources partagées de l’équipe

Vous avez découvert un nouvel élément important : un répertoire nommé shared_docs, situé dans ~/project/shared_docs. Ce répertoire contient des consignes importantes pour l’équipe ainsi que des spécifications d’API qui doivent rejoindre le reste de la documentation du projet. Votre tâche consiste à l’intégrer à la structure principale du projet.

Tâches

  1. Déplacez l’intégralité du répertoire shared_docs et tout son contenu dans le répertoire ~/project/phoenix_project/docs/.

Exigences

  • Le répertoire source est ~/project/shared_docs.
  • Le chemin de destination est ~/project/phoenix_project/docs/.
  • Vous devez déplacer le répertoire entier, et pas seulement son contenu.

Exemples

Après le déplacement du répertoire shared_docs, votre structure de documentation doit être la suivante :

~/project/phoenix_project/docs/
├── README.md
└── shared_docs/
├── api_spec.doc
└── team_guidelines.txt

Lorsque vous exécutez ls dans le répertoire ~/project/phoenix_project/docs/, vous devez obtenir :

README.md  shared_docs/

Le répertoire shared_docs doit contenir tous ses fichiers d’origine :

ls ~/project/phoenix_project/docs/shared_docs/
api_spec.doc  team_guidelines.txt

L’emplacement d’origine ~/project/shared_docs ne doit plus exister.

Indices

  • La commande mv fonctionne pour les répertoires comme pour les fichiers.
  • Lorsque vous déplacez un répertoire, tout son contenu est automatiquement déplacé avec lui.
  • La commande aura la forme mv [SOURCE_DIRECTORY] [DESTINATION_DIRECTORY].

Archiver et supprimer les anciens fichiers journaux

Votre dernière tâche concerne un peu de maintenance. Le répertoire ~/project/logs accumule des fichiers journaux, et ceux de 2023 ne sont plus nécessaires aux opérations quotidiennes. Pour libérer de l’espace et conserver une structure propre, vous devez compresser ces anciens journaux dans une seule archive, puis supprimer les fichiers d’origine.

Comprendre la commande tar

La commande tar est un outil Linux puissant qui permet de créer et de manipuler des archives. « Tar » signifiait à l’origine « Tape Archive », car cet outil était conçu pour écrire des données sur des bandes magnétiques. Aujourd’hui, il sert couramment à créer des archives compressées sur disque.

Avec tar, vous regroupez plusieurs fichiers dans un seul fichier appelé archive, puis vous pouvez éventuellement compresser cette archive pour économiser de l’espace. Le format de compression le plus courant est gzip, qui ajoute l’extension .gz au nom du fichier.

La commande tar utilise différentes options pour contrôler son comportement :

  • c : créer une nouvelle archive ;
  • z : compresser l’archive avec gzip ;
  • f : indiquer le nom du fichier d’archive.

Ainsi, tar -czf archive.tar.gz file1 file2 crée une nouvelle archive compressée nommée archive.tar.gz, contenant file1 et file2.

Tâches

  1. Accédez au répertoire ~/project/logs.
  2. Créez une archive tar compressée nommée old_logs.tar.gz, contenant tous les fichiers journaux de l’année 2023.
  3. Une fois l’archive créée avec succès, supprimez les fichiers journaux originaux de 2023 que vous venez d’archiver.

Exigences

  • L’archive finale doit être nommée exactement old_logs.tar.gz.
  • L’archive doit se trouver dans le répertoire ~/project/logs.
  • Seuls les fichiers journaux dont le nom contient 2023 doivent être archivés puis supprimés.
  • Le fichier journal de 2024 (app_2024-05-01.log) ne doit être ni inclus dans l’archive ni supprimé.

Exemples

Avant l’archivage, le répertoire des journaux contient :

~/project/logs/
├── app_2023-01-15.log
├── app_2024-05-01.log
└── db_2023-02-20.log

Après l’archivage, le répertoire des journaux doit être organisé comme suit :

~/project/logs/
├── app_2024-05-01.log
└── old_logs.tar.gz

Lorsque vous exécutez ls dans le répertoire ~/project/logs/, vous devez obtenir :

app_2024-05-01.log  old_logs.tar.gz

Indices

  • Utilisez la commande tar pour créer des archives. Les options -czf forment une combinaison pratique : c (créer), z (compresser avec gzip) et f (indiquer le nom du fichier).
  • Vous pouvez utiliser un caractère générique (*) pour sélectionner plusieurs fichiers correspondant à un motif. Par exemple, *_2023-*.log correspond à tous les fichiers qui se terminent par .log et dont le nom contient _2023-.
  • La commande rm sert à supprimer des fichiers. Soyez prudent lorsque vous l’utilisez avec des caractères génériques !

Résumé

Excellent travail, architecte numérique ! Vous avez transformé avec succès le projet Phoenix, qui était chaotique, en un environnement de développement bien organisé. Sarah Chen et toute l’équipe de développement sont ravies de votre travail. Vous avez créé une structure de répertoires logique, organisé les fichiers critiques, sécurisé les configurations grâce à des sauvegardes et nettoyé les ressources du système en archivant les anciens journaux.

Ces compétences fondamentales de la ligne de commande Linux — mkdir, mv, cp, tar et rm — constituent la base de l’administration système professionnelle. Le travail d’organisation réalisé aujourd’hui a créé des fondations solides qui accompagneront le projet Phoenix tout au long de son cycle de développement.

L’équipe de développement peut désormais travailler efficacement dans un environnement correctement structuré. Demain, vous relèverez un nouveau défi en tant qu’enquêteur des journaux, lorsque l’équipe rencontrera ses premiers problèmes techniques. Votre approche méthodique de l’organisation vous sera très utile pour résoudre les problèmes !

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer