Annuler toutes les modifications que vous avez faites dans votre dépôt Git

Pour annuler toutes les modifications que vous avez faites dans votre dépôt Git, vous pouvez utiliser les commandes suivantes. Ces commandes réinitialiseront votre dépôt à l’état exact du dernier commit. Notez que ces commandes supprimeront toutes les modifications locales non commités, alors assurez-vous d’avoir sauvegardé tout travail important.

Réinitialiser toutes les modifications locales :

git reset --hard HEAD

Supprimer tous les fichiers non suivis et les répertoires :

git clean -fd

Ensemble, ces commandes réinitialiseront votre dépôt Git à l’état propre du dernier commit.

Si vous souhaitez également supprimer tous les fichiers ignorés par Git (ce qui est rarement nécessaire, mais peut être utile dans certains cas), vous pouvez ajouter l’option -x à la commande git clean :

git clean -fdx

Après avoir exécuté ces commandes, votre répertoire de travail devrait être dans un état propre, sans aucune modification locale.

Comment renommer un fichier dans chaque sous-dossier en utilisant le nom du dossier parent

Voici un script bash qui va renommer le fichier texteenligne.html dans chaque sous-dossier en utilisant le nom du dossier parent, après avoir supprimé les caractères spécifiés, et déplacera chaque fichier renommé au niveau du dossier parent :

#!/bin/bash

# Chemin vers le répertoire racine où la recherche doit commencer
ROOT_DIR="/path/to/your/directory"

# Parcours de tous les sous-dossiers contenant le fichier 'texteenligne.html'
find "$ROOT_DIR" -type f -name 'texteenligne.html' | while read -r file; do
    # Obtention du répertoire parent
    parent_dir=$(dirname "$file")
    
    # Obtention du nom du répertoire parent
    parent_name=$(basename "$parent_dir")
    
    # Suppression des caractères indésirables du nom du répertoire
    new_name=$(echo "$parent_name" | sed 's/_assignsubmission_onlinetext//g')
    
    # Nouveau chemin pour le fichier renommé
    new_path="$parent_dir/../$new_name.html"
    
    # Renommage et déplacement du fichier
    mv "$file" "$new_path"
    
    echo "Fichier '$file' renommé et déplacé vers '$new_path'"
done

Étapes à suivre :

Enregistrez le script :

Ouvrez un éditeur de texte (comme TextEdit, en mode texte brut) et collez le code ci-dessus.

Enregistrez le fichier avec une extension .sh, par exemple rename_and_move_files.sh.

Modifiez le chemin de la racine :

Remplacez /path/to/your/directory par le chemin du répertoire où vous souhaitez commencer la recherche.

Donnez les permissions d’exécution au script :

Ouvrez le Terminal.

Accédez au répertoire où vous avez enregistré le script.

Exécutez la commande suivante pour rendre le script exécutable :

chmod +x rename_and_move_files.sh

Exécutez le script :

Toujours dans le Terminal, exécutez le script en utilisant la commande suivante :

./rename_and_move_files.sh

Explications du script :

  • find : Recherche tous les fichiers nommés texteenligne.html sous le répertoire racine spécifié.
  • parent_dir : Obtient le chemin du répertoire parent du fichier trouvé.
  • parent_name : Récupère le nom du répertoire parent.
  • new_name : Modifie le nom du répertoire parent en supprimant les caractères indésirables.
  • new_path : Crée le nouveau chemin pour le fichier renommé au niveau du répertoire parent.
  • mv : Renomme et déplace le fichier vers le nouveau chemin.

Note de précaution :

  • Attention : Cette opération est irréversible. Assurez-vous de bien vérifier le chemin et de comprendre le script avant de l’exécuter pour éviter des erreurs.

Supprimer tous les sous-dossiers de votre Mac qui contiennent uniquement un fichier spécifique

Pour supprimer tous les sous-dossiers de votre Mac qui contiennent uniquement un fichier nommé texteenligne.html, vous pouvez utiliser une combinaison de commandes find, xargs, et rm dans le Terminal. Voici un script bash pour accomplir cette tâche :

#!/bin/bash

# Path to the root directory where the search should start
ROOT_DIR="/path/to/your/directory"

# Find all directories that contain only the file 'texteenligne.html'
find "$ROOT_DIR" -type f -name 'texteenligne.html' -exec dirname {} \; | while read -r dir; do
    # Check if the directory contains only 'texteenligne.html'
    if [ "$(ls -1A "$dir" | wc -l)" -eq 1 ]; then
        echo "Deleting directory: $dir"
        rm -r "$dir"
    fi
