- 240
- 1 140 337
Informatique Sans Complexe !
France
Приєднався 20 січ 2020
Bienvenue sur L’informatique sans complexe !
Ici, l’informatique devient accessible à tous, que vous soyez expert ou simple curieux. Contrairement à d’autres sites souvent destinés aux informaticiens, cette chaîne a pour mission de rendre les concepts techniques clairs et compréhensibles pour chacun, sans jargon inutile.
Mon objectif ? C'est de partager des connaissances pratiques et des astuces simples pour vous aider à mieux comprendre le monde de l’informatique, quel que soit votre niveau.
Alors, si un sujet vous intéresse, ou si vous avez une question, laissez un commentaire et échangeons !
Merci d’être ici, et bonne découverte !
Ici, l’informatique devient accessible à tous, que vous soyez expert ou simple curieux. Contrairement à d’autres sites souvent destinés aux informaticiens, cette chaîne a pour mission de rendre les concepts techniques clairs et compréhensibles pour chacun, sans jargon inutile.
Mon objectif ? C'est de partager des connaissances pratiques et des astuces simples pour vous aider à mieux comprendre le monde de l’informatique, quel que soit votre niveau.
Alors, si un sujet vous intéresse, ou si vous avez une question, laissez un commentaire et échangeons !
Merci d’être ici, et bonne découverte !
Develop on Odoo® with Docker®!
Dans cette vidéo, nous voyons comment installer rapidement une instance Odoo pour pouvoir développer rapidement !
00:00 Développer...
00:23 Pourquoi Docker ?
00:54 Tutoriel
00:00 Développer...
00:23 Pourquoi Docker ?
00:54 Tutoriel
Переглядів: 370
Відео
10 Classic Mistakes in Python®!
Переглядів 4982 дні тому
Dans cette vidéo, nous voyons ensemble 10 erreurs classiques que l'on fait tous au moins une fois, et pas seulement quand on débute :) 00:00 10 erreurs classiques 00:19 Erreur 1 00:59 Erreur 2 01:39 Erreur 3 02:23 Erreur 4 03:04 Erreur 5 04:13 Erreur 6 05:28 Erreur 7 06:02 Erreur 8 07:50 Erreur 9 08:56 Erreur 10
Manage an AWS® S3 Bucket with Python®
Переглядів 22414 днів тому
Dans cette vidéo, je vous montre comment gérer les objets dans votre bucket S3 facilement avec l'API Boto3. 00:00 Gérer ... 00:17 Boto3 00:40 Tutoriel
AWS S3 compatible storage on your PC!
Переглядів 44921 день тому
Dans cette vidéo, je vous montre comment installer et utiliser rapidement un stockage objet comme AWS S3, en local sur votre PC ! Le container MinIO : github.com/louislam/dockge 00:00 Un stockage... 00:30 Stockage Objet 01:00 Tutoriel
Manage Docker® efficiently via a web interface!
Переглядів 798Місяць тому
Dans cette vidéo, je vous montre comment gérer facilement vos stacks Docker Compose avec un outil très cool : DockGE Le GitHub de DockGE: github.com/louislam/dockge 00:00 Gérer... 00:25 DockGE 00:58 Tutoriel
Don’t lose face in your Python scripts anymore!
Переглядів 596Місяць тому
Dans cette vidéo, je vous présente deepface, un librairie qui permet d'ajouter de la reconnaissance faciale dans vos projets Python®. 00:00 Ne perdez pas... 00:18 DeepFace 00:41 Tutoriel
A vegetable to boost your python' scripts !
Переглядів 497Місяць тому
Dans cette vidéo, je vous montre comment optimiser en quelques lignes vos scripts pour des tâches lourdes. 00:00 Un légume... 00:19 Celery 00:44 Tutoriel
Un bouquet de fleurs pour Python® !
Переглядів 558Місяць тому
Dans cette vidéo, nous voyons comment créer des graphiques interactifs rapidement avec Python® 00:00 Un bouquet... 00:19 Bokeh 00:53 Tutoriel
Soyez à l'heure avec Python® !
Переглядів 9992 місяці тому
Si comme moi vous trouvez datetime parfois un peu "lourd", je vous présente ici une librairie qui va vous sauver la vie ! 00:00 Soyez à l'heure... 00:21 Arrow 00:44 Tutoriel
Ne perdez plus la mémoire en Python® !
Переглядів 8482 місяці тому
N'oubliez pas de répondez au sondage pour vous aider : docs.google.com/forms/d/1o2zgYB24oz_BDEh_Ie6EhhIy9ApIggK6HvDYjsqJjTM Dans cette vidéo, nous voyons comment Python gère la mémoire et comment optimiser la gestion de cette dernière. 00:00 Ne perdez plus... 00:26 Mémoire 00:50 La pile 01:08 Le tas 01:33 Tutoriel Optimiser la Mémoire
Des APIs comme un Pro en Python® !
Переглядів 1,5 тис.2 місяці тому
Dans cette vidéo, nous voyons comment écrire et tester très rapidement une API avec FastAPI ! Lien vers le sondage : docs.google.com/forms/d/e/1FAIpQLSfxLnOxd4Zt8KiCFtzngY-b9K531R7ES0d0MblIb0iTPLNqZg/viewform?usp=pp_url 00:00 Des APIs... 00:43 FastAPI 01:07 Tutoriel
Aidez-moi à mieux vous aider !
Переглядів 2442 місяці тому
Une vidéo un peu spéciale où je ne parle ni de code ni d'outils mais où je vous remercie et vous demande votre aide pour répondre au mieux à vos attentes ! Merci d'avance ! PS : Tentez de gagner 30 minutes de coaching personnalisés en laissant votre e-mail à la fin du sondage :) Le lien pour le sondage : docs.google.com/forms/d/e/1FAIpQLSfxLnOxd4Zt8KiCFtzngY-b9K531R7ES0d0MblIb0iTPLNqZg/viewform...
Validez vos données Python® facilement !
Переглядів 5902 місяці тому
Dans cette vidéo, nous voyons comment valider nos données avant de les utiliser dans nos scripts.
Echangez entre vos scripts Python® grâce à ce lapin !
Переглядів 5482 місяці тому
Dans cette vidéo, on voit comment échanger des messages entre de très nombreux scripts Python grâce au système RabbitMQ 00:00 RabbitMQ 00:30 File de messages 01:08 Tutoriel
Boostez vos scripts Python® en temps réel avec Redis® !
Переглядів 6613 місяці тому
Dans cette vidéo, on voit comment faire communiquer facilement de nombreux scripts Python entre eux. 00:00 Boostez... 00:20 Redis 00:54 Tutoriel
Faire communiquer les scripts Python®
Переглядів 1,1 тис.3 місяці тому
Faire communiquer les scripts Python®
Manipuler des bases de données sans SQL !
Переглядів 9013 місяці тому
Manipuler des bases de données sans SQL !
Résoudre des équations avec Python® !
Переглядів 9844 місяці тому
Résoudre des équations avec Python® !
Accéder à Google Drive® avec Python®
Переглядів 1,2 тис.6 місяців тому
Accéder à Google Drive® avec Python®
Quel IDE pour développer avec Python® ?
Переглядів 1,8 тис.6 місяців тому
Quel IDE pour développer avec Python® ?
Applications mobiles en Python®, le match !
Переглядів 1,9 тис.6 місяців тому
Applications mobiles en Python®, le match !
5 librairies essentielles pour développer en Python®
Переглядів 2,7 тис.7 місяців тому
5 librairies essentielles pour développer en Python®
Encore un autre moyen de faire des applications mobiles avec Python® !
Переглядів 11 тис.7 місяців тому
Encore un autre moyen de faire des applications mobiles avec Python® !
Une autre application mobile avec Python® ?
Переглядів 1,7 тис.7 місяців тому
Une autre application mobile avec Python® ?
Très claire! Merci🎉 bientot une video sur comment coder un module? Ou peut etre comment utiliser le oddoo.sh?
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() "
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
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.
@@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
merci
Merci à vous 🙂
Hello Sir, Do you need a professional youtube thumbnail designer, and youtube video SEO expert?
Hello Safi, thanks for your offer but I can't afford this kind of service right now.
Salut s'il vous plait je souhaite vraiment créer la mienne
Bonjour et merci pour votre commentaire. Bravo, c'est une excellente idée :)
Bonjour, merci pour ces explications très claires. Avez-vous une formation complète pour Odoo Développeur ?
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.
@InformatiqueSansComplexe Merci, j'espère que le prix sera abordable pour moi 😀.
C'est un investissement pour l'avenir surtout :)
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.
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 ! :)
@@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}..." 😉
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 :)
@@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.
Comment je peux apprendre python. Est ce que il y a une formation gratuite en francai
Bonjour, merci pour votre commentaire. Il y a pas mal de formation gratuite sur YT. Sinon j'ai fait une playlist sur le sujet : ua-cam.com/video/PmpheCTL6yk/v-deo.html
On peut utiliser quel application
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.
merci chef
Merci à vous :)
Merci ! Super video comme d'habitude
Merci beaucoup Simon :)
Top merci Encore de videos ... MERCI
Merci à vous :)
Enfin j'ai trouvé quelque chose de simple montrant une interaction claire sur les différentes échanges. Merci beaucoup pour cette vidéo.
Merci à vous pour votre commenaitre :)
Merci ! Je n’ai pas encore assez de compétences pour l’utiliser mais c’est intéressant et ça a l’air utile !!
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 :)
Génial vivement la prochaine vidéo
Merci beaucoup Benoit :)
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 !
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.
Bjr Quel est l'intérêt de la virtualisation svp ? Merci beaucoup pour votre retour 🙏
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)
@@InformatiqueSansComplexe Merciii pour votre retour 🙂 Bon we
Super interressant
Merci beaucoup ☺️
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.
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.
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 ?
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.
@@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.
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é ?
@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....
En continuant l'apprentissage mensuellement, vous devriez effectivement améliorer petit à petit le modèle 👍
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?
Bonjour, Avez-vous essayer en utilisant un VPN ?
Je n’arrive pas à installer pygame
Bonjour, avez vous un message d’erreur ?
😔
Ca va aller :)
@@InformatiqueSansComplexe merci c'est bon ca marche 😁
Super merci et c'est quoi les prochaines différences avec portainer ou dokploy?
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 👍🏻
Merci pour ton travail et bonne fête 🎉
Merci beaucoup ☺️ Bonnes fêtes également 🎄
Trop fort, et pourtant je voudrais te poser une question différente, à propos de python, en ce qui concerne du scraping
Bonjour, merci pour votre commentaire. J'ai fait une vidéo sur le web scraping ici : ua-cam.com/video/A8CkTNijhvs/v-deo.html
@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 ?
@@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
@@InformatiqueSansComplexe bonjour je vous ai envoyé un email la semaine dernière je suis Chrisder
Sharh zwin 🫡
shukran :)
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 ?
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.
merci beaucoup cher ingénieur pour cette information, ma question est de savoir comment utiliser ces logiciels de monitoring
Bonjour, merci pour votre commentaire. Tout dépend du logiciel de supervision en fait :)
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 ?
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 :)
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.
Merci beaucoup pour votre commentaire 🙂
Simple et efficace comme toujours, merci pour ce partage très intéressant.
Merci beaucoup :)
merci pour cette vidéo je l’ai adoré
Merci beaucoup ☺️
bonjour quand vous dites génial, avez vous une extension IA dans PyCharm qui prédit le code qui va être tapé ?
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.
Merci beaucoup !
Merci beaucoup Elsa :)
Je suis en pleine formation de Python et votre chaîne est une bénédiction pour moi. Un énorme MERCI. 🙏🏽
Merci à vous pour votre soutien :)
j'ai rien compris. trop vite
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é :)
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)
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"
désoler si c'est une erreur basique mais je suis débutant
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.
J'ai essayé encore et encore , mais moi aussi j'ai le même problème @@InformatiqueSansComplexe
@@TsaphnathKahuta Avez-vous bien installer le package correspondant : pip install pygame. ?
@@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.
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 ?
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.
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 :)
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
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 (ua-cam.com/video/gLzInRXc6pM/v-deo.html), mais pas encore sur django (je crois pas...).
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()
Merci beaucoup pour ce partage qui représente bien l'esprit de la chaîne :)
@@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 ?
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
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.
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 ?
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
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()
ca me mes Nameerror
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.
C'est les barettes de ram ?
Tout à fait 🙂
@InformatiqueSansComplexe merci étant donné que je suis pas trop pc mais je mis mets petit à petit, bonne soirée à vous
Ça fait beaucoup de hop !!! 😂 Cool video. Merci 👍
Merci beaucoup. Hop ! 😊
Si tout pouvait être aussi simple que vos explications :) Merci
Merci beaucoup pour ce compliment 😊
Moi j'utilise Dockge. C'est le top pour lancer des fichiers docker compose
En effet c’est un outil super pratique ! Ça me donne une idée de vidéo, merci 🙂
En effet c’est un super outil. Ça me donne une idée de vidéo, merci 🙂
Ca pouvait pas être mieux expliqué que ca :). Merci !
Merci beaucoup 😊