Uma aventura inesquecível em Madagascar: o CCAS de Chirongui convida idosos e pessoas com deficiência a explorar esta ilha mágica.

Preparar-se para uma partida rumo ao desconhecido é sempre uma descarga de adrenalina, uma promessa de novos horizontes. E que destino poderia melhor personificar essa promessa do que Madagascar, a Ilha Vermelha, um verdadeiro paraíso terrestre? O Centro de Ação Social Chirongui (CCAS) assumiu um desafio formidável: tornar essa aventura inesquecível acessível a todos. Imagine uma jornada onde a descoberta de paisagens deslumbrantes se mistura com encontros humanos profundos, onde cada passo é uma lição de vida. Este projeto, concebido especificamente para idosos e pessoas com deficiência, vai muito além do simples turismo. É um convite à exploração, à solidariedade, uma ponte construída entre culturas. Madagascar é uma terra de promessas e maravilhas, e esta iniciativa do CCAS Chirongui é um verdadeiro passaporte para os sonhos, uma oportunidade única de vivenciar em primeira mão a autenticidade de uma ilha mágica. No final de agosto de 2025, uma delegação terá a oportunidade de voar para Madagascar, não apenas para férias, mas para uma verdadeira imersão. Esta é a essência do que gostamos de chamar de uma jornada transformadora, onde as pessoas estão no centro de cada interação, cada sorriso compartilhado, cada descoberta. Em um mundo onde a acessibilidade ainda é um grande desafio, o CCAS (Centro de Ação Social) de Chirongui se posiciona como pioneiro. Ao abrir as portas de Madagascar para um público que talvez nunca tenha ousado sonhar com uma expedição como essa, demonstra que nenhum limite deve sufocar o desejo de aventura. Esta exploração da ilha mágica… Esta não é apenas uma jornada física, mas um enriquecimento espiritual, prova de que a curiosidade e a sede de descobertas podem superar muitos obstáculos. Os participantes terão a oportunidade de vivenciar momentos intensos, compartilhar risos e emoções poderosas e criar memórias para a vida toda. Esta iniciativa está perfeitamente alinhada com a visão do turismo responsável, onde cada euro investido contribui para o desenvolvimento local e a proteção de populações vulneráveis. A contagem regressiva começou para uma aventura que promete ser não apenas inesquecível, mas também profundamente humana e significativa para cada viajante. Em resumo: 🤝 Uma aventura inesquecível e responsável organizada pelo Centro de Ação Social Chirongui (CCAS), dedicada a idosos e pessoas com deficiência. 🇲🇬 Exploração da ilha mágica de Madagascar, rica em natureza, cultura e conexão humana. 🇲🇬 🗓️ Uma viagem planejada para o final de agosto de 2025, focada em imersão e compartilhamento. 👨‍👩‍👧‍👦 Participação ativa em projetos com associações locais, principalmente o “Grandir Ailleurs” em Antsirabe, voltado para a proteção infantil.🎨 Descoberta do artesanato tradicional malgaxe em Ambositra e da vida selvagem endêmica (lêmures-de-cauda-anelada) na Reserva Anja.

🍲 Imersão culinária com o “Sakafo malgaxe” e degustação de produtos locais. ✈️ Pacote completo com transporte, hospedagem, atividades e refeições, priorizando conforto e segurança. A ousada iniciativa do Chirongui CCAS: uma exploração solidária em Madagascar Quando falamos de aventura, a imagem que nos vem à mente é a de vastas extensões, culturas distantes e desafios emocionantes. Mas quando essa aventuraé possibilitada por uma instituição como o

