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()
Bonjour et déjà merci pour votre aide.
Par ailleurs, je ne sais pas si je suis au bon endroit pour poser ma question… si pas mes excuses et merci de me donner des pistes de réflexions.
Voici donc mon problème : je pense que mon logiciel Python est installé au mauvais endroit voici le path ~/.cache/activestate/bin
Quand je veux utiliser pip install pour ajouter des bibliothèques, le système m'envoie des erreurs.
Quand je veux passer à la version python3.13 et que je lui demande de l'installer dans un répertoire :~/PYTHON$, je me retrouve avec la version 3.10.
J'avoue que je suis un peu perdu Pourquoi mon programme est-il dans un répertoire caché (/.cache) serait-ce la cause du problème et comment puis-je disposer de la dernière version de Python et pouvoir utiliser les extensions via pip ?
Pour information, je suis sous UBUNTU 24.4 et je programme en Python via VSCode
Rejoignez Makina Corpus en tant que Chef-Cheffe de projets web spécialisé(e) dans les domaines du climat, de l’agriculture et de l’environnement. Intégrez une équipe engagée qui développe des solutions numériques innovantes en combinant cartographie, intelligence artificielle et analyse de données pour répondre aux enjeux environnementaux majeurs.
Vous travaillerez sur des projets qui font sens tels que la gestion d’espaces naturels et l’aménagement du territoire, en accord avec nos valeurs historiques : logiciels libres, respect de l’humain et engagement écologique. En tant que membre de notre équipe, vous participerez activement à la conception et à la coordination de projets web d’envergure, tout en bénéficiant d’un environnement de travail stimulant qui valorise la collaboration et l’innovation. Si vous êtes motivé par l’idée de contribuer à des projets ayant un impact positif sur le monde, nous serions ravis de vous accueillir chez Makina Corpus.
Vous intégrerez un pôle interdisciplinaire (chefs de projets, ergonomes, graphistes, développeurs Back/Front/Mobile, SIG, DBA…) réparti entre Toulouse, Nantes et Paris, au sein duquel vous aurez pour mission de piloter les projets de nos clients et de participer de façon active au développement commercial.
Vos missions consisteront à :
Identifier et mettre en œuvre au sein du projet les besoins technico-fonctionnels des clients
Formaliser, organiser, planifier et contrôler les phases de réalisation
Piloter et coordonner l’équipe projet
Assurer le suivi du planning et le contrôle de la qualité
Gérer les engagements vis-à-vis du client et s’assurer de sa satisfaction
Fidéliser, entretenir et développer le portefeuille client existant
Participer aux phases d’avant-vente en relation avec le client et avec nos équipes, rédiger une proposition commerciale
Nous mettrons en place un plan de formationet un accompagnement par plusieurs chefs de projetsadapté pour vous permettre d’acquérir rapidement une très bonne connaissance de l’entreprise, son activité et son environnement, et de vous approprier et maîtriser les techniques de gestion de projet web exigeants.
Ce poste est ouvert au télétravail partiel (jusqu’à 3 jours/semaine).
Profil
Vous maîtrisez les méthodes et outils de gestion de projets web complexes et techniques, etpossédezune expérience de minimum 2 ans sur ce type de poste.
Vous possédez unbackground technique dans le développement web.
Vous avez une appétence commerciale et idéalement une expérience dans la réponse à appels d’offres.
Vous aimez comprendre les besoins du client, s’approprier son métier et lui proposer des solutions adaptées ;
Votre goût du travail en équipe, votre curiosité, vos excellentes qualités relationnelles seront des atouts indispensables. Apprendre toujours plus vous stimule !
Nous ne précisons pas de diplôme ou de niveau d’études minimumcar nous attachons avant tout de l’importance aux compétences et à la passion du métier.
Informations complémentaires
Dans la ruche collaborative Makina Corpus, on dit ce qu’on fait : les makiniens évoluent dans une ambiance motivante et stimulante (projets et contrib opensource, participations encouragées à des évènements/meetup, émulation entre experts passionnés, technos innovantes à tester, veille…) et contribuent aux valeurs humaines ancrées dans l’ADN de l’entreprise (environnement, équilibre vie pro/vie privée, collaboratif, télétravail…).
Mais surtout chez Makina on fait ce qu’on dit : 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 et hommes du numérique nous vous attendons.
É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.
En savoir plus sur notre processus de recrutement :
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 2 chefs de projet toulousains : ce sera l’occasion de parler du poste, des missions et des projets ;
enfin, vous serez reçu.e par le responsable de l’agence.
La décision finale sera prise collectivement par vos différents interlocuteurs. Tout au long du parcours, vous serez en lien direct avec Lise.
Comment utiliser Hyperfine pour comparer les performances de rg et ag
Qu’est-ce que Hyperfine ?
Hyperfine est un outil en ligne de commande qui permet de mesurer et de comparer les performances d’autres commandes. Il est particulièrement utile pour évaluer la vitesse d’exécution de différentes commandes ou scripts, en fournissant des statistiques détaillées comme le temps moyen, l’écart-type, et la plage de temps d’exécution.
Présentation de rg (ripgrep)
Ripgrep, souvent abrégé en rg, est un outil de recherche de texte ultra-rapide. Il est conçu pour parcourir rapidement des fichiers et des répertoires à la recherche de motifs spécifiques. Ripgrep est connu pour sa rapidité et sa capacité à ignorer les fichiers non pertinents, comme ceux dans les répertoires .git ou node_modules.
Présentation de ag (The Silver Searcher)
The Silver Searcher, ou ag, est un autre outil de recherche de texte, similaire à ack, mais plus rapide. Il est optimisé pour la recherche dans des projets de code, en ignorant automatiquement les fichiers et répertoires non pertinents. Bien qu’il soit rapide, il est souvent surpassé par rg en termes de performances.
Comparaison des performances avec Hyperfine
Pour comparer les performances de rg et ag, nous pouvons utiliser Hyperfine avec la commande suivante :
Les résultats montrent que rg est significativement plus rapide que ag :
rg a un temps moyen d’exécution de 256.6 ms.
ag a un temps moyen d’exécution de 910.3 ms.
En résumé, rg est environ 3.55 fois plus rapide que ag dans ce scénario.
Pourquoi utiliser rg plutôt que ag ?
La comparaison effectuée avec Hyperfine démontre clairement que rg est plus performant que ag pour la recherche de texte. Si la vitesse est un critère important pour vous, rg est donc un choix évident. De plus, rg offre une meilleure gestion des fichiers ignorés et une intégration plus fluide avec les outils modernes de développement.