Perfomia
Documentation v1.1
Perfomia — Plateforme de Gestion d'Entreprise

Documentation
Complète & Professionnelle

6 guides complets pour les utilisateurs, développeurs, architectes et administrateurs. Tout ce dont vous avez besoin pour comprendre, développer et utiliser Performa.

6
Guides complets
2500+
Lignes de doc
70+
Endpoints API
30+
Pages documentées
50+
Exemples de code
12
Stores Pinia
📖 Choisissez votre guide
📋
Documentation Générale
Vue d'ensemble complète : stack, structure, stores, services, sécurité et routage.
🏛️
Architecture Technique
Architecture en couches, patterns, flux de données, permissions RBAC et performance.
👨‍💻
Guide Développeur
Installation, conventions de codage, exemples CRUD, debugging et best practices.
🔌
Référence API
70+ endpoints documentés, authentification Bearer, codes d'erreur et exemples.
👨‍💼
Guide Administrateur
Gestion des utilisateurs, hiérarchie RBAC et composants Vue prêts à l'emploi.
📚
Guide Utilisateur
Manuel complet : connexion, tableau de bord, projets, tâches, courriers et FAQ.
🎯 Lecture par rôle
RôleGuide principalGuide secondaireRéférence
Nouveau développeur📋 Documentation👨‍💻 Developer GuideArchitecture
Architect / Lead🏛️ ArchitectureDocumentationAPI Reference
Développeur backend🔌 API ReferenceDocumentationArchitecture
Administrateur👨‍💼 Admin GuideUser GuideDocumentation
Utilisateur final📚 User GuideFAQ
🏗️ Stack Technologique
PackageVersionRôle
Vue3.5.13Framework UI principal
TypeScript5.8.2Type safety
Vite6.2.3Build & Dev server
Pinia3.0.4State management
Vuetify3.7.18Composants Material Design
Axios1.8.4Client HTTP
Tailwind CSS3.4.17Utilitaires CSS
ApexCharts4.5.0Graphiques & statistiques
🚀 Démarrage

Démarrage Rapide

Tout ce dont vous avez besoin pour commencer à utiliser ou développer sur Performa en moins de 5 minutes.

⏱ 5 min de lecture 👥 Tous les rôles

🎯 Choisissez votre parcours

👤 Vous êtes utilisateur

💡Rendez-vous directement sur https://perfomia.digitexia.org et consultez le Guide Utilisateur pour tout apprendre.

👨‍💻 Vous êtes développeur

bash
# 1. Cloner le repository
git clone <repo-url>
cd performa

# 2. Installer les dépendances (pnpm requis)
pnpm install

# 3. Configurer l'environnement
cp .env.example .env.local
# Éditer .env.local :
# VITE_API_BASE_URL=https://api.perfomia.digitexia.org/api

# 4. Démarrer le serveur
pnpm dev

# 5. Ouvrir dans le navigateur
open http://localhost:5173

👨‍💼 Vous êtes administrateur

ℹ️Consultez le Guide Admin pour accéder à la gestion des utilisateurs via /admin/users.

📦 Scripts disponibles

CommandeAction
pnpm devServeur de développement (localhost:5173)
pnpm buildBuild production optimisé
pnpm previewPrévisualiser le build
pnpm typecheckVérifier les types TypeScript
pnpm lintLinter + formatter le code

🔐 Se connecter

Utilisez votre email et mot de passe fournis par votre administrateur sur https://perfomia.digitexia.org. Ou via un lien d'invitation reçu par email.

🔑 Système RBAC

super_adminAccès système complet
adminGestion d'entreprise
managerGestion équipe / projet
service_headChef de service
employeeAccès utilisateur standard

✅ Checklist de première utilisation

  • Lire ce guide (2 min)
  • Choisir votre guide selon votre rôle ci-dessus
  • Si développeur : pnpm install puis pnpm dev
  • Si utilisateur : explorer la plateforme et consulter le User Guide
  • En cas de problème : section Troubleshooting du Developer Guide
📋 Documentation Générale

Vue d'ensemble du Projet

