@company-manager/docs
Support

FAQ

Questions fréquemment posées sur Company Manager.

FAQ (Foire Aux Questions)

Réponses aux questions les plus fréquemment posées sur Company Manager.

Général

Qu'est-ce que Company Manager ?

Company Manager est une solution SaaS complète pour la gestion d'entreprise, offrant :

  • Gestion multi-tenant
  • Gestion des commandes B2B et B2C
  • Gestion des clients et contacts
  • Intégration des paiements
  • Tableau de bord personnalisable

Quelles sont les exigences techniques ?

  • Node.js >= 18.0.0
  • PostgreSQL >= 14
  • Bun >= 1.0.0
  • 2GB RAM minimum
  • 1GB espace disque

Comment obtenir de l'aide ?

  1. Consultez la documentation
  2. Vérifiez la section dépannage
  3. Contactez le support technique

Installation

Comment installer Company Manager ?

# 1. Cloner le repository
git clone https://github.com/your-org/company-manager.git

# 2. Installer les dépendances
bun install

# 3. Configurer l'environnement
cp .env.example .env

# 4. Démarrer l'application
bun dev

Pourquoi mon installation échoue ?

Causes communes :

  1. Versions incompatibles des dépendances
  2. Problèmes de permissions PostgreSQL
  3. Variables d'environnement manquantes

Configuration

Comment configurer plusieurs tenants ?

// Création d'un tenant
const tenant = await prisma.tenant.create({
  data: {
    name: 'Mon Entreprise',
    domain: 'entreprise.example.com',
    settings: {
      theme: 'light',
      features: ['orders', 'customers'],
    },
  },
});

Comment personnaliser le thème ?

// Configuration du thème
const theme = {
  colors: {
    primary: '#0070f3',
    secondary: '#ff0080',
  },
  fonts: {
    body: 'Inter, sans-serif',
    heading: 'Poppins, sans-serif',
  },
};

Utilisation

Comment gérer les utilisateurs ?

// Création d'un utilisateur
const user = await prisma.user.create({
  data: {
    email: 'user@example.com',
    name: 'John Doe',
    role: 'USER',
    tenantId: tenant.id,
  },
});

Comment créer une commande ?

// Création d'une commande
const order = await prisma.order.create({
  data: {
    customerId: 'customer_id',
    items: {
      create: [
        {
          productId: 'product_id',
          quantity: 1,
          price: 99.99,
        },
      ],
    },
    status: 'PENDING',
  },
});

Performance

Comment optimiser les performances ?

  1. Utiliser le cache approprié
  2. Optimiser les requêtes de base de données
  3. Implémenter la pagination
  4. Utiliser la compression

Comment gérer de grandes quantités de données ?

// Pagination efficace
const getOrders = async (page: number, limit: number) => {
  return prisma.order.findMany({
    take: limit,
    skip: (page - 1) * limit,
    orderBy: { createdAt: 'desc' },
  });
};

Sécurité

Comment sécuriser l'application ?

  1. Utiliser HTTPS
  2. Implémenter l'authentification forte
  3. Valider toutes les entrées
  4. Maintenir les dépendances à jour

Comment gérer les permissions ?

// Vérification des permissions
const checkPermission = (user: User, action: string) => {
  const role = roles[user.role];
  return role.can(action);
};

Intégration

Comment intégrer des systèmes externes ?

// Configuration de l'intégration
const integration = {
  type: 'external_system',
  config: {
    url: process.env.EXTERNAL_SYSTEM_URL,
    apiKey: process.env.EXTERNAL_SYSTEM_API_KEY,
  },
};

Comment configurer les webhooks ?

// Configuration webhook
const webhook = {
  endpoint: '/api/webhooks',
  secret: process.env.WEBHOOK_SECRET,
  events: ['order.created', 'order.updated'],
};

Dépannage

Comment résoudre les problèmes courants ?

  1. Vérifier les logs
  2. Valider la configuration
  3. Tester la connectivité
  4. Vérifier les permissions

Comment déboguer l'application ?

// Activation du mode debug
const debug = require('debug')('app:*');

debug('Détails de débogage:', {
  env: process.env.NODE_ENV,
  config: currentConfig,
  error: error.message,
});

Mise à Jour

Comment mettre à jour Company Manager ?

# 1. Backup
pg_dump company_manager > backup.sql

# 2. Mise à jour du code
git pull origin main

# 3. Mise à jour des dépendances
bun install

# 4. Migration
bun prisma migrate deploy

Comment gérer les breaking changes ?

  1. Lire le changelog
  2. Tester dans un environnement de staging
  3. Planifier la mise à jour
  4. Avoir un plan de rollback

Support

Comment contacter le support ?

Quels sont les temps de réponse ?

  • Critique: < 2 heures
  • Urgent: < 4 heures
  • Normal: < 24 heures
  • Faible: < 48 heures