from data_manager import get_data def classify_actions_rse_ODD(data): data, _ = get_data() # Récupérer les données depuis data_manager.py criteria = { "Pas de pauvreté": [], "Faim « Zéro »": [], "Bonne santé et bien-être": [], "Éducation de qualité": [], "Égalité entre les sexes": [], "Eau propre et assainissement": [], "Énergie propre et d'un coût abordable": [], "Travail décent et croissance économique": [], "Industrie, innovation et infrastructure": [], "Inégalités réduites": [], "Villes et communautés durables": [], "Consommation et production responsables": [], "Lutte contre les changements climatiques": [], "Vie aquatique": [], "Vie terrestre": [], "Paix, justice et institutions efficaces": [], "Partenariats pour la réalisation des objectifs": [], "Autres": [] } # Keywords for each ISO 26000 category to help in classifying the actions keywords = { "Pas de pauvreté": ["pauvreté", "aide financière", "microcrédit", "inclusion financière", "projets anti-pauvreté", "programmes de soutien", "subventions sociales", "initiatives d'entreprenariat"], "Faim « Zéro »": ["faim", "sécurité alimentaire", "nutrition", "agriculture durable", "programmes de nutrition", "alimentation scolaire", "agroécologie", "technologies agricoles"], "Bonne santé et bien-être": ["santé", "bien-être", "vaccination", "hôpitaux", "soins médicaux", "prévention des maladies", "santé mentale", "accès aux soins"], "Éducation de qualité": ["éducation", "scolarisation", "formation", "alphabétisation", "éducation pour tous", "technologie éducative", "programmes éducatifs", "qualité de l'enseignement"], "Égalité entre les sexes": ["égalité des sexes", "droits des femmes", "empowerment des femmes", "lutte contre les violences de genre", "participation des femmes", "leadership féminin", "éducation des filles", "santé reproductive"], "Eau propre et assainissement": ["eau propre", "assainissement", "accès à l'eau", "traitement de l'eau", "gestion des ressources en eau", "sanitation", "qualité de l'eau", "hygiène"], "Énergie propre et d'un coût abordable": ["énergie renouvelable", "énergie propre", "efficacité énergétique", "technologies énergétiques", "accès à l'énergie", "énergie solaire", "énergie éolienne", "infrastructures énergétiques"], "Travail décent et croissance économique": ["emploi", "droits du travail", "croissance économique", "entreprise responsable", "économie inclusive", "emploi de qualité", "conditions de travail équitables", "sécurité de l'emploi"], "Industrie, innovation et infrastructure": ["industrie", "innovation", "infrastructure", "technologie", "recherche et développement", "industrialisation durable", "innovation technologique", "infrastructures résilientes"], "Inégalités réduites": ["réduction des inégalités", "inclusion sociale", "équité", "justice sociale", "accès équitable", "droits de l'homme", "intégration sociale", "lutte contre la discrimination"], "Villes et communautés durables": ["urbanisme durable", "communautés résilientes", "transports publics", "éco-quartiers", "développement urbain", "mobilité urbaine", "gestion urbaine", "logement abordable"], "Consommation et production responsables": ["consommation durable", "production durable", "économie circulaire", "recyclage", "gestion des déchets", "consommation éthique", "réduction de l'empreinte écologique", "sourcing responsable"], "Lutte contre les changements climatiques": ["changements climatiques", "atténuation", "adaptation au climat", "réduction des émissions", "politiques climatiques", "énergies vertes", "carboneutralité", "initiatives climatiques"], "Vie aquatique": ["océans", "mers", "conservation marine", "pêche durable", "biodiversité marine", "écosystèmes marins", "protection des habitats marins", "lutte contre la pollution marine"], "Vie terrestre": ["biodiversité terrestre", "conservation des forêts", "reforestation", "lutte contre la désertification", "protection de la faune", "aires protégées", "gestion durable des terres", "restauration des habitats"], "Paix, justice et institutions efficaces": ["paix", "justice", "lutte contre la corruption", "institutions solides", "état de droit", "droits humains", "transparence gouvernementale", "accès à la justice"], "Partenariats pour la réalisation des objectifs": ["partenariats mondiaux", "coopération internationale", "mobilisation des ressources", "alignement des politiques", "collaboration multisectorielle", "coopération transfrontalière", "engagement des parties prenantes", "synergies globales"] } keywords = { "Pas de pauvreté": ["pauvreté", "aide financière", "microcrédit", "inclusion financière", "soutien économique", "subventions", "réduction de la pauvreté"], "Faim « Zéro »": ["faim", "sécurité alimentaire", "nutrition", "agriculture durable", "aide alimentaire", "cultures résilientes"], "Bonne santé et bien-être": ["santé", "bien-être", "vaccination", "hôpitaux", "soins médicaux", "prévention des maladies", "santé publique", "accès aux soins"], "Éducation de qualité": ["éducation", "scolarisation", "formation", "alphabétisation", "accès à l'éducation", "qualité de l'enseignement"], "Égalité entre les sexes": ["égalité des sexes", "droits des femmes", "empowerment des femmes", "égalité de genre", "lutte contre les discriminations de genre", "participation des femmes", "leadership féminin", "éducation des filles", "santé reproductive", "violences de genre","leadership féminin", "parité", "lutte contre le harcèlement sexuel", "programmes de mentorat pour femmes", "initiatives pour l'équité salariale", "soutien à l'entrepreneuriat féminin", "formation sur la diversité", "sensibilisation au genre", "promotion de la diversité", "inclusion de genre"], "Eau propre et assainissement": ["eau propre", "assainissement", "accès à l'eau", "traitement de l'eau", "gestion durable de l'eau"], "Énergie propre et d'un coût abordable": ["énergie renouvelable", "énergie propre", "efficacité énergétique", "énergie solaire", "énergie éolienne", "réduction de la consommation énergétique"], "Travail décent et croissance économique": ["emploi", "droits du travail", "croissance économique", "entreprise responsable", "travail décent", "conditions de travail", "économie inclusive"], "Industrie, innovation et infrastructure": ["industrie", "innovation", "infrastructure", "technologie", "innovation industrielle", "développement durable industriel"], "Inégalités réduites": ["réduction des inégalités", "inclusion sociale", "équité", "justice sociale", "égalité des chances"], "Villes et communautés durables": ["urbanisme durable", "communautés résilientes", "transports publics", "développement urbain durable", "mobilité urbaine"], "Consommation et production responsables": ["consommation durable", "production durable", "économie circulaire", "recyclage", "gestion des déchets", "réduction de l'empreinte carbone"], "Lutte contre les changements climatiques": ["changements climatiques", "atténuation", "adaptation au climat", "réduction des émissions", "initiatives climatiques", "sobriété carbone"], "Vie aquatique": ["océans", "mers", "conservation marine", "pêche durable", "biodiversité aquatique", "protection des écosystèmes marins"], "Vie terrestre": ["biodiversité terrestre", "conservation des forêts", "reforestation", "protection des écosystèmes terrestres", "lutte contre la désertification"], "Paix, justice et institutions efficaces": ["paix", "justice", "lutte contre la corruption", "institutions solides", "état de droit", "transparence", "accessibilité de la justice"], "Partenariats pour la réalisation des objectifs": ["partenariats mondiaux", "coopération internationale", "engagement multi-acteurs", "collaboration stratégique", "synergie"] } #keywords.update(keywords_sdg) for record in data: action_rse = record.get("action_rse", "").lower() company_info = { "name": record.get("nom_courant_denomination", "N/A"), "action_rse": action_rse, "activity": record.get("libelle_section_naf", "N/A"), "city": record.get("commune", "N/A") } found_category = False for criterion, key_phrases in keywords.items(): if any(key_phrase in action_rse for key_phrase in key_phrases): criteria[criterion].append(company_info) found_category = True break # Assuming each action belongs to one category only # Si l'action n'a pas été classifiée dans une catégorie existante, la placer dans "Autres" if not found_category: criteria["Autres"].append(company_info) return criteria