JOUR 02 : L'Architecte Numérique

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue pour votre deuxième jour chez LabEx Corporation ! Après le succès de votre reconnaissance système d'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 qualité de votre documentation et votre sens du détail.

Cependant, un problème urgent requiert votre attention immédiate. L'ancien administrateur système est parti brusquement, laissant les fichiers du Projet Phoenix dans un désordre total. Le code source, la documentation et les fichiers de configuration sont éparpillés dans un répertoire unique. Les paramètres critiques sont vulnérables car ils ne disposent d'aucune sauvegarde, et des fichiers journaux obsolètes encombrent le serveur de développement que vous avez inspecté hier.

Votre mission consiste à concevoir une structure de fichiers propre, logique et efficace pour soutenir l'équipe de développement en pleine croissance. En créant des répertoires appropriés, en organisant les fichiers, en sécurisant les sauvegardes et en nettoyant les anciennes données, vous établirez les fondations 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 professionnel et organisé. Votre travail aujourd'hui aura un impact direct sur la productivité de l'équipe et le calendrier du projet. C'est parti !

Mise en place de la structure des répertoires du projet

Votre première tâche consiste à créer une structure de répertoires adéquate à l'intérieur du dossier phoenix_project. Une structure bien définie permet de séparer les différents types de fichiers, facilitant ainsi la navigation et la maintenance du projet.

Tâches

  1. Naviguez dans le 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 à l'intérieur de ~/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, la structure de votre répertoire devrait ressembler à ceci :

~/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 devriez voir :

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

Le symbole / après le nom des dossiers indique qu'il s'agit de répertoires et non de fichiers.

Conseils

  • Utilisez la commande cd pour changer de répertoire courant.
  • La commande mkdir est utilisée pour créer de nouveaux répertoires.
  • mkdir peut accepter plusieurs arguments pour créer plusieurs dossiers en une seule fois.
✨ Vérifier la solution et pratiquer

Maintenant que la structure des répertoires est en place, il est temps de déplacer les fichiers existants vers leurs emplacements respectifs. Cela permettra de nettoyer la racine du projet et de rendre les fichiers plus faciles à localiser.

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

  • Assurez-vous d'être dans le répertoire ~/project/phoenix_project avant d'effectuer les opérations de déplacement.
  • Utilisez la commande mv pour déplacer chaque fichier.

Exemples

Après avoir déplacé les fichiers, la structure de votre 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 à la racine du répertoire ~/project/phoenix_project, seuls les répertoires doivent apparaître :

config/  docs/  src/

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

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

Conseils

  • La commande mv est utilisée pour déplacer ou renommer des fichiers et des répertoires.
  • La syntaxe de base est mv [SOURCE] [DESTINATION].
  • Par exemple, pour déplacer file.txt dans un répertoire nommé documents, vous utiliseriez mv file.txt documents/.
✨ Vérifier la solution et pratiquer

Sauvegarde des fichiers de configuration critiques

Le fichier config.json contient des paramètres essentiels pour le Projet Phoenix. Avant toute modification, il est crucial 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éé à l'intérieur du répertoire ~/project/phoenix_project/config/.
  • Le fichier de sauvegarde doit être nommé exactement config.json.bak.

Exemples

Après avoir créé la sauvegarde, votre répertoire config devrait 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 devriez voir :

config.json  config.json.bak

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

## Ces commandes doivent afficher un résultat identique
cat config.json
cat config.json.bak

Conseils

  • La commande cp est utilisée pour copier des fichiers et des répertoires.
  • La syntaxe est cp [SOURCE] [DESTINATION].
  • Vous devrez fournir le chemin complet du fichier source et le chemin complet du nouveau fichier de sauvegarde.
✨ Vérifier la solution et pratiquer

Réorganisation des ressources partagées de l'équipe

Vous avez découvert une autre pièce du puzzle : un répertoire nommé shared_docs situé dans ~/project/shared_docs. Ce répertoire contient des directives d'équipe importantes et des spécifications d'API qui doivent être regroupées avec le reste de la documentation du projet. Votre tâche est de l'intégrer dans 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/.
  • C'est le répertoire entier qui doit être déplacé, et pas seulement son contenu.

Exemples

Après avoir déplacé le répertoire shared_docs, votre structure de documentation devrait ressembler à ceci :

~/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 devriez voir :

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.

Conseils

  • La commande mv fonctionne pour les répertoires de la même manière que pour les fichiers.
  • Lorsque vous déplacez un répertoire, tout son contenu est déplacé automatiquement avec lui.
  • La commande ressemblera à mv [RÉPERTOIRE_SOURCE] [RÉPERTOIRE_DESTINATION].
✨ Vérifier la solution et pratiquer

Archivage et suppression des fichiers journaux obsolètes

Votre dernière tâche consiste à faire un peu de ménage. Le répertoire ~/project/logs accumule des fichiers journaux, et ceux de l'année 2023 ne sont plus nécessaires pour les opérations quotidiennes. Pour gagner de l'espace et maintenir l'ordre, vous devez compresser ces anciens journaux dans un seul fichier d'archive, puis supprimer les fichiers originaux.

Comprendre la commande tar

La commande tar est un outil Linux puissant pour créer et manipuler des fichiers d'archives. À l'origine, "Tar" signifiait "Tape Archive" (archive sur bande) car il était conçu pour écrire des données sur des bandes magnétiques. Aujourd'hui, il est couramment utilisé pour créer des archives compressées sur disque.

Lorsque vous utilisez tar, vous regroupez plusieurs fichiers en un seul (appelé archive), et vous pouvez facultativement 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 (drapeaux) pour contrôler son comportement :

  • c : Créer une nouvelle archive (Create)
  • z : Compresser l'archive avec gzip
  • f : Spécifier le nom du fichier de l'archive (File)

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. Naviguez dans le 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 être située dans le répertoire ~/project/logs.
  • Seuls les fichiers journaux contenant 2023 dans leur nom doivent être archivés puis supprimés.
  • Le fichier journal de 2024 (app_2024-05-01.log) ne doit pas être inclus dans l'archive et ne doit pas être supprimé.

Exemples

Avant l'archivage, votre répertoire de journaux contient :

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

Après avoir terminé la tâche d'archivage, votre répertoire de journaux devrait ressembler à ceci :

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

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

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

Conseils

  • Utilisez la commande tar pour créer des archives. Les options -czf forment une combinaison puissante : c (créer), z (compresser avec gzip) et f (spécifier 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 correspondra à tous les fichiers se terminant par .log et contenant _2023- dans leur nom.
  • La commande rm est utilisée pour supprimer des fichiers. Soyez prudent lors de son utilisation avec des caractères génériques !
✨ Vérifier la solution et pratiquer

Résumé

Excellent travail, Architecte Numérique ! Vous avez réussi à transformer le chaos du Projet Phoenix en un environnement de développement parfaitement organisé. Sarah Chen et toute l'équipe de développement sont ravies de votre intervention. Vous avez mis en place une structure de répertoires logique, organisé les fichiers critiques, sécurisé les configurations avec des sauvegardes et optimisé les ressources système en archivant les anciens journaux.

Ces compétences fondamentales en ligne de commande Linux — mkdir, mv, cp, tar et rm — constituent le socle de l'administration système professionnelle. Votre travail d'organisation aujourd'hui a créé une base solide qui soutiendra 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 structuré. Demain, vous relèverez un nouveau défi en tant qu'Enquêteur de Journaux lorsque l'équipe rencontrera ses premiers problèmes techniques. Votre approche systématique de l'organisation vous sera d'une grande aide pour le dépannage !