Architecture générale, stack technologique, structure des dossiers, stores, services, sécurité et routage de Performa.

⏱ 15 min de lecture 👥 Tous profils 📄 400+ lignes

📌 Présentation

Performa est une plateforme web moderne de gestion d'entreprise construite avec Vue 3, TypeScript, Vite, et Vuetify 3. Elle offre une solution complète pour la gestion de projets, tâches, équipes, courriers et évaluations au sein d'une organisation.

PropriétéValeur
Nom du projetmodernize-vuejs-free
Version2.0.0
TypeSPA (Single Page Application)
FrameworkVue 3.5.13
Gestionnaire de paquetspnpm
State managementPinia 3.0.4

🗂️ Structure des dossiers

text
src/
├── pages/           # 30+ pages principales
├── components/      # Composants réutilisables (8 groupes)
├── stores/          # Pinia stores (12 stores)
├── services/        # Logique métier (15 services)
├── types/           # Définitions TypeScript
├── router/          # Configuration des routes
├── api/             # Configuration Axios + interceptors
├── layouts/         # FullLayout, BlankLayout
├── plugins/         # Vuetify, etc.
├── composables/     # Logique réutilisable Vue 3
├── theme/           # Thèmes Light/Dark
├── scss/            # Styles globaux SCSS
└── assets/          # Images et ressources statiques

📄 Pages (30+)

Authentification

  • LoginPage.vue — Connexion utilisateur
  • RegisterLinkPage.vue — Inscription via lien d'invitation
  • RegisterCompanyPage.vue — Enregistrement d'une nouvelle entreprise

Projets & Tâches

  • ProjectsPage.vue, ProjectDetailsPage.vue
  • TasksPage.vue, TaskDetailsPage.vue

Équipes & Utilisateurs

  • TeamPage.vue, MyTeamPage.vue, PeoplePage.vue
  • DepartmentsPage.vue, UsersPage.vue, ServicesPage.vue

Courriers

  • CourrierListPage.vue, CourrierDetailPage.vue
  • IncomingMailPage.vue, OutgoingMailPage.vue, CourrierTrackingPage.vue

Évaluations (5 pages)

  • EvaluationsPage.vue + EvaluationStartPage, EvaluationInterviewPage, EvaluationCompletedPage, EvaluationReadOnlyPage, EvaluationReviewPage

Administration

  • CompaniesPage.vue (super_admin), InvitationsPage.vue, ActivityLogsPage.vue, ActivationCodesPage.vue

🔌 Stores Pinia (12)

StoreResponsabilités
authStoreAuthentification, session, login/logout
userStoreDonnées utilisateur, profil, préférences
companyStoreDonnées d'entreprise
projectStoreGestion des projets
taskStoreGestion des tâches
courrierStoreGestion des courriers
evaluationStoreGestion des évaluations
notificationStoreNotifications utilisateur
roleStoreRôles et permissions RBAC
toastStoreNotifications toast UI
userSettingsStoreParamètres utilisateur
companySettingsStoreParamètres d'entreprise

🔐 Sécurité & Authentification

Token Bearer

  • Token stocké dans localStorage avec la clé auth_token
  • Utilisateur stocké dans localStorage avec la clé auth_user
  • Automatiquement injecté : Authorization: Bearer <token>

Intercepteurs Axios

typescript
// Request Interceptor → ajoute le Bearer token
// Response Interceptor → gère les erreurs 401
http.interceptors.response.use(
  (response) => response,
  (error) => {
    if (error.response?.status === 401) {
      localStorage.removeItem('auth_token')
      router.push('/login')
    }
    return Promise.reject(error)
  }
)

🗺️ Routage

Toutes les routes sont lazy-loaded (code splitting automatique). Les routes protégées utilisent des métadonnées :

typescript
{
  path: '/companies',
  component: () => import('@/pages/CompaniesPage.vue'),
  meta: { roles: ['super_admin'] } // Route gardée
}

🎨 Thème & Styles

  • Vuetify 3 — Composants Material Design, thèmes Light/Dark
  • Tailwind CSS — Utilitaires, couleur "brand" (cyan/bleu)
  • SCSS — Variables, overrides, styles globaux