Chirongui CCAS

  • , e quando está aberta a idosos e pessoas com deficiência Isso assume uma dimensão totalmente nova. É a prova brilhante de que o desejo de explorar não conhece idade nem barreiras. Esta viagem inesquecível a Madagascar, agendada para o final de agosto de 2025, é mais do que apenas uma viagem. É uma filosofia, uma abordagem inclusiva que oferece a oportunidade de descobrir uma ilha mágica enquanto participa em atos concretos de solidariedade. A escolha de Madagascar não é insignificante: esta ilha, com a sua biodiversidade única e cultura vibrante, é um verdadeiro parque de diversões para a admiração e a troca de experiências. Cada detalhe foi cuidadosamente considerado para que os participantes possam desfrutar plenamente, com total tranquilidade e segurança, das riquezas que Madagascar tem para oferecer. Pensámos em tudo, desde as passagens aéreas com partida de Paris à pensão completa no local, incluindo até água, um detalhe verdadeiramente apreciado sob o sol malgaxe. O coração desta aventuraO coração da viagem reside nos encontros. O programa enfatiza uma experiência prática e solidária, particularmente em Antsirabe. Lá, os participantes terão a oportunidade de se juntar às equipes da associação “Grandir Ailleurs” (Crescendo em Outro Lugar). Desde 2007, essa organização trabalha para proteger crianças vulneráveis ​​em Madagascar, e o turismo solidário contribui diretamente para o seu financiamento. Imagine a emoção de participar de missões concretas, sejam elas educacionais, de saúde ou logísticas. Não se trata de observar, mas de agir, compartilhar e compreender. As interações com as crianças e outras associações parceiras prometem momentos ricos em humanidade. Sabemos que essas interações são a verdadeira essência da viagem, aquelas que deixam uma impressão duradoura em nossos corações. Usamos esse conhecimento para criar um programa equilibrado, combinando descoberta cultural e engajamento solidário. Esta é uma jornada que vai muito além dos cartões-postais para oferecer uma visão autêntica e comovente de Madagascar, uma ilha mágicaque muitas vezes enfrenta desafios sistêmicos, mas sempre resiliente. Este tipo de projeto também contribui para o fortalecimento da estabilidade regional, uma iniciativa que se reflete nas discussões sobre a estabilidade de Madagascar no âmbito da SADC.
  • É isso que torna esta exploração tão significativa. Antsirabe, berço de intercâmbio e solidariedade. Após a chegada em Antananarivo e uma noite de descanso, a estrada levará os viajantes a Antsirabe. Esta cidade é muito mais do que uma simples escala; é um ponto de encontro com o tecido social malgaxe. A associação “Growing Up Elsewhere” desempenha um papel fundamental aqui. Os participantes não serão meros espectadores. Eles poderão se envolver em diversas atividades, todas definidas de acordo com as necessidades específicas identificadas por profissionais da área. Isso pode variar desde o apoio educacional a crianças de rua, até a participação em projetos de reforma em um centro de acolhimento transitório, ou mesmo o trabalho em uma fazenda educativa, que garante a autossuficiência alimentar da associação. É uma oportunidade incrível de ver o impacto direto do próprio comprometimento. As conversas com jovens malgaxes, descobrindo seu cotidiano, são momentos verdadeiramente marcantes; testemunhamos sorrisos inesquecíveis e uma resiliência incrível. O acampamento será montado no coração da zona rural de Antsirabe, nas terras agrícolas da associação. Uma imersão total para compreender como esses projetos se enraízam e se desenvolvem. É uma oportunidade de sentir o pulsar da vida local, longe da agitação das cidades. Esses momentos de partilha e intercâmbio cultural são o que tornam esta viagem verdadeiramente única e inesquecível. Acreditamos que o CCAS (Centro de Ação Social) de Chirongui oferece muito mais do que apenas uma estadia: uma verdadeira lição de vida, uma abertura para o mundo. Estamos convencidos de que os laços criados durante esta experiência perdurarão muito depois do regresso a França. O investimento humano é imenso e os benefícios, tanto para os viajantes como para as comunidades com quem interagimos, são inestimáveis. Esta iniciativa insere-se num contexto em que Madagáscar aspira a cumprir as suas promessas. de desenvolvimento, onde cada ato de solidariedade conta. É uma incrível aventura humana, garantimos!
  • Mergulhe no coração do artesanato e das paisagens malgaxes: uma exploração sensorial. Após a iniciativa de solidariedade, a aventura
  • continua com a descoberta das riquezas culturais e naturais desta
  • ilha mágica.
  • A
  • viagem inesquecível

organizada pelo