done

Étapes à suivre :

Enregistrez le script :

Ouvrez un éditeur de texte (comme TextEdit, en mode texte brut) et collez le code ci-dessus.

Enregistrez le fichier avec une extension .sh, par exemple delete_folders.sh.

Modifiez le chemin de la racine :

Remplacez /path/to/your/directory par le chemin du répertoire où vous souhaitez commencer la recherche.

Donnez les permissions d’exécution au script :

Ouvrez le Terminal.

Accédez au répertoire où vous avez enregistré le script.

Exécutez la commande suivante pour rendre le script exécutable :

Exécutez le script :

chmod +x delete

Toujours dans le Terminal, exécutez le script en utilisant la commande suivante :

./delete_folders.sh

Note de précaution :

  • Attention : Cette opération est irréversible. Assurez-vous de bien vérifier le chemin et de comprendre le script avant de l’exécuter pour éviter de supprimer des fichiers par erreur.
  • Vous pouvez tester le script avec un répertoire de test pour vous assurer qu’il fonctionne comme prévu avant de l’exécuter sur vos données importantes.

Corriger « Execution failed for JdkImageTransform » sur Mac

Dans l’univers de la programmation et du développement logiciel, la configuration de l’environnement de développement est une étape cruciale. Aujourd’hui, je souhaite partager avec vous une solution à un problème de lancement de mon application Android. Enffet j’avais l’erreur suivante :

Execution failed for task ':capacitor-android:compileDebugJavaWithJavac'.
        > Could not resolve all files for configuration ':capacitor-android:androidJdkImage'.
        > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image,
        org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
        > Execution failed for JdkImageTransform:
        /Users/yolo/Library/Android/sdk/platforms/android-33/core-for-system-modules.jar.
        > Error while executing process /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/jlink with
        arguments {--module-path
        /Users/yolo/.gradle/caches/transforms-3/d20b91a7c402245d65bf0047643c0671/transformed/output/temp/jmod
        --add-modules java.base --output
        /Users/teddy/.gradle/caches/transforms-3/d20b91a7c402245d65bf0047643c0671/transformed/output/jdkImage
        --disable-plugin system-modules}

L’importance de JAVA_HOME

Avant de plonger dans le vif du sujet, comprenons pourquoi JAVA_HOME est si important. La variable JAVA_HOME pointe vers l’emplacement d’installation de JDK (Java Development Kit) sur votre système. Cette information est essentielle pour divers outils et applications, notamment les serveurs, les frameworks et les environnements de développement intégrés (IDE), afin qu’ils puissent compiler et exécuter vos applications Java efficacement.

Configuration de JAVA_HOME sur macOS

MacOS, avec sa robustesse et sa popularité croissante parmi les développeurs, offre une plateforme idéale pour le développement Java. Cependant, la configuration de JAVA_HOME peut varier selon le shell que vous utilisez. Examinons les étapes pour les deux shells les plus courants : Bash et Zsh.

Pour les utilisateurs de Bash (macOS 10.15 et antérieures)
  1. Ouvrez le Terminal : Commencez par ouvrir une fenêtre de terminal. Vous pouvez le faire en utilisant Spotlight avec Cmd + Space et en tapant « Terminal ».
  2. Édition de .bash_profile : Utilisez votre éditeur de texte préféré pour ouvrir le fichier .bash_profile situé dans votre dossier home. Par exemple, avec nano, vous tapez nano ~/.bash_profile.
  3. Ajoutez JAVA_HOME : À la fin du fichier, ajoutez la ligne suivante pour définir votre JAVA_HOME : export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
    Cette ligne indique au système où trouver le JDK nécessaire pour vos projets Java.
  4. Sauvegardez et quittez : Après avoir ajouté la ligne, sauvegardez vos modifications (Ctrl + O, Enter avec nano) et quittez (Ctrl + X).
  5. Appliquez les modifications : Pour que les modifications prennent effet immédiatement, exécutez source ~/.bash_profile dans votre terminal. Sinon, elles seront appliquées lors de votre prochaine session.

Conclusion : La simplicité au cœur de l’efficacité

Configurer JAVA_HOME sur votre Mac peut sembler une petite étape, mais c’est un jalon crucial pour s’assurer que vos projets Java se déroulent sans accroc. Que vous travailliez sur des applications Android, des serveurs web ou tout autre projet Java, une configuration correcte de votre environnement de développement est la clé pour maximiser votre productivité et réduire les frustrations inutiles.