🏛️ Architecture

Guide d'Architecture Technique

Architecture en couches, patterns Composition API/Composables/Store/Service/Guard, flux de données, permissions RBAC et optimisations.

⏱ 20 min de lecture 👥 Développeurs, Architects 📄 500+ lignes

🏗️ Architecture en 5 couches

🖥️ Présentation (UI Layer)
Composants Vue • Pages • Layouts • Composables
💾 State Management (Pinia)
Stores globaux • Actions • Getters • Persistence localStorage
⚙️ Business Logic (Services)
Logique métier • Appels API centralisés • Transformation données
🌐 Communication (Axios)
Client HTTP • Intercepteurs auth • Gestion tokens
🗄️ Backend API (REST)
Endpoints RESTful • Authentification Bearer • Base de données

🎯 Patterns Utilisés

1. Composition API Pattern

typescript
<script setup lang="ts">
import { ref, computed } from 'vue'

const count = ref(0)
const increment = () => count.value++
const doubled = computed(() => count.value * 2)
</script>

2. Composables Pattern

typescript
// src/composables/useRbac.ts
export const useRbac = () => {
  const authStore = useAuthStore()
  const roles = computed(() => authStore.user?.roles)

  return {
    roles,
    hasRole: (role: string) => roles.value?.includes(role),
    isSuperAdmin: computed(() => roles.value?.includes('super_admin'))
  }
}

3. Store Pattern (Pinia)

typescript
export const useProjectStore = defineStore('projectStore', () => {
  // State
  const projects = ref<Project[]>([])
  const isLoading = ref(false)
  const error = ref<string | null>(null)

  // Getters
  const projectCount = computed(() => projects.value.length)

  // Actions
  const fetchProjects = async () => {
    isLoading.value = true
    try {
      projects.value = await projectService.getProjects()
    } catch (err) {
      error.value = getApiErrorMessage(err)
    } finally {
      isLoading.value = false
    }
  }

  return { projects, isLoading, error, projectCount, fetchProjects }
})

🔐 Système de Permissions RBAC

super_adminAccès à tout le système
adminGestion d'entreprise complète
managerGestion d'équipe et projet
service_headChef de service
employeeAccès standard employé

🚨 Gestion des Erreurs (4 niveaux)

NiveauResponsabilitéExemple
ServiceValidation & transformationVérifier payload avant POST
StoreCapture & stockage de l'erreurerror.value = msg
ComponentAffichage à l'utilisateurv-if="error"
HTTP (Axios)Interceptor global 401/500Redirect login si 401

⚡ Performance & Optimisations

  • Code Splitting — Toutes les routes sont lazy-loaded
  • Tree Shaking — Imports nommés, dépendances inutilisées supprimées au build
  • Computed Properties — Calculs mémoïsés, jamais de fonctions dans les templates
  • Lazy Loading Images — Attribut loading="lazy"
  • State Normalization — Données normalisées par ID
  • Perfect Scrollbar — Virtualisation pour les longues listes

🔄 Flux d'authentification

text
USER → LOGIN PAGE
  → authService.login()
  → API POST /auth/login
  ← { token, user }
  → authStore.setSession(token, user)
  → localStorage update
  → router.push('/dashboard')
  → AUTHENTICATED APP

🔌 Extensibilité — Ajouter une feature

  1. Créer le type TypeScript dans src/types/
  2. Créer le service dans src/services/
  3. Créer le store Pinia dans src/stores/
  4. Créer les composants dans src/components/
  5. Créer la page dans src/pages/
  6. Ajouter la route dans src/router/index.ts
👨‍💻 Développement

Guide Pratique de Développement

Configuration, conventions de codage, exemples CRUD complets, workflow, debugging et best practices.

⏱ 30 min de lecture 👥 Développeurs 📄 600+ lignes · 50+ exemples

🛠️ Configuration de l'environnement

Prérequis

  • Node.js 18+ ou Bun
  • pnpm 8+
  • Git
  • VS Code (recommandé)