CCAS de Chironguiparaidosos e pessoas com deficiência ruma ao artesanato e às paisagens deslumbrantes de Madagascar. Imagine-se em Ambositra, uma cidade renomada pelo seu trabalho em madeira. Aqui, a madeira não é apenas um material; é uma tradição, uma arte. Conheceremos artesãos apaixonados que transformam este material nobre em verdadeiras obras de arte, particularmente através da marchetaria. Observar os seus movimentos precisos, compreender a sua perícia, é conectar-se com a alma malgaxe, a sua criatividade e o seu respeito pela natureza. Cada objeto conta uma história, cada motivo reflete a cultura local. Adoramos a ideia de mergulhar na autenticidade e ver em primeira mão a beleza do artesanato local, um aspecto frequentemente destacado nas discussões sobre a resolução de crises em Madagascar, país que valoriza o trabalho e a engenhosidade de seu povo. A trilha nos levará então pelas Terras Altas de Madagascar, uma região de panoramas de tirar o fôlego. O ponto alto para os amantes da natureza, e nós nos incluímos entre eles, será a visita à Reserva Comunitária de Anja. Não é apenas um parque; é um modelo de ecoturismo, gerido pela comunidade local. Os lucros gerados por esta reserva são diretamente destinados ao desenvolvimento da vila e à proteção de uma biodiversidade excepcional. E Anja significa lêmures! Mais especificamente, os famosos lêmures-de-cauda-anelada, com suas caudas aneladas características. Observá-los em seu habitat natural é um momento de pura alegria, um espetáculo vivo e comovente. Esta caminhada será uma oportunidade única para se reconectar com a natureza, para sentir a energia desta terra ancestral. É uma exploração que promete maravilhar, surpreender e deixar memórias inesquecíveis. O verdadeiro valor desta viagem reside nesses encontros, seja com pessoas ou com a flora e a fauna. Recomendamos trazer sua câmera, pois as paisagens e os sorrisos que você capturar serão verdadeiros tesouros. A Arte da Marchetaria em Ambositra: Quando a Madeira se Transforma em ArteEm Ambositra, a marchetaria não é uma profissão, mas sim uma paixão transmitida de geração em geração. Os artesãos que encontramos compartilham sua arte com incrível generosidade. Eles nos mostram como diversos tipos de madeira, com suas cores e texturas variadas, são combinados para criar pinturas, caixas e móveis de notável requinte. É um espetáculo verdadeiramente fascinante, uma demonstração de paciência e precisão. Para idosos e pessoas com deficiência Esta é uma oportunidade única para testemunhar um artesanato vivo, compreender o processo criativo e, quem sabe, levar para casa uma lembrança autêntica e significativa. Esse tipo de descoberta cultural é parte integrante de uma viagem inesquecível, pois permite captar a profunda identidade desta ilha mágica. O compromisso do Centro de Ação Social de Chirongui (CCAS) com essa exploração cultural e natural demonstra seu desejo de oferecer uma experiência holística. Não se trata apenas de cumprir requisitos; trata-se de imergir, sentir e aprender. A marchetaria de Ambositra é um exemplo perfeito dessa riqueza. Não é simplesmente um produto acabado; é o fruto de trabalho árduo e de uma tradição ancestral. É como ler a história de um país através de suas mãos, suas ferramentas e suas criações. E em Madagascar, essa história ainda é vibrante e repleta de significado. https://www.youtube.com/watch?v=qSQsexILWYIAnja, um santuário para lêmures e ecoturismo A Reserva Anja é um pequeno paraíso onde a natureza reina suprema. Gerida pela comunidade local, é um exemplo concreto de como a proteção ambiental pode caminhar lado a lado com o desenvolvimento social. Os lêmures-de-cauda-anelada são as estrelas indiscutíveis do local, mas a reserva também possui flora diversificada e paisagens rochosas impressionantes. As trilhas para caminhadas são acessíveis e oferecem oportunidades incríveis de observação. É realmente maravilhoso ver esses animais vagando livremente e saber que cada visitante contribui diretamente para a sua sobrevivência e para o bem-estar dos moradores. Adoramos essa abordagem de ecoturismo que beneficia a todos. É um aspecto fundamental para explorar esta ilha mágica. Aqui estão algumas das principais atrações que destacamos para esta etapa:🐒 Encontro com lêmures-de-cauda-anelada em seu habitat natural.

🏞️ Caminhada acessível por paisagens de cânions e formações rochosas. 🌱 Descubra a flora endêmica de Madagascar. 🤝 Apoio direto à economia local e a projetos de desenvolvimento comunitário. 📸 Oportunidades fotográficas de tirar o fôlego. Viaje com tranquilidade: os aspectos práticos de uma aventura guiada em Madagascar.