Lien

Où placer son ordinateur ? Sous ou sur le bureau?

Salut à tous! Aujourd’hui, je vais plonger dans un débat qui semble mineur mais qui peut avoir un impact majeur sur votre espace de travail: où devriez-vous placer votre ordinateur? Sous le bureau ou dessus? C’est une question que beaucoup d’entre nous se posent lors de l’aménagement de notre espace de travail, et la réponse peut varier en fonction de vos besoins, de votre espace et de votre style de travail. Alors, explorons ensemble les avantages et les inconvénients de chaque emplacement pour vous aider à faire le meilleur choix pour votre bureau.

Sous le bureau : Un espace épuré, mais à quel prix?

Commencer par l’idée de mettre l’ordinateur sous le bureau semble séduisante, surtout si vous visez un bureau dégagé. Cela libère de l’espace précieux sur le bureau pour vos notes, vos tasses de café et, bien sûr, ce précieux espace de travail. De plus, cacher cet ordinateur peut également réduire le bruit ambiant, rendant votre espace de travail plus zen.

Cependant, placer votre ordinateur près du sol n’est pas sans inconvénients. La poussière, cette ennemie jurée des composants électroniques, sera plus susceptible de s’infiltrer dans votre machine, potentiellement en diminuant les performances et la durée de vie. Et parlons de l’accessibilité; atteindre les ports USB pour brancher votre clé USB peut rapidement devenir une séance de gymnastique inattendue. Sans oublier le risque de coups et de chocs – votre tour pourrait bien souffrir de quelques rencontres imprévues avec vos pieds ou votre chaise.

Sur le bureau: Au cœur de l’action, mais à quel coût?

Placer l’ordinateur sur le bureau, c’est le mettre en vedette, et cela a ses avantages. La ventilation est optimisée, votre machine respire mieux, et cela peut contribuer à de meilleures performances. Les ports et boutons sont juste là, à portée de main, prêts pour chaque connexion, chaque ajustement. Et bien sûr, moins de poussière s’accumulera dans votre précieux équipement.

Mais, et c’est un gros mais, avoir votre ordinateur sur le bureau peut sérieusement encombrer votre espace de travail. Et le bruit? Plus proche de vos oreilles, chaque vrombissement et chaque clic peut potentiellement devenir une distraction. Et n’oublions pas la chaleur; certains ordinateurs peuvent devenir de véritables petits radiateurs, contribuant à une augmentation notable de la température de votre espace de travail.

Alors, que faire?

La décision de placer votre ordinateur sur ou sous le bureau dépend vraiment de vos priorités personnelles. Cherchez-vous à maximiser l’espace de bureau disponible? À minimiser la poussière? À avoir un accès facile aux ports et aux boutons? Ou peut-être est-ce la ventilation et les performances qui sont en haut de votre liste?

Personnellement, je privilégie un bureau dégagé et une accessibilité facile, donc je trouve un juste milieu. J’utilise un petit support pour élever légèrement l’unité centrale du sol, réduisant l’exposition à la poussière tout en gardant les ports accessibles. C’est une sorte de compromis entre les deux mondes.

En fin de compte, il n’y a pas de réponse unique à cette question. Pesez les avantages et les inconvénients en fonction de vos besoins spécifiques et de votre espace de travail. Et rappelez-vous, rien n’est gravé dans le marbre; vous pouvez toujours changer l’emplacement de votre ordinateur si votre première décision ne vous convient plus.

J’espère que cette exploration des emplacements potentiels pour votre ordinateur vous a été utile. N’oubliez pas, l’important est de créer un espace de travail qui répond à vos besoins et où vous vous sentez productif et confortable. Bon aménagement!

Les 10 pratiques les plus importantes pour apprendre à coder

Apprendre à coder efficacement est essentiel pour ceux qui souhaitent maîtriser le développement web. Une des meilleures approches pour acquérir des compétences en codage est de se lancer dans des petits projets et d’augmenter progressivement le niveau d’exigence. Dans cet article, nous explorerons les dix pratiques les plus importantes pour vous aider à apprendre à coder de manière efficace. Suivez ces conseils et vous serez sur la voie du succès dans votre parcours de développement web.

Commencez par des projets simples

Lorsque vous débutez dans le codage, il est préférable de commencer par des projets simples. Cela vous permettra de vous familiariser avec les concepts de base et de gagner en confiance au fur et à mesure.

Fixez-vous des objectifs réalisables