Extensions VS Code recommandées

  • Vue.volar — Support Vue 3 (obligatoire)
  • esbenp.prettier-vscode — Formatage Prettier
  • bradlc.vscode-tailwindcss — Support Tailwind
  • Vue.eslint-extension — Intégration ESLint

Variable d'environnement

env
# .env.local
VITE_API_BASE_URL=https://api.perfomia.digitexia.org/api

# Pour développement local
VITE_API_BASE_URL=http://localhost:3000/api

📁 Structure pour une nouvelle feature

text
POUR UNE NOUVELLE FEATURE (ex: "Rapports")

src/
├── pages/ReportsPage.vue          # Page principale
├── components/reports/
│   ├── ReportList.vue             # Liste
│   ├── ReportForm.vue             # Formulaire
│   └── ReportDetail.vue           # Détail
├── stores/reportStore.ts          # État global
├── services/reportService.ts      # API calls
├── types/report.ts                # Interfaces TS
└── composables/useReportForm.ts   # Logique réutilisable

🎨 Conventions de nommage

TypeConventionExemple
Composants VuePascalCaseUserProfile.vue
Services & StorescamelCaseuserService.ts
ConstantsUPPER_SNAKE_CASEUSER_ROLES.ts
Testssuffixe .test.tsuserService.test.ts

🎯 Exemple complet — Composant Vue 3

vue
<script setup lang="ts">
import { ref, computed, onMounted } from 'vue'
import { useUserStore } from '@/stores/userStore'
import type { User } from '@/types/auth'

// Props
interface Props {
  userId: string
  readOnly?: boolean
}
const props = withDefaults(defineProps<Props>(), {
  readOnly: false
})

// Emits
const emit = defineEmits<{
  'user-saved': [user: User]
  'user-deleted': [userId: string]
}>()

const userStore = useUserStore()
const user = computed(() => userStore.getUserById(props.userId))

onMounted(async () => {
  await userStore.fetchUsers()
})
</script>

💡 Exemple CRUD complet

typescript
// FETCH
const fetchProjects = async () => {
  isLoading.value = true
  try {
    projects.value = await projectService.getProjects()
  } catch (err) {
    error.value = getApiErrorMessage(err)
  } finally {
    isLoading.value = false
  }
}

// CREATE
const createProject = async (payload: CreateProjectPayload) => {
  try {
    const data = await projectService.createProject(payload)
    projects.value.push(data)
    toastStore.showSuccess('Projet créé!')
  } catch (err) {
    throw new Error(getApiErrorMessage(err))
  }
}

// UPDATE
const updateProject = async (id: string, data: Partial<Project>) => {
  const idx = projects.value.findIndex(p => p.id === id)
  if (idx >= 0) projects.value[idx] = { ...projects.value[idx], ...data }
}

// DELETE
const deleteProject = async (id: string) => {
  await projectService.deleteProject(id)
  projects.value = projects.value.filter(p => p.id !== id)
}

🔄 Workflow de développement

bash
# 1. Créer une branche
git checkout -b feature/users-management

# 2. Développer (types → service → store → composants → page → routes)

# 3. Vérifier les types
pnpm typecheck

# 4. Linter
pnpm lint

# 5. Commit
git commit -m "feat: add users management feature"

# 6. Push & PR
git push origin feature/users-management

🐛 Problèmes courants & Solutions

ErreurCauseSolution
Cannot find module '@/...'Alias incorrectUtiliser @/types/auth (avec slash)
Store not initializedAppelé hors setupAppeler dans <script setup>
Token expiredToken expiréVérifier localStorage.auth_token
Reactive ref undefinedAccès sans null checkif (user.value) { ... }

✅ Checklist de développement

  • Types TypeScript créés et cohérents
  • Service API avec gestion d'erreur
  • Store Pinia avec actions/getters
  • Composants réutilisables
  • Routes ajoutées avec permissions (meta.roles)
  • Aucune erreur TypeScript : pnpm typecheck
  • Code bien formaté : pnpm lint
  • Testé manuellement, pas de console errors
🔌 Référence API

API Reference & Modules

70+ endpoints REST documentés, authentification Bearer Token, types de réponse, codes d'erreur, pagination et exemples de requêtes.

