Guide complet

Documentation votre communauté

Tout ce qu'il faut savoir pour utiliser l'application familiale : des premiers pas aux outils réservés aux administrateurs. Écrit pour tous les âges, lisible sur téléphone comme sur ordinateur.

Version 2.1 · Mise à jour : août 2026

1. Présentation de l'application

votre communauté est un espace privé, réservé à la famille et à ses proches, pour rester ensemble malgré les kilomètres.

Objectif

L'application a été créée pour que la famille garde un seul et même lieu de retrouvailles, où que chacun vive. Elle sert au quotidien à :

  • maintenir le lien entre les générations et les branches familiales ;
  • partager les nouvelles importantes (naissances, mariages, réussites, deuils) ;
  • échanger photos, vidéos et souvenirs en toute confidentialité ;
  • organiser les événements familiaux malgré les fuseaux horaires ;
  • transmettre l'histoire, les recettes et les traditions aux plus jeunes.
[Capture : Écran d'accueil public]

Public cible

Tous les membres de votre communauté, partout dans le monde : les aînés comme les plus jeunes, les cousins installés au Canada, en Europe, en Afrique ou ailleurs, ainsi que les amis très proches invités par un membre.

L'accès n'est jamais public : chaque inscription est validée manuellement par un administrateur de la famille.

Nos valeurs

ValeurCe que cela signifie ici
ConvivialitéOn se parle comme à la maison, avec bienveillance et humour.
TransmissionLes histoires, proverbes et recettes des aînés sont conservés.
EntraideOn s'informe, on se recommande, on se soutient d'un pays à l'autre.
RacinesL'arbre généalogique et la carte rappellent d'où nous venons.

Plateformes supportées

  • iOS (Safari) : application installable depuis le navigateur via « Partager » puis « Sur l'écran d'accueil ».
  • Android (Chrome) : bannière « Installer l'application » ou menu « Ajouter à l'écran d'accueil ».
  • Web : accessible depuis n'importe quel ordinateur, l'interface s'adapte à l'écran.

Une fois installée, l'application se comporte comme une application native : icône, plein écran et notifications.

2. Fonctionnalités principales

Tour d'horizon de tout ce que l'application permet de faire.

Inscription et connexion

  • Email et mot de passe : la méthode principale.
  • Google : connexion en un clic avec un compte Google.
  • Code d'invitation : un code transmis par un membre accélère la validation.
  • Validation par un administrateur : votre compte reste « en attente » jusqu'à approbation.
[Capture : Écran de connexion / inscription]

Profil membre

  • Photo, bannière, bio, centres d'intérêt, pays et ville.
  • Thèmes de couleur personnalisables et sections « À propos » modulables.
  • Mode portfolio pour mettre en avant ses réalisations professionnelles ou artistiques.
  • Liens de parenté visibles depuis l'arbre généalogique.
  • Badges et points gagnés grâce à la participation.
[Capture : Profil membre personnalisé]

Fil d'actualité

Le cœur de l'application : publications texte, photos, vidéos et GIF, avec réactions emoji, commentaires et sondages. Le fil met aussi en avant le « Membre du mois » et le « Conte du mois ».

  • Plusieurs photos ou vidéos par publication (galerie en mosaïque).
  • GIF et stickers via le bouton « GIF » du compositeur.
  • Modification ou suppression de sa publication et de ses commentaires pendant 15 minutes.
[Capture : Fil d'actualité]

Messagerie

  • Discussions privées entre deux membres.
  • Groupes (branche familiale, comité d'organisation, cousins…).
  • Messages en temps réel avec pièces jointes multiples (photos, vidéos).
  • Messages vocaux, GIF et emoji directement depuis la barre de saisie.
  • Modification d'un message envoyé pendant 15 minutes.
[Capture : Conversation privée]

Galerie multimédia

Les photos et vidéos sont regroupées en albums thématiques (mariages, retrouvailles, voyages, archives). Chaque album peut être alimenté par plusieurs membres.

Actualités et annonces

Espace réservé aux nouvelles importantes : naissances, mariages, diplômes, décès. Les annonces sont publiées par les administrateurs et restent visibles en haut de la section.

Calendrier familial

  • Événements en ligne ou sur place, avec lieu et pays.
  • RSVP : je viens / peut-être / je ne peux pas.
  • Rappels automatiques avant l'événement.
  • Heures affichées dans votre fuseau horaire.
[Capture : Calendrier et fiche événement]

Carte interactive

Une carte du monde montre où vivent les membres. L'affichage de votre position est facultatif : il dépend uniquement de vos paramètres de confidentialité.

Arbre généalogique

  • Vue arborescente avec zoom et déplacement.
  • Fiches individuelles reliées aux profils de l'application.
  • Ajout d'ancêtres et de descendants, soumis à validation d'un administrateur.
  • Filtres par branche, pays et génération, recherche par nom.
  • Export en image ou PDF, consultation hors connexion.
[Capture : Arbre généalogique interactif]

Mémoire et traditions

Histoires familiales, traditions et rites, recettes, proverbes et galerie historique. Les contributions peuvent être écrites, enregistrées en audio ou filmées, en français ou en langue locale, et sont publiées après modération.

Notifications

TypeDéclenchement
InteractionsUn like, un commentaire ou une mention sur votre publication.
MessagesNouveau message privé ou dans un groupe.
ÉvénementsNouvel événement, rappel avant le début.
LivesUn direct est programmé ou commence dans une heure.
ModérationVotre contribution est approuvée ou refusée.

Chaque type peut être activé ou désactivé depuis Profil → Paramètres → Notifications.

Modération

Quatre rôles cohabitent (super admin, admin, modérateur, membre). Tout contenu peut être signalé en deux clics et les nouvelles inscriptions sont validées à la main.

Le modèle de publication est hybride : le fil est libre, tandis que la Place du marché, les événements et la Mémoire passent par une file de validation (Gestion → File de publication).

Appels audio et vidéo

Depuis une conversation, un appel audio (📞) ou vidéo (🎥) peut être lancé en un geste. Les appels sont directs entre téléphones (pair-à-pair chiffré), sans serveur intermédiaire.

  • Appel 1-à-1 : audio ou vidéo, avec sonnerie, notification système et écran d'appel entrant.
  • Appel de groupe : jusqu'à 5 participants en maillage, grille vidéo adaptative.
  • Commandes : micro, caméra, changement d'objectif avant/arrière, raccrocher.
  • Sans réponse au bout de 45 secondes, l'appel est marqué « manqué » dans l'historique.
  • Au-delà de 5 personnes, utilisez le module Live, conçu pour les grandes assemblées.

Lives et diffusions

Réunions de famille, questions-réponses et célébrations peuvent être diffusées en direct, avec chat en temps réel, programmation à l'avance et rappels automatiques aux membres.

Place du marché

Les membres proposent produits et services à la famille, en CAD, EUR ou XAF. Mise en contact par message privé, notation et avis après échange. Chaque annonce est validée par un modérateur.

Tontine et caisse familiale

  • Tontine : cycles automatiques (hebdomadaire, mensuel…), parts par membre (1 à 20), ordre de passage, pénalités de retard paramétrables et rappels J-3 / J-1.
  • Le modérateur de la tontine peut modifier ou supprimer une tontine déjà démarrée, ajouter des membres, confirmer les paiements et exporter l'historique en CSV.
  • Ponctualité récompensée : +8 points de gamification par cotisation payée à temps.
  • Caisse familiale : suivi des entrées et sorties multi-devises, solde en temps réel et justificatifs.

Sondages et messages vocaux

  • Sondages : questions à choix multiples publiées dans le fil, résultats en direct.
  • Messages vocaux : enregistrement direct depuis la messagerie, lecture avec forme d'onde.
  • Réactions par emoji : appui long sur « J'aime » d'une publication, ou réaction directe sur une photo ou une vidéo.

Album vocal des aînés

  • Interviews guidées par thèmes (enfance, village, métiers, traditions).
  • Enregistrement long format jusqu'à 15 minutes, écoute directe dans l'application.
  • Transcription automatique du récit, modifiable à la main.
  • Rattachement possible à une fiche de l'arbre généalogique.

Annuaire, anniversaires et recherche

  • Annuaire familial : recherche par nom, ville, pays, métier ou centres d'intérêt, avec téléphone et WhatsApp si le membre les rend visibles.
  • Anniversaires : widget des prochains anniversaires (30 jours) et rappel le jour J.
  • Recherche globale : une seule barre pour retrouver membres, publications, événements, souvenirs et annonces.
  • Souvenirs d'archive : les publications d'il y a un an ou plus remontent automatiquement dans le fil.

Gamification

  • Points : publication +10, commentaire +4, j'aime +1, cotisation de tontine à l'heure +8.
  • Rangs et badges débloqués au fil de la participation.
  • Classement familial et « Membre du mois » mis en avant sur le fil.

Mode hors ligne et installation

L'application est une PWA installable : les derniers contenus consultés restent lisibles sans réseau, et un bandeau signale la reconnexion. Une version Android native (Capacitor) permet les notifications push même application fermée.

3. Guides d'utilisation

Des marches à suivre simples, étape par étape.

Créer un compte et faire valider son profil

  1. 1Ouvrez l'application et appuyez sur « Rejoindre la famille ».
  2. 2Choisissez Email + mot de passe, Google, ou saisissez votre code d'invitation.
  3. 3Indiquez votre nom, votre pays de résidence et votre lien avec la famille.
  4. 4Lisez et acceptez les Règles de la communauté.
  5. 5Votre compte passe en statut « En attente » : un administrateur le valide généralement sous 24 à 48 h.
  6. 6Vous recevez une notification dès l'approbation : complétez alors votre profil (photo, bio, intérêts).
[Capture : Écran d'attente de validation]

Publier une photo ou une vidéo

  1. 1Depuis le fil d'actualité, appuyez sur la zone « Partagez une nouvelle… ».
  2. 2Écrivez votre message.
  3. 3Appuyez sur l'icône image ou vidéo et choisissez un fichier (jusqu'à 50 Mo).
  4. 4Vérifiez l'aperçu, puis appuyez sur « Publier ».

Pensez à demander l'accord des personnes visibles sur la photo, en particulier pour les enfants.

[Capture : Composeur de publication]

Envoyer un message privé ou créer un groupe

  1. 1Ouvrez l'onglet « Messages ».
  2. 2Pour un message privé : appuyez sur « Nouvelle discussion » et choisissez un membre.
  3. 3Pour un groupe : appuyez sur « Nouveau groupe », donnez-lui un nom et sélectionnez les participants.
  4. 4Écrivez votre message, ajoutez éventuellement une pièce jointe, puis envoyez.

Ajouter un événement au calendrier

  1. 1Ouvrez « Événements » puis appuyez sur « Créer un événement ».
  2. 2Renseignez le titre, la description, la date et l'heure (dans votre fuseau).
  3. 3Indiquez le lieu, ou cochez « En ligne » et collez le lien.
  4. 4Enregistrez : les membres reçoivent une notification et peuvent répondre au RSVP.
[Capture : Formulaire de création d'événement]

Contribuer à l'arbre généalogique

  1. 1Ouvrez « Arbre » et naviguez avec deux doigts (zoom) ou en faisant glisser.
  2. 2Appuyez sur une personne pour voir sa fiche.
  3. 3Appuyez sur « Ajouter un parent » ou « Ajouter un enfant ».
  4. 4Renseignez nom, dates, pays, branche, et une photo si vous en avez une.
  5. 5Envoyez : la proposition part en validation auprès d'un administrateur.
[Capture : Fiche d'une personne dans l'arbre]

Partager une histoire ou une recette

  1. 1Ouvrez « Mémoire » puis « Contribuer ».
  2. 2Choisissez la catégorie : histoire, tradition, recette, proverbe ou photo historique.
  3. 3Rédigez votre texte, ou enregistrez un audio / ajoutez une vidéo.
  4. 4Pour une recette, listez les ingrédients puis les étapes.
  5. 5Précisez la langue, la région et la génération concernée, puis envoyez pour modération.

Modifier ses paramètres de confidentialité

  1. 1Ouvrez « Profil » puis « Paramètres ».
  2. 2Choisissez qui peut voir votre profil complet et vos coordonnées.
  3. 3Activez ou désactivez votre position sur la carte familiale.
  4. 4Réglez qui peut vous écrire en privé.
  5. 5Ajustez vos notifications, puis enregistrez.
[Capture : Paramètres de confidentialité]

4. Foire aux questions

Questions fréquentes

Comment puis-je rejoindre l'application si je suis un membre de la famille ?

Demandez un code d'invitation à un membre déjà inscrit, ou créez simplement un compte en précisant votre lien de parenté. Un administrateur vérifie ensuite votre demande et l'approuve.

Qui peut voir mes publications ?

Uniquement les membres approuvés de la famille. Rien n'est visible depuis un moteur de recherche ni par une personne extérieure. Vos coordonnées et votre position restent masquées tant que vous ne les activez pas.

Comment signaler un contenu inapproprié ?

Appuyez sur les trois points en haut d'une publication ou d'un commentaire, puis sur « Signaler ». Choisissez un motif : un modérateur reçoit la demande, en toute discrétion.

Puis-je utiliser l'application sans connexion internet ?

Partiellement. Les contenus déjà consultés, dont l'arbre généalogique, restent lisibles hors connexion. Publier, envoyer un message ou charger de nouveaux médias nécessite une connexion.

Comment contacter un administrateur ?

Depuis la messagerie, les administrateurs sont identifiés par un badge. Vous pouvez aussi écrire à l'adresse de support indiquée en fin de documentation.

J'ai oublié mon mot de passe, que faire ?

Sur l'écran de connexion, appuyez sur « Mot de passe oublié » : un lien de réinitialisation vous est envoyé par email.

Puis-je supprimer mon compte et mes données ?

Oui. Faites-en la demande à un administrateur : votre profil, vos publications et vos médias sont supprimés définitivement.

5. Guide administrateurs et modérateurs

Rôles et permissions

ActionMembreModérateurAdminSuper admin
Publier, commenter, réagirOuiOuiOuiOui
Signaler un contenuOuiOuiOuiOui
Masquer / supprimer un contenuOuiOuiOui
Mettre en sourdine un membreOuiOuiOui
Bannir un membreOuiOui
Valider les inscriptionsOuiOui
Valider l'arbre et les mémoiresOuiOuiOui
Gérer les rôlesOui

Validation des nouveaux membres

  1. 1Ouvrez le tableau de bord « Admin » → onglet « En attente ».
  2. 2Vérifiez le nom, le lien de parenté déclaré et le code d'invitation éventuel.
  3. 3En cas de doute, contactez le membre référent de la branche concernée.
  4. 4Approuvez, ou refusez en indiquant un motif.

Critères d'approbation : lien familial vérifiable, ou parrainage explicite par un membre approuvé.

[Capture : Tableau de bord admin — demandes en attente]

Modération de contenu

  1. 1Ouvrez « Modération » : la file des signalements est triée du plus récent au plus ancien.
  2. 2Consultez le contenu signalé et le motif indiqué.
  3. 3Choisissez l'action : masquer, supprimer, mettre en sourdine l'auteur, ou rejeter le signalement.
  4. 4Chaque décision est enregistrée dans l'historique des actions, consultable par l'équipe.
  • Masquer : le contenu disparaît du fil mais reste consultable par l'équipe.
  • Supprimer : suppression définitive.
  • Sourdine : le membre ne peut plus publier pendant une durée choisie.
  • Bannissement : réservé aux administrateurs, pour les cas graves ou répétés.

Gestion des événements

Les administrateurs peuvent créer, modifier et annuler tout événement, y compris ceux créés par d'autres membres. En cas d'annulation, ajoutez toujours un mot d'explication : les participants inscrits sont notifiés automatiquement.

Statistiques et insights

  • Nombre de membres approuvés, en attente, actifs sur 30 jours.
  • Publications, commentaires et réactions par période.
  • Événements à venir et taux de participation (RSVP).
  • Contributions à l'arbre et à la section Mémoire en attente de validation.
  • Signalements ouverts et délai moyen de traitement.
[Capture : Tableau de bord statistiques]

6. Architecture technique

Section facultative, destinée aux membres à l'aise avec la technique.

Stack technique

  • Interface : React 19 + TanStack Start / TanStack Router, application web progressive (PWA) installable sur iOS et Android.
  • Build : Vite 7, TypeScript, déploiement sur un runtime edge (Cloudflare Workers).
  • Styles : Tailwind CSS v4 avec un thème « terre & or » (#1B1410, #C2703D, #E8B84B, #F7F1E8) et mode sombre.
  • Données : TanStack Query pour le cache client, Supabase JS pour l'accès à la base.
  • Backend : Supabase — authentification, PostgreSQL, stockage privé des médias, temps réel.
  • Temps réel : messagerie, présence, chat des lives, notifications et signalisation d'appels via les canaux Supabase Realtime.
  • Appels : WebRTC pair-à-pair (maillage jusqu'à 5 participants), sans serveur média.
  • Mobile natif : Capacitor pour la version Android et les notifications push FCM.
  • Tâches planifiées : rappels d'événements, de lives et de tontines via pg_cron.

Structure de base de données (simplifiée)

DomaineTablesRôle
Identitéprofiles, user_roles, invite_codesMembres, statut pending/approved, rôles séparés (super admin, admin, modérateur, membre)
Filposts, comments, post_likes, polls, poll_votesPublications, réactions par emoji, commentaires, sondages
Médiasalbums, media, media_reactions, media_commentsGalerie, albums thématiques, réactions et commentaires par média
Événementsevents, event_rsvps, lives, live_messagesCalendrier familial, participations, diffusions en direct
Échangesconversations, conversation_members, messagesMessagerie privée et de groupe, pièces jointes multiples
Appelscalls, call_participantsHistorique et signalisation des appels audio/vidéo
Héritagefamily_members, family_tree, memories, recipesArbre généalogique, souvenirs, traditions et recettes
Entraidetontines, tontine_members, tontine_cycles, tontine_payments, fund_entriesTontines, cycles, cotisations, caisse familiale
Marchélistings, listing_inquiries, reviewsAnnonces, mises en contact, notations
Communauténotifications, points_events, content_reports, moderation_actionsNotifications, gamification, signalements et historique de modération

Sécurité et confidentialité

  • Chiffrement des échanges en transit (HTTPS) et des données au repos côté hébergeur.
  • Row Level Security activée sur toutes les tables : seul un membre approuvé (et non mis en sourdine) accède aux contenus et publie.
  • Rôles stockés dans une table dédiée, contrôlés par des fonctions SECURITY DEFINER (has_role, is_staff, is_approved) pour éviter toute élévation de privilèges.
  • Médias stockés dans un bucket privé et servis via des URL signées à durée limitée, filtrées par can_read_media.
  • Protection du contenu : clic droit et téléchargement réservés aux super admins, filigrane nominatif sur les médias.
  • Vérification de l'adresse e-mail obligatoire à l'inscription, puis validation manuelle par un administrateur.
  • Conformité RGPD : droit d'accès, de rectification et de suppression sur simple demande à un administrateur (page Confidentialité).

7. Architecture logicielle

Comment le code est organisé, de l'écran affiché jusqu'à la base de données.

Vue d'ensemble en couches

CoucheContenuResponsabilité
Présentationsrc/routes, src/componentsÉcrans, navigation, composants d'interface réutilisables
Domainesrc/lib/*.ts (community, tontines, calls, memory…)Règles métier, requêtes typées, transformation des données
Accès donnéessrc/integrations/supabaseClient Supabase généré, types de la base, middleware d'authentification
Serveursrc/lib/*.functions.ts, src/routes/apiFonctions serveur (RPC typé) et endpoints publics : webhooks, rappels planifiés
BasePostgreSQL + RLS + fonctions SQLStockage, sécurité au niveau ligne, triggers de notification et de points

Diagrammes C4

L'architecture est décrite selon le modèle C4, du plus général au plus détaillé. Les diagrammes sources (format Mermaid) sont versionnés dans le dépôt, dossier docs/diagrams.

NiveauDiagrammeContenu
1 — Contextec4-1-contexte.mmdMembres, administrateurs et services externes autour de l'application
2 — Conteneursc4-2-conteneurs.mmdClients, application TanStack Start, Lovable Cloud, services tiers
3 — Composantsc4-3-composants.mmdÉcrans, composants d'interface, modules métier et accès aux données
4 — Dynamiquec4-4-dynamique-publication.mmdParcours d'une publication : envoi, RLS, triggers, temps réel

Organisation des écrans

Le routage est basé sur les fichiers : chaque écran est un fichier de src/routes. Les écrans réservés aux membres approuvés se trouvent sous _authenticated, protégé par une garde de route qui redirige vers la connexion.

  • Public : accueil, connexion, réinitialisation du mot de passe, règles, confidentialité, documentation.
  • Vie de famille : fil, actualités, galerie, événements, anniversaires, classement.
  • Héritage : arbre généalogique, mémoire et traditions.
  • Entraide & argent : tontine, caisse, place du marché.
  • Échanges : messagerie, appels, lives, annuaire, recherche.
  • Gestion : administration, modération, file de publication.

Flux de données

  1. 1L'écran demande ses données via TanStack Query (cache local, rechargement en arrière-plan, support hors ligne).
  2. 2La fonction métier de src/lib appelle Supabase avec le jeton du membre connecté.
  3. 3PostgreSQL applique les politiques RLS : seules les lignes autorisées sont renvoyées.
  4. 4Les triggers SQL créent au passage les notifications et les points de gamification.
  5. 5Les canaux Realtime poussent les nouveautés (message, présence, appel) directement dans l'interface.

Aucune logique de sécurité n'est laissée au téléphone : la base reste la seule autorité sur ce qu'un membre peut lire ou écrire.

Architecture des appels

  1. 1L'appelant crée une ligne dans la table calls (et call_participants pour un groupe).
  2. 2La signalisation (offres, réponses, candidats réseau) transite par un canal Realtime ciblé destinataire par destinataire.
  3. 3Chaque paire de participants ouvre une connexion WebRTC directe : en groupe, chacun est relié à tous les autres (maillage).
  4. 4L'audio et la vidéo ne transitent jamais par nos serveurs ; seule la signalisation le fait.
  5. 5Fin d'appel, refus ou absence de réponse au bout de 45 s : le statut est écrit dans calls pour l'historique.

Chaîne de notification

  • Trigger SQL → table notifications (source unique de vérité).
  • Realtime → badge, bandeau in-app et signal sonore.
  • Service Worker → notification système sur le téléphone, même onglet fermé.
  • Capacitor + FCM → notification push Android, application fermée.

Livraison et environnements

  • Code source synchronisé en continu avec le dépôt GitHub privé de la famille.
  • Aperçu de préproduction pour valider chaque évolution avant publication.
  • Production web : votre domaine de production.
  • Android : bundle signé (.aab) généré via Capacitor, voir GUIDE-ANDROID.md pour le détail des commandes.
  • Migrations de base versionnées dans supabase/migrations, appliquées dans l'ordre.

8. Glossaire

Les mots de l'application

TermeDéfinition
Arbre généalogiqueReprésentation visuelle des liens de parenté entre les membres, sur plusieurs générations.
RSVPRéponse à une invitation : je viens, peut-être, ou je ne peux pas.
ModérateurMembre chargé de veiller au respect des règles : il peut masquer un contenu ou mettre un membre en sourdine.
AdministrateurResponsable de la communauté : valide les inscriptions, gère les événements et les bannissements.
StoryPublication courte (photo ou vidéo) mise en avant temporairement.
Fil d'actualitéListe des publications récentes de la famille.
SignalementAlerte envoyée aux modérateurs à propos d'un contenu problématique.
Sourdine (mute)Suspension temporaire du droit de publier.
Code d'invitationCode personnel transmis par un membre pour faciliter l'inscription d'un proche.
BadgeRécompense visuelle obtenue en participant à la vie de la communauté.
PWAApplication web installable sur le téléphone comme une application classique.
Conte du moisHistoire ou tradition mise en avant chaque mois sur le fil.

9. Contact et support

Nous joindre

CanalPour quoiAdresse
Email supportProblème technique, suppression de comptele contact indiqué par vos administrateurs
AdministrateursValidation d'un compte, question sur la familleMessagerie de l'application (badge Admin)
WhatsApp familialEntraide rapide entre membresGroupe « votre communauté » — lien fourni après approbation

Des tutoriels vidéo courts seront ajoutés progressivement dans cette section (création de compte, première publication, arbre généalogique).

Cette documentation évolue avec l'application : chaque nouvelle fonctionnalité y est ajoutée sous forme d'une nouvelle sous-section.