10 Classic Mistakes in Python®!
10:52
AWS S3 compatible storage on your PC!
6:14
Soyez à l'heure avec Python® !
9:09
Aidez-moi à mieux vous aider !
1:58
Votre PC est obsolète !
4:09
4 ай бұрын
Gérer les erreurs en Python ®
8:05
Tracer sa route en Python® !
16:05
Cartographie avec Python®
7:27
5 ай бұрын
Web Scraping avec Python®
9:13
6 ай бұрын
Пікірлер
@juliendombret2299
@juliendombret2299 8 сағат бұрын
Très claire! Merci🎉 bientot une video sur comment coder un module? Ou peut etre comment utiliser le oddoo.sh?
@kaderbuxnaq3236
@kaderbuxnaq3236 22 сағат бұрын
Bonjour à tous. Excellent Tuto pour les débutants. Je vous en remercie infiniment. Toutefois, je me suis dis qu'une calculatrice qui ne fonctionne avec les touches du clavier n'est pas vraiment utile. Donc j'ai fais quelques recherches et j'ai pu intégrer cette fonction (utilisation des touches du clavier). Je me suis quand même fais aidé par Copilot qui m'a permis de gérer les problème que j'ai rencontré. J'aimerais bien avoir vos avis. Et voici le résultat : " from math import floor import customtkinter customtkinter.set_appearance_mode("dark") MAX_CHIFFRES = 9 MAX_RESULT = 999999999 pile_ecran = [] nombre_courant = False operation_courante = False erreur = False def touche_appuyee (touche) : if touche in ['0', '1', '2', '3','4','5', '6', '7', '8', '9','.']: traite_touche_chiffre(touche) elif touche in ['PLUS', 'MOINS', 'MULTIPLIER', 'DIVISER'] : traite_touche_operation(touche) elif touche == 'EGAL' : traite_touche_egal() elif touche =='RESET' : traite_touche_reset() def on_key_press(event): if event.keysym in ['0', '1', '2', '3','4','5', '6', '7', '8', '9','.']: traite_touche_chiffre(event.keysym) elif event.keysym in ['plus', 'minus', 'asterisk', 'slash'] : if event.keysym in ['plus'] : traite_touche_operation('PLUS') elif event.keysym in ['minus'] : traite_touche_operation('MOINS') elif event.keysym in ['asterisk'] : traite_touche_operation('MULTIPLIER') elif event.keysym in ['slash'] : traite_touche_operation('DIVISER') elif event.keysym == 'Return' : traite_touche_egal() elif event.keysym =='Escape' : traite_touche_reset() button.invoke() def _get_nombre_as_text_from_pile () : text = '' for num in pile_ecran: text += str(num) return text def _get_nombre_from_pile() : text = _get_nombre_as_text_from_pile() if '.' in pile_ecran : return float(text) else : return int(text) def update_screen(value=False): if value : screen.configure(text=value[0:9]) else : screen.configure(text='0') def traite_touche_chiffre(num): if len(pile_ecran)<MAX_CHIFFRES : if num =='.' and '.' in pile_ecran : return pile_ecran.append(num) update_screen(_get_nombre_as_text_from_pile()) def traite_touche_operation(operation): global nombre_courant, operation_courante traite_operation_courante() execute_operation (operation_courante) if not nombre_courant : nombre_courant = _get_nombre_from_pile() operation_courante = operation pile_ecran.clear() def traite_operation_courante(): global operation_courante if nombre_courant and operation_courante: execute_operation(operation_courante) operation_courante = False def affiche_resultat(): flottant = nombre_courant - floor(nombre_courant) if erreur : update_screen('Erreur') else : if flottant > 0: update_screen(str(nombre_courant)) else: update_screen(str(floor(nombre_courant))) def traite_touche_egal(): traite_operation_courante() def traite_touche_reset() : pile_ecran.clear() global nombre_courant, operation_courante, erreur nombre_courant = False operation_courante=False erreur=False update_screen() def execute_operation (operation): global nombre_courant, erreur if operation : nombre2 = _get_nombre_from_pile() result = 0 if operation == 'PLUS' : result = nombre_courant + nombre2 elif operation == 'MOINS' : result = nombre_courant - nombre2 elif operation == 'MULTIPLIER' : result = nombre_courant * nombre2 elif operation == 'DIVISER' : if nombre2==0: erreur = True else : result = nombre_courant / nombre2 if result > MAX_RESULT or result < -MAX_RESULT : erreur = True if not erreur : nombre_courant = result pile_ecran.clear() affiche_resultat() app = customtkinter.CTk() app.title('Calculatrice 1.0') app.geometry('380x600') app.bind('<KeyPress>', on_key_press) screen_font = ("Courrier", 55, "bold") screen = customtkinter.CTkLabel(app, text="0", font=screen_font) screen.grid(row=0, column=0, sticky="E", padx=(10, 10), pady=(20,30), columnspan=4) font_bouton = ("Arial", 30, "bold") btn_0 = customtkinter.CTkButton(app, text='0', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('0')) btn_1 = customtkinter.CTkButton(app, text='1', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('1')) btn_2 = customtkinter.CTkButton(app, text='2', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('2')) btn_3 = customtkinter.CTkButton(app, text='3', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('3')) btn_4 = customtkinter.CTkButton(app, text='4', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('4')) btn_5 = customtkinter.CTkButton(app, text='5', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('5')) btn_6 = customtkinter.CTkButton(app, text='6', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('6')) btn_7 = customtkinter.CTkButton(app, text='7', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('7')) btn_8 = customtkinter.CTkButton(app, text='8', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('8')) btn_9 = customtkinter.CTkButton(app, text='9', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('9')) btn_plus = customtkinter.CTkButton(app, text='+', width=75, height=170, font=font_bouton, command=lambda : touche_appuyee('PLUS')) btn_moins = customtkinter.CTkButton(app, text='-', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('MOINS')) btn_multiplier = customtkinter.CTkButton(app, text='x', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('MULTIPLIER')) btn_diviser = customtkinter.CTkButton(app, text='/', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('DIVISER')) btn_egal = customtkinter.CTkButton(app, text='=', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('EGAL')) btn_point = customtkinter.CTkButton(app, text='.', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('.')) btn_reset = customtkinter.CTkButton(app, text='CE', width=75, height=75, font=font_bouton, command=lambda : touche_appuyee('RESET')) btn_0.grid(row=5, column=0, padx=(10, 10), pady=(10,10)) btn_1.grid(row=4, column=0, padx=(10, 10), pady=(10,10)) btn_2.grid(row=4, column=1, padx=(10, 10), pady=(10,10)) btn_3.grid(row=4, column=2, padx=(10, 10), pady=(10,10)) btn_4.grid(row=3, column=0, padx=(10, 10), pady=(10,10)) btn_5.grid(row=3, column=1, padx=(10, 10), pady=(10,10)) btn_6.grid(row=3, column=2, padx=(10, 10), pady=(10,10)) btn_7.grid(row=2, column=0, padx=(10, 10), pady=(10,10)) btn_8.grid(row=2, column=1, padx=(10, 10), pady=(10,10)) btn_9.grid(row=2, column=2, padx=(10, 10), pady=(10,10)) btn_plus.grid(row=4, column=3, padx=(10, 10), pady=(10,10), rowspan = 2) btn_moins.grid(row=3, column=3, padx=(10, 10), pady=(10,10)) btn_multiplier.grid(row=2, column=3, padx=(10, 10), pady=(10,10)) btn_diviser.grid(row=1, column=3, padx=(10, 10), pady=(10,10)) btn_egal.grid(row=5, column=1, padx=(10, 10), pady=(10,10)) btn_point.grid(row=5, column=2, padx=(10, 10), pady=(10,10)) btn_reset.grid(row=1, column=0, padx=(10, 10), pady=(10,10)) app.mainloop() "
@chrisder1814
@chrisder1814 2 күн бұрын
Bonjour j'ai eu une idée d'application mais je ne suis pas sûr que je puisse le faire avec sélénium Première étape il faudrait que je scrap des mots clés Deuxième étape chacun de ces mots clés soit analyser, taper dans la barre de recherche d'un logiciel SEO (donc avec sélénium ?) 3e étape, je récupère dans un Google sheet le résultat de mon logiciel SEO (correspondant à ses mots clés) Mais je ne suis pas sûr de la façon de faire
@InformatiqueSansComplexe
@InformatiqueSansComplexe 2 күн бұрын
Bonjour, je pense que cela risque d'être complexe avec Sélénium. A mon avis, c'est plutôt le genre d'opération à faire avec Python ou un service comme Make.
@chrisder1814
@chrisder1814 2 күн бұрын
@@InformatiqueSansComplexe pas avec sélénium mais avec Python? Je ne comprends pas ce que tu veux dire, je ne connais rien au code mais j'ai cru comprendre que sélénium c'est une des librairies de Python, apparemment j'ai mal compris? Ce que je voudrais c'est récupérer des mots clés provenant soit d'un catalogue CSV d'un fournisseur ou alors provenant d'un site web.... Récupérer ses mots clés dans un fichier Google sheet puis demander à sélénium de me passer chacun de ces mots clés dans un logiciel SEO puis de récupérer les données de ce logiciel toujours dans un autre Google sheet, afin que je n'ai pas à faire les recherches une par une
@rithim9370
@rithim9370 3 күн бұрын
merci
@InformatiqueSansComplexe
@InformatiqueSansComplexe 2 күн бұрын
Merci à vous 🙂
@SafiIslam-x1c
@SafiIslam-x1c 8 күн бұрын
Hello Sir, Do you need a professional youtube thumbnail designer, and youtube video SEO expert?
@InformatiqueSansComplexe
@InformatiqueSansComplexe 5 күн бұрын
Hello Safi, thanks for your offer but I can't afford this kind of service right now.
@LauraLIENOU
@LauraLIENOU 9 күн бұрын
Salut s'il vous plait je souhaite vraiment créer la mienne
@InformatiqueSansComplexe
@InformatiqueSansComplexe 9 күн бұрын
Bonjour et merci pour votre commentaire. Bravo, c'est une excellente idée :)
@ibrahimabayo6581
@ibrahimabayo6581 11 күн бұрын
Bonjour, merci pour ces explications très claires. Avez-vous une formation complète pour Odoo Développeur ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe 11 күн бұрын
Bonjour et merci beaucoup pour votre commentaire. La formation complète pour devenir développeur Odoo est en cours de réalisation. Je vais la présenter lors d'un webinaire au mois de Mars.
@ibrahimabayo6581
@ibrahimabayo6581 11 күн бұрын
@InformatiqueSansComplexe Merci, j'espère que le prix sera abordable pour moi 😀.
@InformatiqueSansComplexe
@InformatiqueSansComplexe 11 күн бұрын
C'est un investissement pour l'avenir surtout :)
@ggousier
@ggousier 12 күн бұрын
Les 2 points et l'indentation, deux grands classiques. Cette indentation au début me rendait chèvre ! Oui avec un bon IDE, l'indentation n'est plus un problème.
@InformatiqueSansComplexe
@InformatiqueSansComplexe 12 күн бұрын
Merci pour votre commentaire. En effet, un bon IDE est vraiment salutaire pour ça ! Mais cela m'arrive encore parfois, en particulier quand on développe sur Odoo et que l'on passe du Python au Javascript et vice-versa ! :)
@ggousier
@ggousier 12 күн бұрын
@@InformatiqueSansComplexe Odoo l'ERP ? Vous êtes dev Odoo ? Quand on passe du JS au Python ce qui peut arriver, c'est au niveau des f-strings. Par exemple au lieu d'écrire f"Bonjour {x} ..." il m'arrive de faire un mix des 2 langages et j'écris f"Bonjour ${x}..." 😉
@InformatiqueSansComplexe
@InformatiqueSansComplexe 11 күн бұрын
Bonjour, j'ai en effet de plus en plus de projets de personnalisation Odoo. Je trouve que c'est un produit qui permet de répondre à vraiment de très nombreux besoins des entreprises. D'ailleurs je suis en train de monter une formation complète sur le sujet :)
@ggousier
@ggousier 11 күн бұрын
@@InformatiqueSansComplexe Intéressant votre prochaine formation. Odoo pour moi c'est l'ERP parfait pour des petites structures. C'est une solution au design moderne, convivial, intuitif et dont la courbe d'apprentissage, pour les utilisateurs finaux est bien moins ardue qu'avec SAP par exemple.
@NAPHTALIMALKA
@NAPHTALIMALKA 12 күн бұрын
Comment je peux apprendre python. Est ce que il y a une formation gratuite en francai
@InformatiqueSansComplexe
@InformatiqueSansComplexe 12 күн бұрын
Bonjour, merci pour votre commentaire. Il y a pas mal de formation gratuite sur YT. Sinon j'ai fait une playlist sur le sujet : kzbin.info/www/bejne/hp7TmZh5ibFpr80
@asmahassam975
@asmahassam975 14 күн бұрын
On peut utiliser quel application
@InformatiqueSansComplexe
@InformatiqueSansComplexe 13 күн бұрын
Bonjour, pour coder vous voulez dire ? Le plus simple est d’utiliser PyCharm, c’est celui que je préfère. Sinon il y a aussi VDCode.
@katsuuki1818
@katsuuki1818 17 күн бұрын
merci chef
@InformatiqueSansComplexe
@InformatiqueSansComplexe 16 күн бұрын
Merci à vous :)
@simonbataille4336
@simonbataille4336 17 күн бұрын
Merci ! Super video comme d'habitude
@InformatiqueSansComplexe
@InformatiqueSansComplexe 16 күн бұрын
Merci beaucoup Simon :)
@benoitd94
@benoitd94 19 күн бұрын
Top merci Encore de videos ... MERCI
@InformatiqueSansComplexe
@InformatiqueSansComplexe 18 күн бұрын
Merci à vous :)
@AdamaAdouayom
@AdamaAdouayom 19 күн бұрын
Enfin j'ai trouvé quelque chose de simple montrant une interaction claire sur les différentes échanges. Merci beaucoup pour cette vidéo.
@InformatiqueSansComplexe
@InformatiqueSansComplexe 18 күн бұрын
Merci à vous pour votre commenaitre :)
@tozeste2citrouillethegodfa294
@tozeste2citrouillethegodfa294 19 күн бұрын
Merci ! Je n’ai pas encore assez de compétences pour l’utiliser mais c’est intéressant et ça a l’air utile !!
@InformatiqueSansComplexe
@InformatiqueSansComplexe 18 күн бұрын
Merci à vous, c'est très utile en effet. Lancez-vous et essayer. Au pire, cela ne fonctionne pas et vous apprendrez beaucoup en cherchant pourquoi :)
@benoitd94
@benoitd94 19 күн бұрын
Génial vivement la prochaine vidéo
@InformatiqueSansComplexe
@InformatiqueSansComplexe 18 күн бұрын
Merci beaucoup Benoit :)
@matiasdu69
@matiasdu69 20 күн бұрын
Merci pour cette vidéo, c'est top ! Est-ce que tu pourrais nous faire une vidéo où tu nous expliques concrètement, dans quel cas typique Docker peut être utile, comment et pourquoi ? J'ai déjà regardé une petite partie de tes vidéos sur Docker, mais je ne trouve pas d'exemple précis sur pourquoi utiliser Docker pour telle ou telle chose. Merci d'avance :) Et continue, tu es vraiment au top !
@InformatiqueSansComplexe
@InformatiqueSansComplexe 20 күн бұрын
Bonjour Matias et merci pour ton commentaire. Tout d'abord, excellente année 2025 :) Je pensais faire une vidéo pour montrer comment développer sur Odoo en utilisant Docker pour pouvoir travailler sur plusieurs projets en parallèle. Si tu as d'autres idées, n'hésites pas.
@WXChiara
@WXChiara 22 күн бұрын
Bjr Quel est l'intérêt de la virtualisation svp ? Merci beaucoup pour votre retour 🙏
@InformatiqueSansComplexe
@InformatiqueSansComplexe 22 күн бұрын
Bonjour, la virtualisation est très utile sur un serveur par exemple pour optimiser l’utilisation des ressources. Cela permet aussi sur une machine personnelle de faire fonctionner un autre OS (par exemple un Linux dans un Window)
@WXChiara
@WXChiara 22 күн бұрын
@@InformatiqueSansComplexe Merciii pour votre retour 🙂 Bon we
@daoudadiarrassouba8242
@daoudadiarrassouba8242 26 күн бұрын
Super interressant
@InformatiqueSansComplexe
@InformatiqueSansComplexe 25 күн бұрын
Merci beaucoup ☺️
@empereur145
@empereur145 27 күн бұрын
J'ai pas compris c'est pas déjà une chose que odoo fait de base? Ou c'est juste pour nous montrer comment ça marche.
@InformatiqueSansComplexe
@InformatiqueSansComplexe 25 күн бұрын
Bonjour, merci pour votre commentaire. La sécurité est de base dans Odoo. Dans cette vidéo, je montre comment l’utiliser dans son propre module.
@ludovicbriand9826
@ludovicbriand9826 27 күн бұрын
Bonjour, Merci pour cette vidéo très instructive. Selon vous, pour avoir des résultats de plus en plus fiables, est-il préférable de faire beaucoup de cycles d'apprentissage sur un petit nombre de données ou de faire moins de cycles mais avec beaucoup de données à l'entrée ? Je pense notamment à des systèmes complexes (gestions de procédés industriels avec au moins 10 paramètres à suivre). Quelle serait la meilleure stratégie selon vous ? Notre objectif est de prédire la qualité du produit à la sortie : quel est mon niveau de confiance qu'il sera conforme ou non à l'attente ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe 25 күн бұрын
Bonjour et merci pour votre commentaire. Il vaut mieux faire l’apprentissage sur un grand nombre de données plutôt que de nombreuses itérations sinon vous risquez de tomber dans le sur-apprentissage : votre modèle connaîtra parfaitement vos données mais ne sera sans doute pas capable de généraliser.
@ludovicbriand9826
@ludovicbriand9826 18 күн бұрын
​@@InformatiqueSansComplexe merci beaucoup pour votre réponse. Je profite de ce message pour vous souhaiter une bonne année 2025. Je complète ma question si vous le voulez bien. Si on a créé un modèle avec un grand nombre de données (disons 3 à 4 ans de retour d'expérience) et qu'on continue d'en collecter chaque jour. Quelle serait la meilleure stratégie ? Injecter les nouvelles données mensuellement par exemple et refaire un apprentissage "de 0" ou est-il préférable de faire une évaluation des écarts obtenus entre la réalité et le calcul et de les injecter dans le modèle ? Comment est-ce que cela fonctionne s'il s'agit du cas n°2 ? Merci d'avance pour vos éclaircissements.
@InformatiqueSansComplexe
@InformatiqueSansComplexe 18 күн бұрын
Bonjour Ludovic, excellente année également :) Tout dépend de ce que vous voulez faire du modèle. Si je comprends bien, vous souhaitez prédire la qualité du produit en sortie de procédé industriel. J'imagine que les données donne la qualité du produit en fonction des paramètres du procédé. Pour moi, vous n'avez pas besoin de refaire un apprentissage de "0" mais seulement de continuer l'apprentissage avec des nouvelles données. Pour valider votre modèle, je garderais un certains pourcentage de données pour la validation et non pour l'apprentissage. Quel est votre but exactement ? Trouver les bons paramètres pour obtenir la meilleure qualité ?
@ludovicbriand9826
@ludovicbriand9826 17 күн бұрын
@InformatiqueSansComplexe merci pour votre retour. Notre procédé est un procédé biologique donc au-delà du produit, on cherche à surveiller le comportement de notre microorganisme. On connaît son comportement en fonction de la T°, du pH, de la quantité de nourriture, ... et j'aimerais pouvoir anticiper ce comportement en fonction d'une variation de paramètre (par exemple, dans le cas où la régulation du pH est compliquée). Il pourrait aussi s'agir de savoir à quel moment il est le plus opportun d'envoyer des micronutriments....
@InformatiqueSansComplexe
@InformatiqueSansComplexe 17 күн бұрын
En continuant l'apprentissage mensuellement, vous devriez effectivement améliorer petit à petit le modèle 👍
@gouedanyapo9123
@gouedanyapo9123 27 күн бұрын
salut.je n'arrive pas à installer alexa à partir de playstore parce que ce n'est pas disponible dans ma region. existe t-il un autre moyen?
@InformatiqueSansComplexe
@InformatiqueSansComplexe 27 күн бұрын
Bonjour, Avez-vous essayer en utilisant un VPN ?
@azertyioq
@azertyioq 28 күн бұрын
Je n’arrive pas à installer pygame
@InformatiqueSansComplexe
@InformatiqueSansComplexe 27 күн бұрын
Bonjour, avez vous un message d’erreur ?
@azertyioq
@azertyioq 28 күн бұрын
😔
@InformatiqueSansComplexe
@InformatiqueSansComplexe 18 күн бұрын
Ca va aller :)
@azertyioq
@azertyioq 12 күн бұрын
@@InformatiqueSansComplexe merci c'est bon ca marche 😁
@dragon3602010
@dragon3602010 Ай бұрын
Super merci et c'est quoi les prochaines différences avec portainer ou dokploy?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci ☺️. Les prochaines vidéos sont plus sur le stockage objet (aws S3) et comment le gérer avec Python. Mais pourquoi des vidéos sur ces outils 👍🏻
@avenuedefi8583
@avenuedefi8583 Ай бұрын
Merci pour ton travail et bonne fête 🎉
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup ☺️ Bonnes fêtes également 🎄
@chrisder1814
@chrisder1814 Ай бұрын
Trop fort, et pourtant je voudrais te poser une question différente, à propos de python, en ce qui concerne du scraping
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, merci pour votre commentaire. J'ai fait une vidéo sur le web scraping ici : kzbin.info/www/bejne/d2mmnIeEns-brNU
@chrisder1814
@chrisder1814 Ай бұрын
@InformatiqueSansComplexe oui je l'ai vu, mais sauf que dans celle-ci tu n'explique pas quelle est la différence entre une appli genre parshub et un script python, est-ce qu'il y a des avantages et inconvénients à utiliser l'une par rapport à l'autre ?
@chrisder1814
@chrisder1814 Ай бұрын
@@InformatiqueSansComplexe Ensuite est-ce que je pourrais t'écrire sur différents RS ou par email ? J'ai plusieurs idées d'applications non pas pour les revendre mais pour moi, pour mon business de vente en ligne, pour de la recherche de produits pour croiser les données dans un Google sheet par exemple et comme je suis une quiche en développement, je ne connais que dalle, je me demande quelle est la façon correcte de faire et je demande à différentes IA de me donner la bonne façon de faire et de me dire si les manières de faire auxquelles j'ai pensé sont erronés et pourquoi, j'aimerais bien que tu me dises ce que tu penses de leurs explications et que tu me dis ce que tu penses de mes idées et de mes réflexions
@chrisder1814
@chrisder1814 4 күн бұрын
@@InformatiqueSansComplexe bonjour je vous ai envoyé un email la semaine dernière je suis Chrisder
@MalakMiaw
@MalakMiaw Ай бұрын
Sharh zwin 🫡
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
shukran :)
@NgMob243
@NgMob243 Ай бұрын
Bonjour, j'ai deux questions. la première est de savoir quel exécuteur de code utilisez vous ? Et la seconde, comment faire pour avoir Briefcase sur VSCode ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, merci pour votre commentaire. J'utilise PyCharm. Pour utiliser briefcase sur VSCode, vous devez sans doute l'installer via pip. Mais j'avoue que je n'utilise plus trop VSCode.
@kandedesire2700
@kandedesire2700 Ай бұрын
merci beaucoup cher ingénieur pour cette information, ma question est de savoir comment utiliser ces logiciels de monitoring
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, merci pour votre commentaire. Tout dépend du logiciel de supervision en fait :)
@marccaillault5080
@marccaillault5080 Ай бұрын
Bonjour, connaissez vous une librairie qui retourne le numéro d'une plaque d'immatriculation sur une structure JSON avec une capture de flux vidéo de caméra IP ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, merci pour votre commentaire. Je ne sais pas si il existe une librairie unique pour faire cela, mais en combinant une librairie qui capture le flux IP et une autre qui fait de la reconnaissance de texte sur l'image capturée, on doit pouvoir y arriver :)
@marccaillault5080
@marccaillault5080 Ай бұрын
Merci pour votre réponse et pour vos explications toujours très claires dans les vidéos, elles permettent de découvrir voir vulgariser des fonctions insoupçonnées qui deviennent incontournables après vos explications.
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup pour votre commentaire 🙂
@sth481818
@sth481818 Ай бұрын
Simple et efficace comme toujours, merci pour ce partage très intéressant.
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup :)
@Garice
@Garice Ай бұрын
merci pour cette vidéo je l’ai adoré
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup ☺️
@BrunoTran-q6q
@BrunoTran-q6q Ай бұрын
bonjour quand vous dites génial, avez vous une extension IA dans PyCharm qui prédit le code qui va être tapé ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, pour le moment je n’ai pas l’IA mais seulement la complétion intelligente de PyCharm qui est déjà souvent bluffante je trouve. J’ai prévu de tester l’IA, j’en ferai sans doute une vidéo.
@elsazoo
@elsazoo Ай бұрын
Merci beaucoup !
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup Elsa :)
@pitchcesar
@pitchcesar Ай бұрын
Je suis en pleine formation de Python et votre chaîne est une bénédiction pour moi. Un énorme MERCI. 🙏🏽
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci à vous pour votre soutien :)
@yassineogga3218
@yassineogga3218 Ай бұрын
j'ai rien compris. trop vite
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour Yassine et merci pour votre commentaire. Si vous avez des questions, n'hésitez pas à les poser ici pour les partager avec la communauté :)
@BrunoTran-q6q
@BrunoTran-q6q Ай бұрын
malheureusement j'ai copié la meme chose, et google colab retourne une erreur : pred must not be a Python bool Arguments received by CLIPAttention.call(): • inputs=tf.Tensor(shape=(None, 77, 768), dtype=float32) • attention_mask=None'' c'est la ligne qu'il n'aime pas : images = model.text_to_image(prompt="A painting of Ferrari sport car by Vincent Van Gogh, highly detailed, impressionism, oil painting", batch_size=1)
@renardgames
@renardgames Ай бұрын
bonjour j'espère que vous pourrez m'aider ,j'ai un problème avec le "import pygame" ca me met ca comme erreur et je n'arrive pas a la résoudre "import "pygame" could not be resolved"
@renardgames
@renardgames Ай бұрын
désoler si c'est une erreur basique mais je suis débutant
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, on a tous commencé un jour donc pas de souci. Si il vous met cette erreur, c’est sans doute que le package pygame n’est pas installé. Un pip install pygame devrait résoudre le souci ou alors si vous êtes sur pycharm, passez par le gestionnaire de package.
@TsaphnathKahuta
@TsaphnathKahuta Ай бұрын
J'ai essayé encore et encore , mais moi aussi j'ai le même problème ​@@InformatiqueSansComplexe
@thierrydauger1502
@thierrydauger1502 Ай бұрын
@@TsaphnathKahuta Avez-vous bien installer le package correspondant : pip install pygame. ?
@Fatixe-ew8yb
@Fatixe-ew8yb 17 күн бұрын
@@InformatiqueSansComplexe bonjour c'est juste mon deuxième compte, je suis renardgames, et je voulais vous dire que ca fait un long moment que j'essaye de résoudre se problème a l'aide de vos conseille j'ai même désinstaller python et réinstaller mais rien y fait je sais pas si vous avez une dernière solution mais je n'aimerais pas prendre trop de votre de temp non plus mais merci d'avance.
@BrunoTran-q6q
@BrunoTran-q6q Ай бұрын
bonjour, tout d'abord, merci pour ces tutos python. j'ai l'impression que votre site wordpress ne fonctionne pas, les ressources renvoient une 404, est-ce normal ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour Bruno et merci pour votre commentaire. J'ai eu un problème de serveur et j'ai perdu le site en effet (Comme quoi les cordonniers sont souvent les plus mal chaussés!). Je recherche les sources et tentent de remettre cela en place.
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
J'ai pu retrouver les sources de ce petit projet. Les voici ici : informatiquesanscomplexe.com/wp-content/uploads/2024/12/NoelPython.zip. Joyeuses fêtes :)
@BrunoTran-q6q
@BrunoTran-q6q Ай бұрын
Merci à vous. pas obligé tout de suite, mais les assets des autres vidéos comme les jeux du vaisseau, ce serait cool aussi. je suis dev front, je me met à python avec vos vidéos. Manque peut-être un peu de vidéos à finalité web comme django ou alors j'ai pas vu, mais c'est très bien, on va à l'essentiel. Merci
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
J'en ai profité pour ajouter aussi les assets du jeu de vaisseau. Il se trouve sur la vidéo 4/4 :) J'ai fait une vidéo sur flask (kzbin.info/www/bejne/nX3deqGIjchppq8), mais pas encore sur django (je crois pas...).
@french2gather
@french2gather Ай бұрын
Bonjour, je voulais juste finir ces vidéos et vous remercier pour ces belles leçons et idées ; je vais continuer avec le casse-briques... Voici le code présenté dans la vidéo, j'ai juste adapté un peu pour que les étoiles apparaissent en fond d'écran et non devant le vaisseau... Les images et sons doivent être également trouvées et leurs chemins adaptés dans le code, mais ce n'est pas bien difficile. import random import pygame LARGEUR_ECRAN = 800 HAUTEUR_ECRAN = 600 def redimensionner_image(chemin_image, largeur_cible, couleur_transparente=(255, 255, 255)): """ Charge une image, applique une transparence à une couleur donnée, et redimensionne proportionnellement. """ image = pygame.image.load(chemin_image).convert() # Charger l'image image.set_colorkey(couleur_transparente, pygame.RLEACCEL) # Appliquer la transparence largeur_originale, hauteur_originale = image.get_size() # Dimensions originales nouvelle_hauteur = int((largeur_cible / largeur_originale) * hauteur_originale) # Calcul de la nouvelle hauteur image_redimensionnee = pygame.transform.scale(image, (largeur_cible, nouvelle_hauteur)) # Redimensionner return image_redimensionnee class Vaisseau(pygame.sprite.Sprite): def __init__(self): super(Vaisseau, self).__init__() self.surf = redimensionner_image("vaisseau.png", 50) # Redimensionne l'image à une largeur de 50 px self.rect = self.surf.get_rect() def update(self, pressed_keys): # Pour guider le vaisseau if pressed_keys[pygame.K_UP]: self.rect.move_ip(0, -5) if pressed_keys[pygame.K_DOWN]: self.rect.move_ip(0, 5) if pressed_keys[pygame.K_LEFT]: self.rect.move_ip(-5, 0) if pressed_keys[pygame.K_RIGHT]: self.rect.move_ip(5, 0) if pressed_keys[pygame.K_SPACE]: if len(le_missile.sprites()) < 1: missile = Missile(self.rect.center) tous_sprites.add(missile) le_missile.add(missile) # Pour que le vaisseau reste dans l'écran if self.rect.left < 0: self.rect.left = 0 if self.rect.right > LARGEUR_ECRAN: self.rect.right = LARGEUR_ECRAN if self.rect.top <= 0: self.rect.top = 0 if self.rect.bottom >= HAUTEUR_ECRAN: self.rect.bottom = HAUTEUR_ECRAN class Missile(pygame.sprite.Sprite): def __init__(self, center_missile): super(Missile, self).__init__() self.surf = redimensionner_image("missile.png", 35) # Redimensionne l'image à une largeur de 35 px self.rect = self.surf.get_rect(center=center_missile) son_missile.play() def update(self): self.rect.move_ip(15, 0) if self.rect.left > LARGEUR_ECRAN: self.kill() class Ennemi(pygame.sprite.Sprite): def __init__(self): super(Ennemi, self).__init__() self.surf = redimensionner_image("ennemi.png", 50) # Redimensionne l'image à une largeur de 50 px self.rect = self.surf.get_rect(center=(LARGEUR_ECRAN + 50, random.randint(0, HAUTEUR_ECRAN))) # Les ennemis apparaissent à droite de l'écran, à une hauteur au hasard self.speed = random.randint(5, 20) # Vitesse de l'ennemi définie au hasard def update(self): self.rect.move_ip(-self.speed, 0) # Déplacement de l'ennemi vers la gauche if self.rect.right < 0: self.kill() class Explosion(pygame.sprite.Sprite): def __init__(self, center_vaisseau): super(Explosion, self).__init__() self.compteur = 10 # On affiche l'explosion pendant 10 cycles self.surf = redimensionner_image("explosion.png", 50) # Redimensionne l'image à une largeur de 50 px self.rect = self.surf.get_rect(center=center_vaisseau) son_explosion.play() def update(self): self.compteur = self.compteur - 1 # On décrémente le compteur if self.compteur == 0: self.kill() class Etoile(pygame.sprite.Sprite): def __init__(self): super(Etoile, self).__init__() self.image = redimensionner_image("etoile.png", 20) # Redimensionne l'image à une largeur de 20 px self.rect = self.image.get_rect(center=(LARGEUR_ECRAN + 20, random.randint(0, HAUTEUR_ECRAN))) # Position de départ aléatoire à droite de l'écran def update(self): self.rect.move_ip(-5, 0) # Chaque étoile se déplace vers la gauche if self.rect.right < 0: self.kill() class Score(pygame.sprite.Sprite): def __init__(self): super(Score, self).__init__() self._scoreCourant = 0 self._setText() def _setText(self): self.surf = police_score.render('Score : ' + str(self._scoreCourant), False, (255, 255, 255)) self.rect = self.surf.get_rect(center=(LARGEUR_ECRAN / 2, 15)) def update(self): self._setText() def incremente(self, valeur): # pour incrémenter le score quand on touche un ennemi self._scoreCourant = self._scoreCourant + valeur # Initialisation de Pygame pygame.init() clock = pygame.time.Clock() pygame.display.set_caption("The shoot'em up 1.0") # Chargement de la police de caractères pygame.font.init() police_score = pygame.font.SysFont('Comic Sans MS', 30) # Chargement du mixer et des sons pygame.mixer.init() son_missile = pygame.mixer.Sound("missile.ogg") son_explosion = pygame.mixer.Sound("explosion.ogg") AJOUTE_ENEMY = pygame.USEREVENT + 1 AJOUTE_ETOILE = pygame.USEREVENT + 2 pygame.time.set_timer(AJOUTE_ENEMY, 500) pygame.time.set_timer(AJOUTE_ETOILE, 100) # Création de la surface principale ecran = pygame.display.set_mode([LARGEUR_ECRAN, HAUTEUR_ECRAN]) # Groupes de sprites # Tous les sprites (pour faire le blit) tous_sprites = pygame.sprite.Group() le_missile = pygame.sprite.Group() # Le missile les_ennemis = pygame.sprite.Group() # Les ennemis les_explosions = pygame.sprite.Group() # Les explosions les_etoiles = pygame.sprite.Group() # Les étoiles # Création du vaisseau vaisseau = Vaisseau() tous_sprites.add(vaisseau) # Création de l'objet 'score' score = Score() tous_sprites.add(score) continuer = True while continuer: for event in pygame.event.get(): if event.type == pygame.QUIT: continuer = False elif event.type == AJOUTE_ENEMY: nouvel_ennemi = Ennemi() les_ennemis.add(nouvel_ennemi) # ajout au groupe des ennemis tous_sprites.add(nouvel_ennemi) # ajout au 'super-groupe' elif event.type == AJOUTE_ETOILE: nouvelle_etoile = Etoile() les_etoiles.add(nouvelle_etoile) ecran.fill((0, 0, 0)) les_etoiles.draw(ecran) # Dessiner les étoiles seules en arrière-plan # Détection des collisions héro / ennemi if pygame.sprite.spritecollideany(vaisseau, les_ennemis): vaisseau.kill() explosion = Explosion(vaisseau.rect.center) les_explosions.add(explosion) tous_sprites.add(explosion) son_explosion = pygame.mixer.Sound("explosion.ogg") continuer = False # Le jeu s'arrête son_explosion.play() # Détection des collisions missile / ennemi for un_missile in le_missile: liste_ennemis_touches = pygame.sprite.spritecollide(un_missile, les_ennemis, True) # Enlever l'ennemi if len(liste_ennemis_touches) > 0: un_missile.kill() score.incremente(len(liste_ennemis_touches)) for ennemi in liste_ennemis_touches: explosion = Explosion(ennemi.rect.center) les_explosions.add(explosion) tous_sprites.add(explosion) # Pile des touches appuyées touche_appuyee = pygame.key.get_pressed() # Mise à jour des éléments à chaque frame vaisseau.update(touche_appuyee) le_missile.update() les_ennemis.update() les_explosions.update() les_etoiles.update() score.update() for mon_sprite in tous_sprites: ecran.blit(mon_sprite.surf, mon_sprite.rect) pygame.display.flip() clock.tick(30) # Initialisation de la boucle maximum 30 fois par seconde pygame.time.delay(3000) # Attente de 3 secondes lorsqu'on perd pour la dernière animation pygame.quit()
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup pour ce partage qui représente bien l'esprit de la chaîne :)
@french2gather
@french2gather Ай бұрын
​@@InformatiqueSansComplexej'ai fait évoluer le jeu ces derniers jours, avec l'aide de chatGPT car je ne suis pas si doué... Pourrais-je vous envoyer un zip à une adresse mail de la version du jeu obtenue ?
@Benoit-SEO_
@Benoit-SEO_ Ай бұрын
Bonjour et merci pour cette explication très claire (comme d'habitude) d'une librairie ! Une suggestion... Pour faire avancer encore plus le chimiblic .Ne serait il pas intéressant d'intégrer cette démonstration dans une ia générative de code comme Windsurf ou autre ? Le même déroulé: 1- L'explication très claire de la librairie 2- et après un prompt démonstratif et sa sortie en page web ou mobile ? ( il n'y a personne qui le fait jusqu’à présent) Et comme l'ia est là Merci à vous
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour et merci pour votre commentaire :) L'idée de montrer l'IA dans le développement me paraît intéressante en effet. Je ne sais pas si il faut tout lui faire générer cependant, car l'idée est aussi d'apprendre petit pas par petit pas. A méditer donc, mais je pensais en effet montrer l'avantage d'un assistant IA dans le codage en effet.
@Ethan-yy5nj
@Ethan-yy5nj Ай бұрын
Bonjour et merci pour les videos ! Je suis sur un projet de NAS avec True Nas Scale et Nextcloud, il n’y a pas beaucoup de videos a jour dessus alors que le sujet est passionnant que ce soit pour une utilisation perso pu en entreprise, une serie de video dessus peut etre ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour Ethan et merci pour votre commentaire. C'est une bonne idée en effet, je la note dans la liste des idées et j'essaye d'en faire une série pour la nouvelle année :) Merci
@french2gather
@french2gather Ай бұрын
Super vidéo, merci bien ! Voici si vous le permettez le code, car votre site est en reconstruction et les fichiers ne sont plus accessibles (et c'est bien compréhensible deux ans après) : import pygame pygame.init() ecran = pygame.display.set_mode([800, 600]) continuer = True while continuer: for event in pygame.event.get(): if event.type == pygame.QUIT: continuer = False ecran.fill((255, 255, 255)) pygame.draw.circle(ecran, (255, 0, 0), (200, 200), 100) pygame.draw.rect(ecran, (0, 0, 255), (400, 300, 100, 100)) pygame.display.flip()
@BossBoss-m9q
@BossBoss-m9q Ай бұрын
ca me mes Nameerror
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Bonjour, c’est sans doute parce que vous utilisez une variable ou une fonction non définie ou hors du scope. N’hésitez pas à poster votre code ici.
@retrogames3675
@retrogames3675 Ай бұрын
C'est les barettes de ram ?
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Tout à fait 🙂
@retrogames3675
@retrogames3675 Ай бұрын
@InformatiqueSansComplexe merci étant donné que je suis pas trop pc mais je mis mets petit à petit, bonne soirée à vous
@ChrisHalden007
@ChrisHalden007 Ай бұрын
Ça fait beaucoup de hop !!! 😂 Cool video. Merci 👍
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup. Hop ! 😊
@davidl3383
@davidl3383 Ай бұрын
Si tout pouvait être aussi simple que vos explications :) Merci
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup pour ce compliment 😊
@abdellahb1398
@abdellahb1398 Ай бұрын
Moi j'utilise Dockge. C'est le top pour lancer des fichiers docker compose
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
En effet c’est un outil super pratique ! Ça me donne une idée de vidéo, merci 🙂
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
En effet c’est un super outil. Ça me donne une idée de vidéo, merci 🙂
@TheNarstonerz
@TheNarstonerz Ай бұрын
Ca pouvait pas être mieux expliqué que ca :). Merci !
@InformatiqueSansComplexe
@InformatiqueSansComplexe Ай бұрын
Merci beaucoup 😊