⏱ 20 min de lecture 👥 Backend, Intégrateurs 🔗 70+ endpoints

📐 Convention

PropriétéValeur
Base URLhttps://api.perfomia.digitexia.org/api
FormatJSON
AuthentificationBearer Token (header Authorization)
🔑Toutes les requêtes (sauf /auth/login et /auth/register-*) nécessitent un header Authorization: Bearer <token>.

👤 Authentification

POST/auth/loginConnexion
POST/auth/logoutDéconnexion
POST/auth/refresh-tokenRenouvellement du token
GET/auth/meUtilisateur courant
POST/auth/register-linkInscription par lien d'invitation
POST/auth/company/registerEnregistrement entreprise

Exemple Login

bash
curl -X POST https://api.perfomia.digitexia.org/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"password123"}'

# Response
{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "id": "123", "email": "user@example.com",
    "firstName": "John", "roles": ["employee"]
  }
}

👥 Utilisateurs

GET/usersLister tous les utilisateurs
GET/users/:idDétails d'un utilisateur
POST/usersCréer un utilisateur
PUT/users/:idMettre à jour
DELETE/users/:idSupprimer
GET/users/search?q=termRechercher

📊 Projets

GET/projectsLister tous les projets
GET/projects/:idDétails projet
POST/projectsCréer projet
PUT/projects/:idMettre à jour
DELETE/projects/:idSupprimer
GET/projects/:id/tasksTâches du projet
POST/projects/:id/membersAjouter un membre
DELETE/projects/:id/members/:memberIdRetirer un membre

✅ Tâches

GET/tasksLister toutes les tâches
POST/tasksCréer une tâche
PUT/tasks/:idMettre à jour
DELETE/tasks/:idSupprimer
POST/tasks/:id/assignAssigner la tâche
POST/tasks/:id/completeMarquer comme complétée

👨‍💼 Équipes

GET/teamsLister les équipes
POST/teamsCréer une équipe
GET/teams/:id/membersMembres de l'équipe
POST/teams/:id/membersAjouter un membre

📧 Courriers

GET/courriersLister les courriers
POST/courriers/incomingNouveau courrier entrant
POST/courriers/outgoingNouveau courrier sortant
GET/courriers/tracking/:idSuivi courrier
POST/courriers/:id/archiveArchiver

📋 Évaluations

GET/evaluationsLister les évaluations
POST/evaluationsCréer une évaluation
POST/evaluations/:id/submitSoumettre les réponses
POST/evaluations/:id/approveApprouver

🏢 Entreprises super_admin

GET/companiesLister (super_admin seulement)
POST/companiesCréer une entreprise
GET/companies/:id/usersUtilisateurs d'une entreprise

📌 Paramètres

GET/settings/userParamètres utilisateur
PUT/settings/userMettre à jour
GET/settings/companyParamètres entreprise

📊 Types de réponse

Succès

json
{
  "data": { ... },
  "message": "Success",
  "status": 200
}

Erreur

json
{
  "error": "Unauthorized",
  "message": "Token invalide ou expiré",
  "statusCode": 401
}

⚠️ Codes HTTP

CodeSignification
200OK — Succès
201Created — Ressource créée
400Bad Request — Données invalides
401Unauthorized — Token manquant/invalide
403Forbidden — Permissions insuffisantes
404Not Found — Ressource introuvable
422Unprocessable Entity — Validation échouée
500Internal Server Error

📄 Pagination

bash
GET /projects?page=1&limit=20
GET /tasks?status=pending&page=2
GET /users?search=john&sort=name&order=asc
👨‍💼 Administration

Guide Admin — Gestion des Utilisateurs

Hiérarchie administrative, matrice de permissions RBAC, implémentation technique et composants Vue prêts à l'emploi.

⏱ 25 min de lecture 👥 Admins, Développeurs 📄 600+ lignes · 3 composants Vue

🏛️ Hiérarchie Admin

super_adminGestion complète du système global
adminGestion des utilisateurs de son entreprise
managerSon équipe uniquement, édition limitée
service_headSon service, édition limitée
employeeSon propre profil seulement