Définissez des objectifs réalistes et atteignables pour chaque projet. Cela vous aidera à rester motivé et à mesurer votre progression au fil du temps.

Utilisez des ressources en ligne

Profitez des nombreuses ressources disponibles en ligne, telles que des tutoriels, des forums et des cours en ligne. Ces ressources peuvent vous fournir des conseils pratiques, des exemples de code et des réponses à vos questions.

Pratiquez régulièrement

La pratique régulière est la clé pour améliorer vos compétences en codage. Consacrez du temps chaque jour à la programmation, même si ce n’est que quelques minutes. La cohérence est importante pour renforcer vos connaissances.

Décomposez les problèmes en petites étapes

Lorsque vous êtes confronté à un problème de programmation complexe, il est utile de le décomposer en petites étapes. Résolvez chaque étape individuellement avant de passer à la suivante. Cela rendra le problème plus gérable et facilitera sa résolution.

Collaborez avec d’autres développeurs

La collaboration avec d’autres développeurs peut être extrêmement bénéfique. Rejoignez des communautés en ligne ou participez à des projets open source pour travailler en équipe et apprendre des autres.

Expérimentez et faites des erreurs

Ne craignez pas de faire des erreurs, car elles font partie intégrante du processus d’apprentissage. Expérimentez, testez différentes approches et apprenez de vos erreurs pour vous améliorer constamment.

Lisez et analysez du code existant

Étudiez le code source de projets existants pour comprendre comment les développeurs expérimentés structurent leur code. Cela vous donnera de précieuses informations sur les bonnes pratiques et les techniques avancées.

Restez à jour avec les nouvelles technologies

Le domaine du développement web évolue rapidement, il est donc important de rester à jour avec les nouvelles technologies et les tendances. Suivez les blogs, les podcasts et les conférences pour vous tenir informé des dernières avancées.

10 – Partagez vos connaissances

En enseignant aux autres ce que vous avez appris, vous renforcez vos propres compétences et vous aidez les autres à progresser. Contribuez à des communautés en ligne, écrivez des tutoriels ou animez des ateliers pour partager votre savoir.

Conclusion

Apprendre à coder efficacement demande du temps, de la patience et de la pratique. En suivant les dix pratiques que nous avons explorées, vous serez en mesure de maximiser votre potentiel en tant que développeur web. N’oubliez pas de commencer par des projets simples, de vous fixer des objectifs réalisables et de pratiquer régulièrement. Collaborer avec d’autres développeurs, expérimenter et rester à jour avec les nouvelles technologies sont également des éléments clés pour votre réussite. Alors, lancez-vous, explorez et développez vos compétences en codage !

Foire aux questions :

  • Quel est le meilleur langage de programmation pour commencer ?
  • Comment trouver des projets pratiques pour s’exercer ?
  • Existe-t-il des plateformes en ligne pour la pratique du codage ?
  • Comment rester motivé lorsque l’apprentissage du codage devient difficile ?
  • Quelles sont les compétences essentielles pour un développeur web ?

10 projets simples pour débuter en code dans n’importe quel langage

Si vous êtes débutant en programmation et que vous cherchez des projets simples pour vous initier, vous êtes au bon endroit ! Dans cet article, je vous présentes 10 idées de petits projets que vous pouvez réaliser dans n’importe quel langage de programmation. Ces projets vous permettront d’acquérir les bases du codage tout en créant des applications utiles et amusantes. Alors, sortez votre éditeur de code et préparez-vous à commencer votre voyage dans le monde fascinant de la programmation.

1. ToDo List

Créez une application de gestion de tâches où vous pourrez ajouter, modifier et supprimer des tâches. C’est un excellent moyen d’apprendre les concepts de base tels que les variables, les tableaux et les fonctions.

2. Calculatrice

Développez une calculatrice simple qui peut effectuer les opérations de base telles que l’addition, la soustraction, la multiplication et la division. Vous pouvez même ajouter des fonctionnalités supplémentaires comme le calcul des pourcentages.

3. Jeu du Pendu

Programmez le célèbre jeu du Pendu où les joueurs doivent deviner un mot en proposant des lettres.

Cela vous permettra de vous familiariser avec les boucles, les conditions et la gestion des chaînes de caractères.

  1. Décomposition du problème : Divisez le jeu en petites étapes plus gérables. Par exemple, commencez par la logique de sélection d’un mot aléatoire, puis passez à l’affichage des tirets pour les lettres non devinées, et ainsi de suite. Cela rendra le développement plus gérable.
  2. Utilisez des fonctions : Découpez votre code en fonctions réutilisables. Par exemple, une fonction pour vérifier si une lettre est dans le mot, une autre pour gérer l’affichage des tirets, etc. Cela rendra votre code plus propre et plus facile à déboguer.

