Je trouve « distrayant » cette implèm de is_prime :
from itertools import count
def gen_primes():
for i in count(1):
if is_prime(i):
yield i
def is_prime(i):
if i < 3:
return i == 2
for d in gen_primes():
if d ** 2 > i:
return True
if i % d == 0:
return False
C’est le côté « Bah ça peut pas marcher : is_prime a besoin de gen_primes mais gen_primes a besoin de is_prime. » suivi de « OMG ça marche en fait ! » que je trouve distrayant ici.
je me demande s’il existe d’autres implémentation « distrayantes », soit de is_prime, soit d’un autre algo d’ailleurs.
Je n'y connais rien en Python, c'est juste que je n'ai que des appareils Android et un serveur Web, je voudrais sauvegarder mes courriels en .mbox et tout ce que j'ai trouvé que je puisse lancer est un script Python https://zerozone.it/Software/Linux/imap2mbox/
Sauf que sur mon serveur python2 imap2mbox.py donne:
ERROR: IMAP4 error SSLError(1, u'[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:727)')
et pypthon3 ou 3.6 où je pensais SSL plus à jour donne:
File "imap2mbox.py", line 50
parser.error("Argument 'mailsrv' missing: -m [your_mail_server]")
Et je n'arrive pas à corriger le script pour mettre les paramètres directement ou qu'ils soient pris en compte.
De l'aide?
Ou une autre solution pour IMAP vers .mbox?
ça fait un moment que je compte monter en compétence sur python et le destin semble me forcer un peu la main ces derniers temps.
un ami à moi à besoin d’une aide urgente pour un projet sur lequel il travaillait en collaboration avec un partenaire qui s’est retirer à un moment crucial, et qui gérait la partie technique…
il me demande de l’aide car je gravite dans le milieu IT depuis 15ans (chefferie de projet ERP).
dans l’urgence, je dois lui trouver une solution pour retraiter des fichiers excel et csv:
pour collecter des informations et les regrouper dans un unique fichier unique
pour éclater des lignes et écrire dans un autre csv
pyhon me semble tout indiquer pour cela. j’ai commencé à me documenter. je commence à comprendre l’algo à écrire, mais j’ai des questions sur tout ce qui concerne l’archi, le framework, les répertoires…
j’ai commencé à regardé VS code.
pour donner des infos sur mon profil:
j’ai fait du dèv il y a quelques années mais c’était dans SAP, donc langage propriétaire : on gère tout directement dans l’ERP (dèv + paramétrage), donc je n’ai jamais eu besoin de sortir de l’appli pour développer et structurer les choses)
quelqu’un aurait-il un peu de temps à m’accorder pour échanger en visio ou en présentiel, (je compenserai l’aide par un apéro )
je suis dans le nord, entre Lille et Lens. je peux me déplacer.
l’idée est d’échanger pour me mettre sur les bons rails et aller plus vite (mon ami a des échéances trés proches, et un budget largement surconsommé par l’ancien tech).
Makina Corpus conçoit et développe des projets web ou mobiles d’envergure qui allient notamment la cartographie, l’intelligence artificielle, le traitement et l’analyse de données, la dataviz etc.
Nos solutions innovantes, construites sur des logiciels libres, s’attaquent aux défis cruciaux de la transition numérique : mobilité, environnement, santé, aménagement du territoire et développement durable.
Nos actions reposent sur trois piliers fondamentaux :
• Logiciels Libres : Nous privilégions des solutions ouvertes et accessibles ;
• Respect de l’Humain : Chaque projet est conçu avec une approche centrée sur l’utilisateur ;
• Engagement Environnemental : Nous nous engageons à minimiser notre impact écologique, soutenus par notre charte RSE.
Découvrez notre univers et [nos projets] et n’hésitez pas à nous suivre sur Welcome To The Jungle.
La mission :
Vous rejoindrez l’équipe responsable de l’exploitation du système d’information de Makina Corpus, moderne, automatisé et basé à 100 % sur des logiciels libres. Makina Corpus héberge la majorité des services qu’elle utilise tel qu’une instance de GitLab, une registry Docker, des services de messagerie instantané, partage et édition collaborative de documents, CRM, etc.
Votre rôle transverse sur les projets vous permettra d’aborder de nombreuses technologies et d’interagir avec une équipe interdisciplinaire (ergonome, graphistes, développeurs Back/Front, SIG, DBA, mobile…), répartie entre Toulouse, Nantes et Paris.
Vos missions en ingénierie infrastructure/administration système et devops consisteront à :
1) Exploiter le SI de la société (partie administration systèmes):
• Assurer le suivi des mises à jour de nos outils et services internes, les maintenir en condition opérationnelle
• Gérer la sécurité des serveurs qui supportent l’infra (Debian et Ubuntu, LXC)
• Maintenir et faire évoluer les rôles Ansible permettant la gestion automatisée de la configuration des machines
• Superviser les environnements clients (préproduction et production)
• Assurer une veille technologique et proposer et faire évoluer l’infrastructure existante ainsi que nos processus de déploiement suivant les bonnes pratiques
• Développer des outils d’aide aux tâches d’administration système et de supervision
2) Orchestrer le déploiement de nos applications métiers (partie devops) :
• Mettre en œuvre et optimiser les processus d’intégration et de déploiement de nos applications métiers Python/Django et PHP (Drupal/Symfony) en fonction des spécificités et besoins des développeurs par le biais de l’intégration continue/déploiement continu (GitLab-CI, Ansible)
• Conseiller et assister les équipes de développement sur les bonnes pratiques liées au déploiement, aux solutions techniques et enjeux de performance et de sécurité en production
• Maintenir et faire évoluer des outils, modèles et bases de projet, documentations à destination des développeurs pour les accompagner dans la livraison des applications.
Vous aurez l’opportunité de :
• Choisir vos propres outils de travail, et évoluer dans une ambiance motivante et stimulante (projets et contributions à des logiciels libres, participations encouragées à des évènements/meetup, émulation entre experts passionnés, technologies innovantes à tester, veille…)
• Évoluer dans environnement technique interdisciplinaire permettant à chacun d’avoir un véritable impact sur les décisions et où l’initiative personnelle est valorisée.
• Évoluer dans une organisation du travail en mode hybride (mix présentiel-télétravail)
• Participer activement à la vie de l’entreprise : avec vos collègues, vous la représenterez au sein de la communauté
• Jouer un rôle visible dans les communautés des logiciels libres : création et amélioration de logiciels libres / Participation à la vie de communautés de développeurs / Coordination de sprints, de bugfests / Réalisation de présentations, conférences, bar camps, formations, lightning talks / Écriture de livres blancs…
Ce poste est ouvert au télétravail partiel (jusqu’à 3 jours/semaine).
Le profil
Vous avez d’excellentes connaissances et une expérience de 4 ans minimum dans l’administration de systèmes Linux (Debian/Ubuntu) ainsi que dans ces technologies :
• Écosystème Docker (conteneurs, registry, orchestration)
• Intégration continue GitLab-CI
• Gestion de configuration avec Ansible
Ainsi qu’une connaissance des technologies suivantes:
• PostgreSQL
• Scripting bash
• Prometheus/Grafana
• API REST
• Kubernetes
Une connaissance des langages de programmation Python et PHP serait un véritable avantage.
Vous savez travailler en équipe, à distance et en mode asynchrone dans l’objectif d’évangéliser, expliquer et transmettre. Vous savez être force de proposition sur les solutions techniques mises en œuvre.
Faire évoluer vos connaissances pour apprendre de nouvelles techniques vous stimule, vous êtes curieux et appréciez de sortir de votre zone de confort.
Informations complémentaires
Vous contribuerez activement aux valeurs humaines ancrées dans l’ADN de l’entreprise (environnement, équilibre vie pro/vie privée - grâce à la souplesse des horaires et au télétravail encadré -, travail collaboratif, solide couverture santé…) même si nous n’avons pas du tout la prétention d’être parfaits…
Vous avez besoin de le voir pour le croire ? Venez nous rencontrer, un.e makinien.ne pourra vous en parler !
Nos équipes sont mixtes, femmes du numérique rejoignez-nous !
Écrivez-nous et racontez qui vous êtes et ce qui vous anime. Expliquez-nous en quoi vos motivations et vos compétences sont en adéquation avec nos valeurs et nos activités.
Nous répondons à chacune des candidatures de manière personnalisée et dans un délai que nous essayons de rendre le plus raisonnable possible. Si votre candidature est sélectionnée, voici comment cela va se passer pour vous :
• un 1° échange en visio vous sera proposé par Lise notre RRH afin de faire plus ample connaissance et de déterminer si vous, comme nous, souhaitons aller plus loin ;
• il y aura ensuite un 2° entretien avec un expert de l’équipe technique et un chef de projet : ce sera l’occasion de parler technique, missions et projets ;
• enfin, vous serez reçu.e par la responsable de l’agence.
La décision finale sera prise collectivement par vos différents interlocuteurs. Tout le long du parcours, vous serez en lien direct avec Lise.
Bonsoir,
Quelqu’un pourrait-il me dire où se trouve la broche n°1 sur la raspberry 4B, avec une image et une flèche si possible indiquant où… .
J’ai bien noté que la soudure de la broche n°1 a une base carrée, cependant, meme en examinant attentativement , je trouve les bases des soudures toutes pareilles…
Bonjour, je suis lycéen en classe de première et j’ai pour projet noté de reproduire un jeu, j’ai donc choisi Snake, cependant, chaque fois que j’atteins un certains endroit proche de la bordure cela s’arrête avec le message ‘Process ended with exit code 0.’, je ne comprend pas pourquoi sachant que les bordure sont définis sur 0<Zone jouable<1000 pour x et 0<Zone Jouable<750 pour y, si qq pourrait m’aider svp et m’expliquer comment ne plus croiser cette erreur
import pygame
pygame.init()
def affiche(S):
# affiche tous les pixels du serpent
# a partir de leurs coordonnees dans S
for coord in S:
x,y = coord
pygame.draw.rect(dis, blue, [x, y, 50, 50])
pygame.display.flip()
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (138,169,14)
blue = (10,74,130)
dis = pygame.display.set_mode((1001, 836))
game_over = False
x1 = 300
y1 = 300
x1_change = 0
y1_change = 0
clock = pygame.time.Clock()
serpent = [[400,200],[450,200],[500,200] ]
serpent2 = [(450,250)]
while not game_over:
fond = pygame.image.load('font_overlay.png')
fond = fond.convert()
dis.blit(fond, (0,0))
affiche(serpent)
#pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x1_change = -50
y1_change = 0
elif event.key == pygame.K_RIGHT:
x1_change = 50
y1_change = 0
elif event.key == pygame.K_UP:
y1_change = -50
x1_change = 0
elif event.key == pygame.K_DOWN:
y1_change = 50
x1_change = 0
serpent.pop()
tete = [serpent[0][0]+x1_change,serpent[0][1]+y1_change]
serpent.insert(0,tete)
x1 += x1_change
y1 += y1_change
# collisions
# bordures
if serpent[0][0]+x1_change < 0 or serpent[0][0]+x1_change > 1000 :
pygame.time.wait(1000)
game_over = True
if serpent[0][0]+y1_change < 0 or serpent[0][0]+y1_change > 750 :
pygame.time.wait(1000)
game_over = True
# self_eating
affiche(serpent)
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()