🔑 Matrice de Permissions

RôleVoirÉditerCréerSupprimer
super_admin✅ Tous✅ Tous✅ Tous✅ Tous
admin✅ Son entreprise✅ Oui✅ Oui✅ Oui
manager⚠️ Son équipe⚠️ Limité❌ Non❌ Non
service_head⚠️ Son service⚠️ Limité❌ Non❌ Non
employee✅ Lui-même✅ Lui-même❌ Non❌ Non

🖥️ Accéder à la gestion des utilisateurs

Navigation : Menu Principal → Paramètres → Gestion des Utilisateurs
URL directe : http://localhost:5173/admin/users

⚠️Cette route est protégée. Seuls les rôles admin et super_admin peuvent y accéder.

💻 Composant 1 — AdminUsersPage.vue

vue
<!-- src/pages/AdminUsersPage.vue -->
<script setup lang="ts">
import { ref, onMounted } from 'vue'
import { useUserStore } from '@/stores/userStore'
import { useRbac } from '@/composables/useRbac'
import AdminUserList from '@/components/admin/AdminUserList.vue'
import AdminUserForm from '@/components/admin/AdminUserForm.vue'

const userStore = useUserStore()
const { isAdminScope } = useRbac()
const showForm = ref(false)
const selectedUserId = ref<string | null>(null)

onMounted(async () => {
  if (isAdminScope.value) await userStore.fetchUsers()
})

const handleCreate = () => {
  selectedUserId.value = null
  showForm.value = true
}

const handleEdit = (userId: string) => {
  selectedUserId.value = userId
  showForm.value = true
}

const handleDelete = async (userId: string) => {
  if (confirm('Supprimer cet utilisateur?')) {
    await userStore.deleteUser(userId)
  }
}
</script>

💻 Composant 2 — AdminUserList.vue

vue
<template>
  <v-data-table
    :headers="headers"
    :items="users"
    :loading="isLoading"
  >
    <template #item.actions="{ item }">
      <v-btn @click="$emit('edit', item.id)">Éditer</v-btn>
      <v-btn @click="$emit('delete', item.id)" color="error">
        Supprimer
      </v-btn>
    </template>
  </v-data-table>
</template>

<script setup lang="ts">
import type { User } from '@/types/auth'
defineProps<{ users: User[]; isLoading: boolean }>()
defineEmits<{
  edit: [id: string]
  delete: [id: string]
}>()

const headers = [
  { title: 'Email', key: 'email' },
  { title: 'Nom', key: 'lastName' },
  { title: 'Rôle', key: 'roles' },
  { title: 'Statut', key: 'isActive' },
  { title: 'Actions', key: 'actions' }
]
</script>

🛣️ Route protégée

typescript
{
  path: '/admin/users',
  name: 'AdminUsers',
  component: () => import('@/pages/AdminUsersPage.vue'),
  meta: {
    requiresAuth: true,
    roles: ['admin', 'super_admin']
  }
}

🔒 Vérifications backend requises

⚠️ Le frontend RBAC est une couche de confort. Le backend doit toujours valider les permissions côté serveur avant toute opération sensible.
  • Vérifier que l'admin ne peut gérer que les utilisateurs de son entreprise
  • Empêcher l'auto-suppression d'un compte
  • Valider que les rôles assignés respectent la hiérarchie
  • Logger toutes les opérations d'admin dans les activity logs
📚 Guide Utilisateur

Guide Utilisateur Complet

Tout ce que vous devez savoir pour utiliser Performa au quotidien : connexion, tableau de bord, projets, tâches, courriers, évaluations et FAQ.

⏱ 20 min de lecture 👥 Utilisateurs finaux 📄 800+ lignes · 20+ FAQ

📖 Introduction

Performa est votre plateforme complète de gestion d'entreprise. Elle vous permet de gérer projets, tâches, équipes, courriers et évaluations depuis un seul endroit.

🌐URL de la plateforme : https://perfomia.digitexia.org

🚀 Premiers Pas

