Les meilleurs développeurs informatique freelances sont sur Codeur.com

Je veut une application mobile nommé mouridoul lahi l'application

 Fermé · Moins de 500 € · 8 offres · 2205 vues


import json
import os
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView
from kivy.uix.gridlayout import GridLayout

DATA_FILE = "membres.json"

# --- Gestion du fichier JSON ---
def charger_donnees():
if os.path.exists(DATA_FILE):
try:
with open(DATA_FILE, "r") as f:
return json.load(f)
except:
return {"membres": []}
else:
return {"membres": []}

def sauvegarder_donnees(data):
with open(DATA_FILE, "w") as f:
json.dump(data, f, indent=4)

# --- Interface principale ---
class MainScreen(BoxLayout):

def __init__(self, **kwargs):
super().__init__(**kwargs)
self.orientation = "vertical"
self.padding = 20
self.spacing = 10

self.data = charger_donnees()

# Titre
self.add_widget(Label(
text="📿 Mouridoul Lahi",
font_size=28,
bold=True,
color=(1, 1, 1, 1)
))

# Zone d'ajout
self.nom = TextInput(hint_text="Nom du membre", multiline=False, size_hint_y=None, height=40)
self.tel = TextInput(hint_text="Numéro téléphone", multiline=False, size_hint_y=None, height=40)
self.montant = TextInput(hint_text="Montant cotisation", multiline=False, size_hint_y=None, height=40)

self.add_widget(self.nom)
self.add_widget(self.tel)
self.add_widget(self.montant)

bouton = Button(text="➕ Ajouter membre", size_hint_y=None, height=50, background_color=(0, 0.6, 0, 1))
bouton.bind(on_press=self.ajouter_membre)
self.add_widget(bouton)

# Liste des membres
self.scroll = ScrollView(size_hint=(1, 1))

self.list_layout = GridLayout(cols=1, spacing=5, size_hint_y=None)
self.list_layout.bind(minimum_height=self.list_layout.setter('height'))

self.scroll.add_widget(self.list_layout)
self.add_widget(self.scroll)

self.refresh_list()

# Ajouter un membre
def ajouter_membre(self, instance):
nom = self.nom.text.strip()
tel = self.tel.text.strip()
montant = self.montant.text.strip()

if nom == "" or tel == "" or montant == "":
return

self.data["membres"].append({
"nom": nom,
"tel": tel,
"montant": montant
})

sauvegarder_donnees(self.data)

self.nom.text = ""
self.tel.text = ""
self.montant.text = ""

self.refresh_list()

# Rafraîchir l'affichage
def refresh_list(self):
self.list_layout.clear_widgets()

for i, m in enumerate(self.data["membres"], 1):
texte = f"• {m['nom']} | 📞 {m['tel']} | 💰 {m['montant']} CFA"
self.list_layout.add_widget(Label(text=texte, size_hint_y=None, height=40))

class MouridoulLahiApp(App):
def build(self):
return MainScreen()

if __name__ == "__main__":
MouridoulLahiApp().run()import json
import os
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView
from kivy.uix.gridlayout import GridLayout

DATA_FILE = "membres.json"

# --- Gestion du fichier JSON ---
def charger_donnees():
if os.path.exists(DATA_FILE):
try:
with open(DATA_FILE, "r") as f:
return json.load(f)
except:
return {"membres": []}
else:
return {"membres": []}

def sauvegarder_donnees(data):
with open(DATA_FILE, "w") as f:
json.dump(data, f, indent=4)

# --- Interface principale ---
class MainScreen(BoxLayout):

def __init__(self, **kwargs):
super().__init__(**kwargs)
self.orientation = "vertical"
self.padding = 20
self.spacing = 10

self.data = charger_donnees()

# Titre
self.add_widget(Label(
text="📿 Mouridoul Lahi",
font_size=28,
bold=True,
color=(1, 1, 1, 1)
))

# Zone d'ajout
self.nom = TextInput(hint_text="Nom du membre", multiline=False, size_hint_y=None, height=40)
self.tel = TextInput(hint_text="Numéro téléphone", multiline=False, size_hint_y=None, height=40)
self.montant = TextInput(hint_text="Montant cotisation", multiline=False, size_hint_y=None, height=40)

self.add_widget(self.nom)
self.add_widget(self.tel)
self.add_widget(self.montant)

bouton = Button(text="➕ Ajouter membre", size_hint_y=None, height=50, background_color=(0, 0.6, 0, 1))
bouton.bind(on_press=self.ajouter_membre)
self.add_widget(bouton)

# Liste des membres
self.scroll = ScrollView(size_hint=(1, 1))

self.list_layout = GridLayout(cols=1, spacing=5, size_hint_y=None)
self.list_layout.bind(minimum_height=self.list_layout.setter('height'))

self.scroll.add_widget(self.list_layout)
self.add_widget(self.scroll)

self.refresh_list()

# Ajouter un membre
def ajouter_membre(self, instance):
nom = self.nom.text.strip()
tel = self.tel.text.strip()
montant = self.montant.text.strip()

if nom == "" or tel == "" or montant == "":
return

self.data["membres"].append({
"nom": nom,
"tel": tel,
"montant": montant
})

sauvegarder_donnees(self.data)

self.nom.text = ""
self.tel.text = ""
self.montant.text = ""

self.refresh_list()

# Rafraîchir l'affichage
def refresh_list(self):
self.list_layout.clear_widgets()

for i, m in enumerate(self.data["membres"], 1):
texte = f"• {m['nom']} | 📞 {m['tel']} | 💰 {m['montant']} CFA"
self.list_layout.add_widget(Label(text=texte, size_hint_y=None, height=40))

class MouridoulLahiApp(App):
def build(self):
return MainScreen()

if __name__ == "__main__":
MouridoulLahiApp().run()

Budget indicatif : Moins de 500 €

Publication : 21 novembre 2025 à 18h29

Profils recherchés : Développeur spécifique freelance , Développeur mobile freelance , Développeur Python freelance

Le profil du client est reservé aux prestataires abonnés

Créer un compte

8 freelances ont répondu à ce projet

7 propositions de devis en moins de 2h

Roger_Clanget Agence de développement mobile
minuitagency Agence de développement mobile
David Marchesseau Agence de développement mobile
Julien Thomas Agence web
Pixalaabp Agence de développement Node.js
Papa Fedhior Agence web design
Paul Mb  Développeur mobile
+1

Montant moyen des devis proposés : 1 050 €

Estimation du délai : 12 jours

Publier un projet similaire

Nos ressources utiles

Allez plus loin avec nos ressources liées à ce projet !

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients