LE TIP PYTHON DE LA SEMAINE
Afficher une variable avec son nom, sans le retaper.
Au lieu de : print("total =", total)
Fais plutôt : print(f"{total=}")
Si total vaut 42, ça affiche : total=42
Ça marche aussi avec une expression : print(f"{len(panier)=}") affiche par exemple len(panier)=3.
Disponible depuis Python 3.8, pratique pour déboguer vite.
Codeurs Pro
Afficher une variable avec son nom, sans le retaper.
Au lieu de : print("total =", total)
Fais plutôt : print(f"{total=}")
Si total vaut 42, ça affiche : total=42
Ça marche aussi avec une expression : print(f"{len(panier)=}") affiche par exemple len(panier)=3.
Disponible depuis Python 3.8, pratique pour déboguer vite.
Codeurs Pro
VEILLE DEV : deux modèles OpenAI s'arrêtent vendredi
Le 23 octobre, OpenAI retire de son API gpt-4.1-nano et la version gpt-4o-2024-05-13.
Les appels vers ces modèles échoueront.
Si un de tes projets, un bot ou une automatisation les utilise, cherche leur nom dans ton code et dans tes variables d'environnement, puis remplace-les par un modèle encore supporté.
La liste officielle est sur la page Deprecations de la documentation OpenAI.
Un de tes projets est concerné ?
Codeurs Pro
Le 23 octobre, OpenAI retire de son API gpt-4.1-nano et la version gpt-4o-2024-05-13.
Les appels vers ces modèles échoueront.
Si un de tes projets, un bot ou une automatisation les utilise, cherche leur nom dans ton code et dans tes variables d'environnement, puis remplace-les par un modèle encore supporté.
La liste officielle est sur la page Deprecations de la documentation OpenAI.
Un de tes projets est concerné ?
Codeurs Pro
CORRECTION DU VRAI OU FAUX
- 1. Faux : HTTPS chiffre le contenu et l'adresse exacte de la page, mais le nom du site reste visible : dans les requêtes DNS, dans l'en-tête SNI de la connexion, et par l'adresse IP du serveur.
- 2. Vrai : par défaut, git pull récupère les changements puis les fusionne. git pull --rebase, lui, rejoue tes commits locaux par-dessus.
- 3. Vrai : une liste Python accepte des types différents, par exemple [1, "deux", 3.0].
- 4. Faux : 0.1 + 0.2 donne 0.30000000000000004, à cause de la façon dont les nombres à virgule sont stockés en binaire. Python donne le même résultat.
Qui a eu 4 sur 4 ?
Codeurs Pro
- 1. Faux : HTTPS chiffre le contenu et l'adresse exacte de la page, mais le nom du site reste visible : dans les requêtes DNS, dans l'en-tête SNI de la connexion, et par l'adresse IP du serveur.
- 2. Vrai : par défaut, git pull récupère les changements puis les fusionne. git pull --rebase, lui, rejoue tes commits locaux par-dessus.
- 3. Vrai : une liste Python accepte des types différents, par exemple [1, "deux", 3.0].
- 4. Faux : 0.1 + 0.2 donne 0.30000000000000004, à cause de la façon dont les nombres à virgule sont stockés en binaire. Python donne le même résultat.
Qui a eu 4 sur 4 ?
Codeurs Pro
L'a tu appris ?
À Singapour, du code écrit par une IA a exposé plus de 95 000 adresses e-mail de clients. Pour le régulateur, c'est la première fuite liée à l'IA dans le pays, et la faute vient de la méthode, pas de l'outil.
Les faits : chez Bee Cheng Hiang, une enseigne alimentaire, un employé a fait écrire par une IA le code d'une campagne d'e-mails. Le programme envoyait les messages par lots d'environ 1 000 clients, et chaque destinataire voyait les adresses des autres.
Selon la PDPC, l'IA n'a pas dysfonctionné. Le code a été écrit et testé par une seule personne, sans relecture, sans envoi de test vers une boîte mail réelle, et sans règle interne sur l'usage de l'IA.
L'IA permet d'écrire du code plus vite. Elle ne remplace ni la relecture ni le test, et plus le code touche aux données des clients, plus ces deux étapes comptent.
Trois garde-fous suffisent dans la plupart des cas : une relecture par une autre personne avant la mise en production, un test du résultat réel sur des comptes fictifs, et une règle écrite qui précise quels outils d'IA sont autorisés et quelles données on peut leur confier.
Dans votre organisation, qui relit le code produit avec l'IA ?
Source : eSecurityPlanet, d'après la PDPC de Singapour
Codeurs Pro
À Singapour, du code écrit par une IA a exposé plus de 95 000 adresses e-mail de clients. Pour le régulateur, c'est la première fuite liée à l'IA dans le pays, et la faute vient de la méthode, pas de l'outil.
Les faits : chez Bee Cheng Hiang, une enseigne alimentaire, un employé a fait écrire par une IA le code d'une campagne d'e-mails. Le programme envoyait les messages par lots d'environ 1 000 clients, et chaque destinataire voyait les adresses des autres.
Selon la PDPC, l'IA n'a pas dysfonctionné. Le code a été écrit et testé par une seule personne, sans relecture, sans envoi de test vers une boîte mail réelle, et sans règle interne sur l'usage de l'IA.
L'IA permet d'écrire du code plus vite. Elle ne remplace ni la relecture ni le test, et plus le code touche aux données des clients, plus ces deux étapes comptent.
Trois garde-fous suffisent dans la plupart des cas : une relecture par une autre personne avant la mise en production, un test du résultat réel sur des comptes fictifs, et une règle écrite qui précise quels outils d'IA sont autorisés et quelles données on peut leur confier.
Dans votre organisation, qui relit le code produit avec l'IA ?
Source : eSecurityPlanet, d'après la PDPC de Singapour
Codeurs Pro
COMPLÈTE LA COMMANDE
Tu viens de faire un commit sur la mauvaise branche. Il n'est pas encore poussé. Tu veux l'annuler, mais garder tes modifications prêtes à être recommitées, sans refaire git add. tu fais ?
git reset ______ HEAD~1
Quelle option manque ? Ta réponse en commentaire, solution à 19h.
Codeurs Pro
Tu viens de faire un commit sur la mauvaise branche. Il n'est pas encore poussé. Tu veux l'annuler, mais garder tes modifications prêtes à être recommitées, sans refaire git add. tu fais ?
git reset ______ HEAD~1
Quelle option manque ? Ta réponse en commentaire, solution à 19h.
Codeurs Pro
NEXUS : LE PROFIL DE LA SEMAINE
Tu cherches un stage, un emploi ou des missions ? Présente-toi en commentaire, en 3 lignes :
Ce que tu fais, par exemple : développeur PHP, 2 ans d'expérience
Ce que tu cherches : stage, emploi, freelance, télétravail
Un lien vers ton travail : GitHub, portfolio ou LinkedIn
Les membres qui recrutent ou montent un projet pourront te contacter.
Ne publie pas ton numéro ni ton adresse : un lien suffit.
Tu as une offre vérifiée à partager ? Elle a aussi sa place ici.
C'est Codeurs Pro
Tu cherches un stage, un emploi ou des missions ? Présente-toi en commentaire, en 3 lignes :
Ce que tu fais, par exemple : développeur PHP, 2 ans d'expérience
Ce que tu cherches : stage, emploi, freelance, télétravail
Un lien vers ton travail : GitHub, portfolio ou LinkedIn
Les membres qui recrutent ou montent un projet pourront te contacter.
Ne publie pas ton numéro ni ton adresse : un lien suffit.
Tu as une offre vérifiée à partager ? Elle a aussi sa place ici.
C'est Codeurs Pro
SOLUTION : git reset --soft HEAD~1
- L'option --soft annule le dernier commit et garde tes modifications prêtes à être recommitées.
- Ensuite : git switch bonne-branche, puis git commit.
L'option par défaut, --mixed, annule aussi le commit, mais tes fichiers sortent de l'index et il faut refaire git add.
Attention : --hard supprime aussi les modifications. À éviter si tu n'es pas sûr de toi.
Codeurs Pro
- L'option --soft annule le dernier commit et garde tes modifications prêtes à être recommitées.
- Ensuite : git switch bonne-branche, puis git commit.
L'option par défaut, --mixed, annule aussi le commit, mais tes fichiers sortent de l'index et il faut refaire git add.
Attention : --hard supprime aussi les modifications. À éviter si tu n'es pas sûr de toi.
Codeurs Pro
LE TIP CSS DE LA SEMAINE
Styliser un élément selon ce qu'il contient, sans JavaScript.
.carte:has(img) { padding: 0; }
Les cartes qui contiennent une image perdent leur marge intérieure, les autres ne changent pas.
Autre exemple : form:has(input:invalid) button { opacity: 0.5; }
Le bouton s'estompe tant qu'un champ du formulaire est invalide.
Le sélecteur :has() fonctionne dans tous les navigateurs récents.
Codeurs Pro
Styliser un élément selon ce qu'il contient, sans JavaScript.
.carte:has(img) { padding: 0; }
Les cartes qui contiennent une image perdent leur marge intérieure, les autres ne changent pas.
Autre exemple : form:has(input:invalid) button { opacity: 0.5; }
Le bouton s'estompe tant qu'un champ du formulaire est invalide.
Le sélecteur :has() fonctionne dans tous les navigateurs récents.
Codeurs Pro
LE TIP SÉCURITÉ DE LA SEMAINE
La semaine dernière, des chercheurs ont signalé 8 paquets npm malveillants, téléchargés plus de 40 000 fois. Ils installaient des logiciels qui volent des données et donnent un accès à distance à la machine.
Avant d'ajouter une dépendance, prends 30 secondes :
Vérifie l'orthographe exacte du nom : les faux paquets imitent souvent les vrais à une lettre près.
Regarde sa page : nombre de téléchargements, dépôt GitHub, date de la dernière version.
Pour un paquet dont tu doutes, installe-le avec npm install --ignore-scripts : ses scripts d'installation ne s'exécuteront pas.
Ensuite, npm audit repère les failles connues dans tes dépendances, mais pas tous les paquets piégés : ton attention reste la première protection.
Codeurs Pro
La semaine dernière, des chercheurs ont signalé 8 paquets npm malveillants, téléchargés plus de 40 000 fois. Ils installaient des logiciels qui volent des données et donnent un accès à distance à la machine.
Avant d'ajouter une dépendance, prends 30 secondes :
Vérifie l'orthographe exacte du nom : les faux paquets imitent souvent les vrais à une lettre près.
Regarde sa page : nombre de téléchargements, dépôt GitHub, date de la dernière version.
Pour un paquet dont tu doutes, installe-le avec npm install --ignore-scripts : ses scripts d'installation ne s'exécuteront pas.
Ensuite, npm audit repère les failles connues dans tes dépendances, mais pas tous les paquets piégés : ton attention reste la première protection.
Codeurs Pro
TON PROJET TECH DU JEUDI
Tu bosses sur une appli, un site, un script ou une idée ?
Présente ton projet en commentaire :
- Le nom et le but du projet
- Les technos utilisées
- Une capture ou un lien
- Ce sur quoi tu veux des retours
Tu préfères une présentation complète, en vidéo ou en direct ? Inscris-toi pour une prochaine session : https://bit.ly/47GqzlY
Codeurs Pro
Tu bosses sur une appli, un site, un script ou une idée ?
Présente ton projet en commentaire :
- Le nom et le but du projet
- Les technos utilisées
- Une capture ou un lien
- Ce sur quoi tu veux des retours
Tu préfères une présentation complète, en vidéo ou en direct ? Inscris-toi pour une prochaine session : https://bit.ly/47GqzlY
Codeurs Pro
Google Docs
Codeurs Pro : Ton projet tech, parle-nous-en
Tu travailles sur une appli, un site, un script ou une idée ? Chaque jeudi, un membre de la communauté Codeurs Pro présente son projet et reçoit des retours précis.
Le formulaire prend 5 à 7 minutes, en 3 parties : toi, ton projet, ta présentation. Les questions…
Le formulaire prend 5 à 7 minutes, en 3 parties : toi, ton projet, ta présentation. Les questions…
Administration numérique : le Togo au grand salon de Berlin
À Berlin, la Smart Country Convention s'est achevée le 15 octobre. Présentée comme le plus grand salon européen de la numérisation des services publics, elle a réuni plus de 600 exposants venus de 15 pays. Une délégation togolaise d'une douzaine d'acteurs publics et privés y participait, dont quatre représentants de l'Agence Togo Digital.
Les thèmes au programme annoncent les besoins à venir : IA dans l'administration, identité numérique, services publics en ligne, cybersécurité et résilience des infrastructures critiques.
Pour les développeurs togolais, chaque service public mis en ligne demande des compétences précises : des API fiables, des applications sécurisées dès la conception, des interfaces qui fonctionnent sur un téléphone d'entrée de gamme avec une connexion lente, et une gestion rigoureuse des données personnelles.
Codeurs Pro travaille ces compétences avec ses membres, sur des projets réels.
Selon vous, quel service public devrait passer en ligne en priorité ?
Source : AllAfrica
Codeurs Pro
À Berlin, la Smart Country Convention s'est achevée le 15 octobre. Présentée comme le plus grand salon européen de la numérisation des services publics, elle a réuni plus de 600 exposants venus de 15 pays. Une délégation togolaise d'une douzaine d'acteurs publics et privés y participait, dont quatre représentants de l'Agence Togo Digital.
Les thèmes au programme annoncent les besoins à venir : IA dans l'administration, identité numérique, services publics en ligne, cybersécurité et résilience des infrastructures critiques.
Pour les développeurs togolais, chaque service public mis en ligne demande des compétences précises : des API fiables, des applications sécurisées dès la conception, des interfaces qui fonctionnent sur un téléphone d'entrée de gamme avec une connexion lente, et une gestion rigoureuse des données personnelles.
Codeurs Pro travaille ces compétences avec ses membres, sur des projets réels.
Selon vous, quel service public devrait passer en ligne en priorité ?
Source : AllAfrica
Codeurs Pro
DÉFI CYBER DU VENDREDI
Retrouve le flag caché :
- PbqrhefCeb{ebg13_gbhear_ra_ebaq}
Indice de départ : la forme du flag n'a pas changé, seules les lettres ont bougé.
Envoie ta réponse en privé à un admin pour ne pas gâcher le défi aux autres. Indice ce soir, solution lundi.
Codeurs Pro
Retrouve le flag caché :
- PbqrhefCeb{ebg13_gbhear_ra_ebaq}
Indice de départ : la forme du flag n'a pas changé, seules les lettres ont bougé.
Envoie ta réponse en privé à un admin pour ne pas gâcher le défi aux autres. Indice ce soir, solution lundi.
Codeurs Pro
NOUVEAU : DÉCODE L'ERREUR
Ce code Python plante :
age = 20
print("J'ai " + age + " ans")
Le message obtenu :
TypeError: can only concatenate str (not "int") to str
Que veut dire ce message, et comment corriger ? Solution à 19h.
Codeurs Pro
Ce code Python plante :
age = 20
print("J'ai " + age + " ans")
Le message obtenu :
TypeError: can only concatenate str (not "int") to str
Que veut dire ce message, et comment corriger ? Solution à 19h.
Codeurs Pro
INDICE DU DÉFI CYBER
Compare le début du message avec CodeursPro : C est devenu P, o est devenu b. Chaque lettre a avancé du même nombre de places dans l'alphabet.
Compte l'écart, ou essaie l'opération ROT13 dans l'outil gratuit CyberChef.
Codeurs Pro
Compare le début du message avec CodeursPro : C est devenu P, o est devenu b. Chaque lettre a avancé du même nombre de places dans l'alphabet.
Compte l'écart, ou essaie l'opération ROT13 dans l'outil gratuit CyberChef.
Codeurs Pro
SOLUTION : DÉCODE L'ERREUR
Python refuse d'additionner du texte (str) et un nombre (int) avec le signe +.
Deux corrections possibles :
print("J'ai " + str(age) + " ans")
print(f"J'ai {age} ans")
La deuxième, avec une f-string, est la plus lisible.
Le réflexe à prendre : lis toujours la dernière ligne d'une erreur, elle dit souvent exactement ce qui ne va pas.
Codeurs Pro
Python refuse d'additionner du texte (str) et un nombre (int) avec le signe +.
Deux corrections possibles :
print("J'ai " + str(age) + " ans")
print(f"J'ai {age} ans")
La deuxième, avec une f-string, est la plus lisible.
Le réflexe à prendre : lis toujours la dernière ligne d'une erreur, elle dit souvent exactement ce qui ne va pas.
Codeurs Pro
LE MOT MYSTÈRE DU JARGON
Trouve les 3 mots à partir de leur définition :
1. Le fait, pour une fonction, de s'appeler elle-même. (11 lettres)
2. Ta copie d'un dépôt, créée sur GitHub ou GitLab, pour y travailler sans toucher l'original. (4 lettres)
3. Le piège qui consiste à publier un faux paquet dont le nom imite celui d'un vrai. (13 lettres)
Réponses à 18h.
Codeurs Pro
Trouve les 3 mots à partir de leur définition :
1. Le fait, pour une fonction, de s'appeler elle-même. (11 lettres)
2. Ta copie d'un dépôt, créée sur GitHub ou GitLab, pour y travailler sans toucher l'original. (4 lettres)
3. Le piège qui consiste à publier un faux paquet dont le nom imite celui d'un vrai. (13 lettres)
Réponses à 18h.
Codeurs Pro
L'ASTUCE LINUX DE LA SEMAINE
Tu retapes souvent une longue commande ? Retrouve-la dans ton historique.
Appuie sur Ctrl+R, puis tape un morceau de la commande, par exemple docker.
Le terminal affiche la dernière commande qui contient ce mot. Appuie encore sur Ctrl+R pour remonter plus loin, sur Entrée pour l'exécuter, ou sur une flèche gauche ou droite pour la modifier avant.
Ça marche dans Bash et dans Zsh.
Codeurs Pro
Tu retapes souvent une longue commande ? Retrouve-la dans ton historique.
Appuie sur Ctrl+R, puis tape un morceau de la commande, par exemple docker.
Le terminal affiche la dernière commande qui contient ce mot. Appuie encore sur Ctrl+R pour remonter plus loin, sur Entrée pour l'exécuter, ou sur une flèche gauche ou droite pour la modifier avant.
Ça marche dans Bash et dans Zsh.
Codeurs Pro
FORMATION WORDPRESS ET NO-CODE : LES PRÉ-INSCRIPTIONS SONT OUVERTES
L'objectif : repartir avec ton site en ligne, qui fonctionne et présente ton travail.
Aucun niveau n'est exigé. Tes réponses au formulaire servent à construire le programme et à choisir les horaires.
Le formulaire prend 5 à 7 minutes : https://bit.ly/3VTwH7S
Codeurs Pro
L'objectif : repartir avec ton site en ligne, qui fonctionne et présente ton travail.
Aucun niveau n'est exigé. Tes réponses au formulaire servent à construire le programme et à choisir les horaires.
Le formulaire prend 5 à 7 minutes : https://bit.ly/3VTwH7S
Codeurs Pro
Google Docs
Codeurs Pro : Formation WordPress et No-Code, pré-inscription
Codeurs Pro prépare une formation WordPress et No-Code. À la fin, chaque participant repart avec un vrai site en ligne, qui fonctionne et qui peut servir de vitrine pour ses compétences.
Ce formulaire sert à préparer le programme et les horaires à partir…
Ce formulaire sert à préparer le programme et les horaires à partir…
TON AVIS SUR LA SEMAINE
On a testé de nouveaux formats. Lesquels veux-tu revoir ?
1. Devine la techno en emojis
2. Vrai ou faux
3. Complète la commande
4. Décode l'erreur
5. Le mot mystère
6. Nexus : le profil de la semaine
Réponds avec un ou deux numéros. Les plus demandés reviendront, et tu peux aussi proposer ton idée de jeu.
Codeurs Pro
On a testé de nouveaux formats. Lesquels veux-tu revoir ?
1. Devine la techno en emojis
2. Vrai ou faux
3. Complète la commande
4. Décode l'erreur
5. Le mot mystère
6. Nexus : le profil de la semaine
Réponds avec un ou deux numéros. Les plus demandés reviendront, et tu peux aussi proposer ton idée de jeu.
Codeurs Pro
RÉPONSES DU MOT MYSTÈRE
1. Récursivité : une fonction qui s'appelle elle-même, avec une condition d'arrêt pour ne pas tourner à l'infini.
2. Fork : ta copie d'un dépôt, d'où tu peux proposer tes changements avec une pull request.
3. Typosquatting : le piège dont on parlait jeudi avec les faux paquets npm.
Le typosquatting t'a posé problème ?
Codeurs Pro
1. Récursivité : une fonction qui s'appelle elle-même, avec une condition d'arrêt pour ne pas tourner à l'infini.
2. Fork : ta copie d'un dépôt, d'où tu peux proposer tes changements avec une pull request.
3. Typosquatting : le piège dont on parlait jeudi avec les faux paquets npm.
Le typosquatting t'a posé problème ?
Codeurs Pro
Bonne semaine à toute la communauté Codeurs Pro !
Cette nouvelle semaine demarre dejà, excellente semaine et bonne suite a toute la communauté, projets, aspirations, Codons pour créer, pour inspirer.
Avant les quiz et les défis, une chose simple : prends soin de toi, de ta famille et de tous ceux auxquels tu tiens. Donne des nouvelles, prends-en aussi, C'est important.
On se retrouve tout au long de la semaine. Bonne semaine et bon code à tous.
Codeurs Pro
Cette nouvelle semaine demarre dejà, excellente semaine et bonne suite a toute la communauté, projets, aspirations, Codons pour créer, pour inspirer.
Avant les quiz et les défis, une chose simple : prends soin de toi, de ta famille et de tous ceux auxquels tu tiens. Donne des nouvelles, prends-en aussi, C'est important.
On se retrouve tout au long de la semaine. Bonne semaine et bon code à tous.
Codeurs Pro