Se connecter via email & mot de passe

  1. Allez sur https://perfomia.digitexia.org
  2. Cliquez sur "Se Connecter"
  3. Entrez votre email et mot de passe
  4. Cliquez sur "Connexion"

Via lien d'invitation

  1. Cliquez sur le lien dans votre email d'invitation
  2. Remplissez votre profil (nom, prénom, mot de passe)
  3. Cliquez sur "Confirmer"
  4. Vous êtes connecté!

Changer votre mot de passe

Allez dans Paramètres → Sécurité → Changer le mot de passe.

🎨 Interface Principale

ÉlémentDescription
Menu latéral gaucheNavigation principale entre les sections
Barre supérieureNotifications, profil, recherche rapide
Zone centraleContenu de la section active
BreadcrumbVotre position dans l'application

📊 Tableau de Bord

Le tableau de bord affiche une vue personnalisée selon votre rôle :

  • Widgets de statistiques — Résumé de vos projets et tâches en cours
  • Graphiques — Progression et performances
  • Activité récente — Dernières actions de l'équipe
  • Tâches prioritaires — Ce qui nécessite votre attention

📊 Gestion de Projets

Créer un projet

  1. Menu → Projets → Bouton "+ Nouveau Projet"
  2. Remplir : nom, description, dates, équipe, priorité
  3. Cliquer sur "Créer"

Statuts de projet

StatutSignification
En coursProjet actif en développement
TerminéProjet complété avec succès
En pauseProjet temporairement suspendu
ArchivéProjet archivé, visible en lecture seule

✅ Gestion de Tâches

Créer une tâche

  1. Menu → Tâches"+ Nouvelle Tâche"
  2. Remplir : titre, description, assignation, deadline, priorité
  3. Cliquer sur "Créer"

Vue Kanban

  • Glisser-déposer les tâches entre colonnes
  • Colonnes : À FaireEn CoursRévisionTerminé

👥 Gestion d'Équipes

  • Voir les membres de votre équipe et leurs disponibilités
  • Rechercher un collègue par nom ou rôle
  • Voir l'organigramme des départements
  • Contacter directement depuis leur profil

📧 Gestion de Courriers

Courriers Entrants

  1. Menu → CourriersEntrants
  2. Bouton "+ Enregistrer un courrier entrant"
  3. Remplir l'expéditeur, la date, l'objet et le contenu
  4. Assigner à un responsable de traitement

Suivi

Chaque courrier a un numéro de référence unique pour le suivi via Courriers → Suivi.

📋 Évaluations

  • Démarrer une évaluation : Menu → Évaluations → Nouvelle évaluation
  • Entretien : Formulaire structuré, questions par critère
  • Révision : Consulter et commenter les résultats
  • Approbation : Valider ou demander des corrections

🔔 Notifications

TypeDéclencheur
Tâche assignéeUne tâche vous est assignée
Projet mis à jourUn projet de votre équipe change
Courrier reçuNouveau courrier assigné à vous
Évaluation planifiéeUne évaluation vous concerne
Invitation équipeAjouté à une nouvelle équipe

⚙️ Paramètres & Profil

  • Profil : Nom, prénom, photo, informations de contact
  • Sécurité : Changer le mot de passe, sessions actives
  • Préférences : Langue, thème (clair/sombre), notifications

💡 Conseils & Astuces

Raccourcis clavier : Ctrl+K pour la recherche rapide, Ctrl+N pour créer un élément dans la section active.

❓ FAQ

Je n'arrive pas à me connecter

Vérifiez votre email/mot de passe. Si vous avez oublié votre mot de passe, contactez votre administrateur pour une réinitialisation.

Je ne vois pas certaines fonctionnalités

Votre accès dépend de votre rôle. Certaines pages (administration, paramètres entreprise) sont réservées aux admins et managers.

Comment exporter des données ?

Dans chaque liste (projets, tâches, courriers), un bouton d'export CSV ou PDF est disponible en haut à droite du tableau.

Comment contacter le support ?

  • 📧 Utilisateurs : support@performa.com
  • 👨‍💻 Développeurs : dev@performa.com
  • 👨‍💼 Admins : admin@performa.com
✅ Copié dans le presse-papiers!