4. Convertisseur d’unités

Créez un programme qui convertit différentes unités de mesure, comme les températures (de Celsius à Fahrenheit) ou les distances (de kilomètres à miles).

Cela vous aidera à comprendre les opérations mathématiques et les conversions.

5. Mini-blog

Concevez un mini-blog où vous pouvez ajouter des articles, les afficher et les modifier. Cela vous permettra de manipuler des bases de données simples et de comprendre les opérations de création, de lecture, de mise à jour et de suppression (CRUD).

6. Générateur de mots aléatoires

Créez un programme qui génère des mots aléatoires à partir d’une liste prédéfinie. Vous pouvez même ajouter des contraintes pour générer des mots spécifiques comme des mots de passe forts.

7. Jeu du Morpion

Programmez le jeu du Morpion où deux joueurs s’affrontent pour aligner trois symboles identiques sur une grille. Cela vous permettra de travailler avec des tableaux multidimensionnels et de mettre en pratique les concepts de la logique de jeu.

8. Calculatrice de pourboire

Développez une calculatrice qui calcule le montant du pourboire en fonction du total de la facture et du pourcentage de pourboire choisi. C’est une bonne occasion de pratiquer les opérations mathématiques et les interactions avec l’utilisateur.

9. Liste de courses

Créez une application qui permet aux utilisateurs de créer une liste de courses en ajoutant des articles et en les marquant comme étant achetés. Vous pouvez également ajouter des fonctionnalités telles que le calcul du total des achats.

10. Système de réservation de places

Concevez un système de réservation de places pour un cinéma ou un événement. Les utilisateurs devraient pouvoir sélectionner les places disponibles et les réserver. Cela vous permettra de travailler avec des tableaux, des boucles et des conditions.

Pour finir …

En vous lançant dans ces 10 projets simples, vous pourrez acquérir de solides bases en programmation tout en créant des applications pratiques et amusantes. N’hésitez pas à choisir le langage de programmation qui vous intéresse le plus et à adapter ces projets à vos besoins. Que vous optiez pour une ToDo List, une calculatrice ou un jeu du Pendu, chaque projet vous apportera une expérience précieuse et vous aidera à progresser dans votre parcours de développeur.

Alors, prenez votre clavier et commencez dès maintenant à coder votre premier projet !

Foire aux questions

  • Quel langage de programmation convient le mieux aux projets débutants ?
  • Où puis-je trouver des ressources pour apprendre à programmer en ligne ?
  • Comment puis-je tester mes projets de programmation ?
  • Quels autres projets simples pouvez-vous recommander pour les débutants ?
  • Comment puis-je améliorer mes compétences en programmation au-delà de ces projets simples ?

Comment écrire un code Arduino qui ouvre et ferme un relais ?

Tu viens d’acquérir un module relais mais tu ne sais pas comment le faire fonctionner ?

graphic, caution, warning

Attention au branchement ! Surtout ne mets pas tes doigts sous le module. En effet il n’est pas protégé ! Si tu le tiens en main ou si tu le pose sur une surface conductrice, tu es en danger !

Voici le code Arduino qui va te permettre de le faire fonctionner.

const int relayPin = 8; // le relais est connecté au pin 8

void setup() {
  pinMode(relayPin, OUTPUT); // définir le pin 8 comme sortie
}

void loop() {
  digitalWrite(relayPin, HIGH); // ouvrir le relais
  delay(1000); // attendre 1 seconde
  digitalWrite(relayPin, LOW); // fermer le relais
  delay(1000); // attendre 1 seconde
}

Ce code fait clignoter le relais toutes les secondes en ouvrant et en fermant le circuit électrique.

Voici comment ça fonctionne :

Dans la fonction setup(), on définit le pin 8 comme une sortie en utilisant la fonction pinMode(). Cela signifie que le Arduino peut envoyer du courant électrique à travers ce pin.
Dans la fonction loop(), on utilise la fonction digitalWrite() pour envoyer du courant électrique à travers le pin 8. Si on envoie du courant (HIGH), le relais s’ouvre et le circuit électrique est complété.

Si on n’envoie pas de courant (LOW), le relais se ferme et le circuit électrique est interrompu.

J’espère que ça t’a aidé !