A organização de uma

viagem inesquecível

para Madagascar para idosos e pessoas com deficiênciapelo CCAS de Chirongui não deixa nada ao acaso. Sabemos que a logística é fundamental para uma

exploração bem-sucedida, especialmente quando o conforto e a segurança de todos os participantes são primordiais. A partir de Paris, o transporte aéreo é fornecido por uma companhia aérea regular, garantindo um certo nível de serviço. No local, tudo é providenciado: traslado do aeroporto, pensão completa com água incluída – um detalhe que faz muita diferença no clima tropical – bem como todo o transporte na

ilha mágica. Os passeios e atividades mencionados no programa também estão incluídos, permitindo que os viajantes se concentrem totalmente na experiência, sem se preocuparem com os detalhes financeiros. É realmente pensado para a tranquilidade, e é isso que buscamos ao planejar uma aventura como esta. Uma contribuição para o fundo de solidariedade também está incluída, reforçando o aspecto humano e ético do projeto, uma dimensão essencial para uma ilha como Madagascar, que continua a navegar entre suas crises sistêmicas e suas ambições de desenvolvimento. É uma abordagem abrangente. Além dos detalhes logísticos, a saúde e a segurança são fundamentais. O CCAS de Chirongui Em parceria com a Grandes Latitudes, garantimos que todas as informações necessárias sejam fornecidas. Embora nenhuma vacina seja obrigatória, recomendamos sempre que as vacinas de rotina (DTP, hepatite A, hepatite B, febre tifoide) estejam em dia, além de tomar medicação antimalárica. Esta é uma precaução simples, porém eficaz, para que você aproveite ao máximo sua estadia. Seu passaporte deve ter validade de seis meses após a data de entrada e uma taxa de visto de turista de €10 deve ser paga na chegada. O cartão de turista e o seguro saúde são gerenciados pela Grandes Latitudes, oferecendo cobertura completa. É realmente reconfortante saber que todos esses aspectos são tratados por profissionais, permitindo que idosos e pessoas com deficiência vivenciem sua exploração com total confiança. As informações práticas são claras e as exclusões são bem definidas (como aumentos de taxas aeroportuárias, taxas de visto, seguro de cancelamento e despesas pessoais) para evitar surpresas desagradáveis. Agradecemos a transparência e o profissionalismo desta organização, que nos permite embarcar nesta aventura sem qualquer hesitação. Logística otimizada para uma viagem sem preocupações.

A chave para uma viagem inesquecível muitas vezes reside na qualidade da sua organização. Para esta exploração de Madagascar, o Centro de Ação Social de Chirongui (CCAS) não poupou esforços. Todo o programa foi concebido para minimizar o stress e maximizar o prazer. O transporte local é cuidadosamente gerido para que cada deslocação seja parte integrante da experiência, e não um obstáculo. O regime de pensão completa permite-lhe relaxar após dias repletos de atividades sem ter de procurar restaurantes. Este é um conforto verdadeiramente bem-vindo, especialmente quando se viaja em grupo e se quer concentrar no que realmente importa: os encontros e as paisagens desta ilha mágica. A garantia financeira assegurada pela APST e o seguro de assistência à repatriação comprovam ainda mais a qualidade e a fiabilidade desta oferta. Tudo é feito para garantir que se sinta seguro e amparado do início ao fim desta maravilhosa aventura. Explore Madagáscar: Atividades Adaptadas para Todos Descubra a nossa seleção de atividades concebidas para idosos e pessoas com deficiência. Compare as opções e planeie uma aventura inesquecível nesta ilha mágica!

Filtrar por Acessibilidade AcessibilidadeAlta ModeradaBaixaFiltrar por DificuldadeDificuldade

Muito Fácil Fácil Moderada Filtrar por Interesse Tipo de Interesse

Cultural

Natureza

Vida SelvagemGastronomia Artesanato RelaxamentoRedefinir

  • Atividade
  • Região
  • Duração
  • Acessibilidade
  • Dificuldade

Preço (€)

Detalhes Nenhuma atividade corresponde aos seus critérios de pesquisa. Esta ferramenta de comparação é fornecida pelo CCAS de Chirongui para o ajudar a planear uma aventura tranquila e adequada em Madagáscar. Interesses: ${activity.interet} Equipamentos Específicos / Recomendações: ${activity.equipement_specifique} `; tbody.appendChild(detailRow); }); }updateSortIcons(currentSort.column, currentSort.direction); // Atualiza os ícones de classificação };

/ — MANIPULADOR DE EVENTOS — // Evento para pesquisa de textosearchInput.addEventListener(‘input’, (event) => { currentFilters.search = event.target.value; renderTable(); // Renderiza a tabela novamente com os novos filtros }); // Evento para o filtro de Acessibilidade filterAccessibilite.addEventListener(‘change’, (event) => {

currentFilters.accessibilite = event.target.value;

renderTable(); }); // Evento para o filtro de Dificuldade filterDifficulte.addEventListener(‘change’, (event) => { currentFilters.difficulte = event.target.value;renderTable(); }); // Evento para o filtro de Tipo de InteressefilterInteret.addEventListener(‘change’, (event) => {

/* Styles personnalisés pour améliorer le design et l’accessibilité, complétant Tailwind */ /* Rend le texte invisible pour les utilisateurs visuels, mais accessible aux lecteurs d’écran */ .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } /* Conteneur du tableau avec une hauteur maximale pour éviter un débordement et permettre le défilement */ .table-container { max-height: 1200px; /* Limite la hauteur du tableau scrollable pour rester dans les 2000px globaux */ overflow-y: auto; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } /* En-tête du tableau collant en haut lors du défilement */ .table-header { position: sticky; top: 0; background-color: #f7fafc; /* Utilise une couleur Tailwind (gray-50) pour l’arrière-plan */ z-index: 10; /* Assure que l’en-tête reste au-dessus du contenu en défilement */ } /* Style pour les lignes de détails qui s’ouvrent/se ferment */ .table-row-detail { background-color: #f0f8ff; /* Bleu très clair pour une meilleure lisibilité */ border-bottom: 1px solid #e2e8f0; /* Bordure discrète */ } .table-row-detail td { padding: 1rem 1.5rem; } /* Icônes de tri */ .sort-icon { display: inline-block; width: 0; height: 0; vertical-align: middle; margin-left: 0.25rem; border-left: 4px solid transparent; border-right: 4px solid transparent; transition: transform 0.2s ease-in-out; /* Animation pour la rotation */ } /* Icône de tri croissant */ .sort-asc .sort-icon { border-bottom: 4px solid currentColor; /* Flèche vers le haut */ } /* Icône de tri décroissant */ .sort-desc .sort-icon { border-top: 4px solid currentColor; /* Flèche vers le bas */ } /* Style pour l’icône de détails pour l’animation de rotation */ .toggle-details svg { transition: transform 0.2s ease-in-out; } .toggle-details[aria-expanded=”true”] svg { transform: rotate(180deg); }

currentFilters.interet = event.target.value;

renderTable();

// Evento para redefinir todos os filtros resetFiltersBtn.addEventListener(‘click’, () => { // Redefine os valores dos campos de entrada/seleção searchInput.value = ”; filterDifficulte.value = ”; filterInteret.value = ”; // Redefine o estado interno dos filtros // Redefine a ordenação para o seu estado inicial currentSort = { column: ‘activite’, direction: ‘asc’ }; renderTable(); // Renderiza a tabela novamente com tudo redefinido }); // Evento para ordenar por coluna (delegando eventos aos cabeçalhos)
header.addEventListener(‘click’, () => { const column = header.getAttribute(‘data-sort-by’); // Se a mesma coluna for clicada, inverta a direção da ordenação if (currentSort.column === column) { currentSort.direction = currentSort.direction === ‘asc’ ? ‘desc’ : ‘asc’;

// Caso contrário, defina a nova coluna e uma ordenação ascendente por padrão

document.addEventListener(‘DOMContentLoaded’, () => { // — DONNÉES DU TABLEAU (Exemple statique) — // Cette section contient les données des activités. Pour cet exemple interactif, // elles sont incluses directement dans le JavaScript pour une gestion locale facile. // En situation réelle, ces données pourraient être chargées depuis une base de données // ou un fichier JSON pour une meilleure modularité. const allActivities = [ { “id”: 1, “activite”: “Balade en Pirogue Traditionnelle”, “region”: “Nosy Be”, “duree”: “3 heures”, “duree_num”: 3, // Ajout pour le tri numérique “accessibilite”: “Faible”, “difficulte”: “Facile”, “interet”: “Culturel, Nature”, “prix”: 45, “description”: “Découvrez les mangroves et les eaux cristallines de Nosy Be à bord d’une pirogue locale. Assistance pour l’embarquement/débarquement disponible et recommandée pour une expérience en toute sécurité.”, “equipement_specifique”: “Gilet de sauvetage fourni, coussins confortables, assistance PMR à l’embarquement.” }, { “id”: 2, “activite”: “Visite du Parc National d’Isalo (Partie Accessible)”, “region”: “Sud”, “duree”: “Journée complète”, “duree_num”: 8, // Journée estimée à 8h pour le tri “accessibilite”: “Modérée”, “difficulte”: “Modérée”, “interet”: “Nature, Paysages”, “prix”: 70, “description”: “Exploration des formations rocheuses uniques et piscines naturelles accessibles du Parc d’Isalo. Itinéraires adaptés pour fauteuils roulants sur certaines sections. Un guide spécialisé est disponible pour accompagner le groupe.”, “equipement_specifique”: “Chaises tout-terrain disponibles sur demande, accès WC PMR sur certains points, chemins aménagés.” }, { “id”: 3, “activite”: “Atelier de fabrication de papier Antemoro”, “region”: “Manakara”, “duree”: “2 heures”, “duree_num”: 2, “accessibilite”: “Élevée”, “difficulte”: “Très Facile”, “interet”: “Culturel, Artisanal”, “prix”: 25, “description”: “Participez à la fabrication artisanale du fameux papier Antemoro, une tradition millénaire. L’atelier est entièrement accessible et les activités peuvent être réalisées assis. Une expérience immersive et créative.”, “equipement_specifique”: “Tables ajustables, sièges confortables, environnement de plain-pied, personnel aidant.” }, { “id”: 4, “activite”: “Rencontre avec les lémuriens (Parc de l’Anja)”, “region”: “Sud-Est (Ambalavao)”, “duree”: “2-3 heures”, “duree_num”: 2.5, // Moyenne pour le tri “accessibilite”: “Modérée”, “difficulte”: “Facile”, “interet”: “Faune, Nature”, “prix”: 30, “description”: “Observation des lémuriens catta en liberté dans leur habitat naturel. Sentiers praticables avec assistance et quelques bancs de repos. Un guide accompagnateur spécialisé dans l’accessibilité est fortement recommandé.”, “equipement_specifique”: “Chemins élargis, bancs de repos fréquents, personnel d’assistance disponible.” }, { “id”: 5, “activite”: “Dégustation de produits locaux (Vanille, Chocolat)”, “region”: “Tamatave”, “duree”: “1.5 heures”, “duree_num”: 1.5, “accessibilite”: “Élevée”, “difficulte”: “Très Facile”, “interet”: “Gastronomie, Culturel”, “prix”: 20, “description”: “Immersion gourmande dans les saveurs de Madagascar avec dégustation de vanille, chocolat, épices locales et fruits exotiques. L’expérience est entièrement accessible et propice à la détente et à l’échange.”, “equipement_specifique”: “Espaces spacieux, sièges ergonomiques, personnel attentif aux besoins spécifiques.” }, { “id”: 6, “activite”: “Cours de cuisine Malgache Adapté”, “region”: “Antananarivo”, “duree”: “3 heures”, “duree_num”: 3, “accessibilite”: “Élevée”, “difficulte”: “Facile”, “interet”: “Gastronomie, Culturel”, “prix”: 50, “description”: “Apprenez à préparer des plats traditionnels malgaches dans un environnement accessible et convivial. Les postes de travail sont adaptés aux fauteuils roulants et aux personnes assises. Tous les ingrédients sont fournis.”, “equipement_specifique”: “Plans de travail ajustables, ustensiles ergonomiques, sièges adaptés.” }, { “id”: 7, “activite”: “Visite du Jardin Botanique de Tsimbazaza”, “region”: “Antananarivo”, “duree”: “2-3 heures”, “duree_num”: 2.5, “accessibilite”: “Modérée”, “difficulte”: “Facile”, “interet”: “Nature, Faune”, “prix”: 15, “description”: “Explorez la flore et la faune endémiques de Madagascar dans un jardin botanique bien entretenu. Les chemins sont majoritairement accessibles, mais certaines zones peuvent nécessiter une assistance. Idéal pour une promenade relaxante.”, “equipement_specifique”: “Bancs de repos, allées larges, assistance disponible pour les sections moins praticables.” }, { “id”: 8, “activite”: “Croisière Relaxante sur le Canal des Pangalanes”, “region”: “Est (Mananjary)”, “duree”: “Demi-journée”, “duree_num”: 4, // Demi-journée estimée à 4h pour le tri “accessibilite”: “Modérée”, “difficulte”: “Facile”, “interet”: “Nature, Détente”, “prix”: 60, “description”: “Profitez d’une croisière paisible le long du Canal des Pangalanes, observant la vie locale, la nature luxuriante et les villages. Les ponts de bateau sont stables et offrent des sièges confortables. Aide à l’embarquement disponible.”, “equipement_specifique”: “Accès facilité au bateau, espace réservé pour fauteuil roulant sur demande, personnel d’équipage attentif.” }, { “id”: 9, “activite”: “Observation des baleines à Sainte-Marie (saison)”, “region”: “Sainte-Marie”, “duree”: “Demi-journée”, “duree_num”: 4, “accessibilite”: “Faible”, // Mouvement du bateau, embarquement délicat “difficulte”: “Modérée”, “interet”: “Faune, Nature”, “prix”: 90, “description”: “Une expérience majestueuse pour observer les baleines à bosse pendant la saison (juin à septembre). L’embarquement et les mouvements du bateau peuvent nécessiter une bonne autonomie ou une aide significative. La vigilance est de mise.”, “equipement_specifique”: “Gilets de sauvetage. Non recommandé pour les PMR à mobilité très réduite sans accompagnement robuste et avis médical.” }, { “id”: 10, “activite”: “Visite d’une plantation de café ou de cacao”, “region”: “Nord-Est”, “duree”: “2 heures”, “duree_num”: 2, “accessibilite”: “Modérée”, “difficulte”: “Facile”, “interet”: “Culturel, Gastronomie”, “prix”: 35, “description”: “Découvrez le processus de culture et de transformation du café ou du cacao, de la plante à la tasse/tablette. Les chemins des plantations peuvent être irréguliers, mais des parcours adaptés sont souvent possibles avec assistance d’un guide.”, “equipement_specifique”: “Parcours majoritairement plats, bancs de repos, dégustation accessible, possibilité de guide-accompagnateur.” } ]; let filteredActivities = […allActivities]; // Copie mutable pour les opérations de filtrage/tri let currentSort = { column: ‘activite’, direction: ‘asc’ }; // Tri initial par défaut let currentFilters = { search: ”, accessibilite: ”, difficulte: ”, interet: ” }; // — Références aux éléments du DOM pour une manipulation plus aisée — const tbody = document.getElementById(‘comparateur-tbody’); const searchInput = document.getElementById(‘search-input’); const filterAccessibilite = document.getElementById(‘filter-accessibilite’); const filterDifficulte = document.getElementById(‘filter-difficulte’); const filterInteret = document.getElementById(‘filter-interet’); const resetFiltersBtn = document.getElementById(‘reset-filters’); const tableHeaders = document.querySelectorAll(‘#madagascar-activities-comparateur th[data-sort-by]’); const noResultsMessage = document.getElementById(‘no-results-message’); // — FONCTIONS UTILITAIRES — /** * Normalise une chaîne de caractères en minuscules et sans accents pour faciliter la recherche et le filtrage. * @param {string} str – La chaîne à normaliser. * @returns {string} La chaîne normalisée. */ const normalizeString = (str) => { return str.toLowerCase().normalize(“NFD”).replace(/[u0300-u036f]/g, “”); }; /** * Met à jour l’icône de tri (flèche) sur l’en-tête de colonne actuellement triée. * @param {string} column – La colonne actuellement triée par sa clé de données. * @param {string} direction – La direction du tri (‘asc’ pour croissant, ‘desc’ pour décroissant). */ const updateSortIcons = (column, direction) => { tableHeaders.forEach(header => { const sortBy = header.getAttribute(‘data-sort-by’); const icon = header.querySelector(‘.sort-icon’); if (icon) { icon.className = ‘sort-icon’; // Réinitialise la classe de l’icône if (sortBy === column) { icon.classList.add(`sort-${direction}`); // Ajoute la classe pour la direction actuelle } } }); }; /** * Trie un tableau d’activités selon une colonne et une direction spécifiées. * Gère les types de données (chaînes, nombres) et les ordres spécifiques pour “Accessibilité” et “Difficulté”. * @param {Array} data – Le tableau d’activités à trier. * @param {string} column – La clé de la propriété par laquelle trier. * @param {string} direction – ‘asc’ pour croissant, ‘desc’ pour décroissant. * @returns {Array} Un nouveau tableau contenant les activités triées. */ const sortActivities = (data, column, direction) => { return […data].sort((a, b) => { let valA = a[column]; let valB = b[column]; // Ordre personnalisé pour l’accessibilité if (column === ‘accessibilite’) { const order = { ‘Élevée’: 3, ‘Modérée’: 2, ‘Faible’: 1 }; valA = order[valA] || 0; // Gérer les valeurs non définies valB = order[valB] || 0; } // Ordre personnalisé pour la difficulté else if (column === ‘difficulte’) { const order = { ‘Très Facile’: 1, ‘Facile’: 2, ‘Modérée’: 3, ‘Difficile’: 4 }; valA = order[valA] || 0; valB = order[valB] || 0; } // Pour les chaînes de caractères, utilise la normalisation pour un tri alphabétique correct else if (typeof valA === ‘string’ && typeof valB === ‘string’) { valA = normalizeString(valA); valB = normalizeString(valB); } // Logique de comparaison générale if (valA valB) return direction === ‘asc’ ? 1 : -1; return 0; // Éléments égaux }); }; /** * Applique tous les filtres actifs (recherche textuelle, accessibilité, difficulté, intérêt) * au jeu de données complet des activités. * @returns {Array} Le tableau d’activités qui correspondent à tous les critères de filtrage. */ const applyFiltersAndSearch = () => { let tempActivities = […allActivities]; // Commence avec toutes les activités // 1. Filtrage par recherche textuelle (sur toutes les propriétés de type string) if (currentFilters.search) { const searchTerm = normalizeString(currentFilters.search); tempActivities = tempActivities.filter(activity => Object.values(activity).some(value => value && typeof value === ‘string’ && normalizeString(value).includes(searchTerm) ) ); } // 2. Filtrage par niveau d’accessibilité if (currentFilters.accessibilite) { tempActivities = tempActivities.filter(activity => activity.accessibilite === currentFilters.accessibilite ); } // 3. Filtrage par niveau de difficulté if (currentFilters.difficulte) { tempActivities = tempActivities.filter(activity => activity.difficulte === currentFilters.difficulte ); } // 4. Filtrage par type d’intérêt (une activité peut avoir plusieurs intérêts, ex: “Culturel, Nature”) if (currentFilters.interet) { tempActivities = tempActivities.filter(activity => activity.interet.split(‘, ‘).includes(currentFilters.interet) ); } return tempActivities; }; /** * Met à jour l’affichage du tableau en fonction des filtres et du tri actuels. * Cache ou affiche le message “Aucun résultat” si nécessaire. */ const renderTable = () => { filteredActivities = applyFiltersAndSearch(); // Applique les filtres filteredActivities = sortActivities(filteredActivities, currentSort.column, currentSort.direction); // Applique le tri tbody.innerHTML = ”; // Vide le contenu actuel du corps du tableau if (filteredActivities.length === 0) { noResultsMessage.classList.remove(‘hidden’); // Affiche le message } else { noResultsMessage.classList.add(‘hidden’); // Cache le message filteredActivities.forEach(activity => { // Création de la ligne principale du tableau pour chaque activité const row = document.createElement(‘tr’); row.className = ‘hover:bg-blue-50 cursor-pointer’; // Effet de survol et curseur cliquable row.setAttribute(‘data-activity-id’, activity.id); // Stocke l’ID pour les détails row.innerHTML = ` ${activity.activite} ${activity.region} ${activity.duree} ${activity.accessibilite} ${activity.difficulte} ${activity.prix} €