%%
%%

\section*{L'\'etat actuel de Bacula}
\label{_ChapterStart2}
\index[general]{L'\'etat actuel de Bacula }
\index[general]{Bacula!L'\'etat actuel de }
\addcontentsline{toc}{section}{L'\'etat actuel de Bacula}

En d'autres termes, ce qui est et ce qui n'est pas actuellement impl\'ement\'e
et fonctionnel. 

\subsection*{Ce qui est impl\'ement\'e}
\index[general]{Ce qui est impl\'ement\'e }
\addcontentsline{toc}{subsection}{Ce qui est impl\'ement\'e}

\begin{itemize}
\item Sauvegarde/restauration par le r\'eseau avec un Director centralis\'e.  
\item Scheduler interne pour le lancement automatique des 
   \ilink{Jobs}{JobDef}.  
\item Programmation de plusieurs Jobs \`a la m\^eme heure.  
\item Vous pouvez \'executer un Job \`a la fois ou plusieurs Jobs
   simultan\'es.  
\item S\'equencement
   \label{a}
   des Jobs selon  une hi\'erarchie de priorit\'es.  
\item Restauration d'un ou plusieurs fichiers s\'electionn\'es interactivement
   parmi les fichiers  de la derni\`ere sauvegarde ou ceux d'une sauvegarde
   ant\'erieure \`a une date et heure donn\'ees.  
\item Restauration d'un syst\`eme complet "depuis le m\'etal brut"
   \label{d}
   . Cette op\'eration est largement  automatis\'ee pour les syst\`emes Linux et
partiellement pour les Solaris.  Consultez le 
\ilink{Plan de Reprise d'activit\'e avec Bacula}{_ChapterStart38}. 
Selon certains utilisateurs, la restauration "depuis le m\'etal brut" 
fonctionne aussi pour les syst\`emes Win2K/XP.  
\item Listage et restauration des fichiers avec les outils autonomes {\bf
   bextract}. Entre autres choses, ceci permet l'extraction de fichiers quand
   Bacula et/ou le  catalogue ne sont pas disponibles. Notez : La m\'ethode
recommand\'ee pour restaurer des  fichiers est d'utiliser la commande restore
dans la Console. Ces programmes sont  con{\c c}us pour une utilisation en
dernier recours.  
\item Possibilit\'e de r\'eg\'en\'erer le catalogue par balayage des volumes
   de sauvegarde  gr\^ace au programme {\bf bscan}.  
\item 
   \ilink{Console}{UADef} d'interfa{\c c}age avec le  Director
   permettant un contr\^ole total. Trois versions (shell, GNOME et wxWidgets)
sont disponibles.  Notez que la version GNOME n'offre actuellement que peu des
fonctions de la  version shell.  
\item V\'erification des fichiers pr\'ec\'edemment catalogu\'es offrant un
   syst\`eme de d\'etection  \`a la fa{\c c}on de Tripwire 
\item Authentification par mot de passe CRAM-MD5 entre chaque composant ({\it 
daemon}).  
\item Chiffrement configurable
   \ilink{Chiffrement TLS (ssl)}{_ChapterStart61} entre chaque {\it daemon}.
\item Un 
   \ilink{fichier de configuration}{_ChapterStart40} complet et
   extensible  pour chaque {\it daemon}.  
\item Fonctions de base de donn\'ees (catalogue) pour les informations
   concernant les volumes,  pools, jobs et fichiers sauvegard\'es.  
\item Support pour des catalogues de type SQLite, PostgreSQL, et MySQL.  
\item Requ\^etes utilisateur arbitraires sur les bases de donn\'ees SQLite,
   PostgreSQL et MySQL.  
\item Marquage (label) des Volumes pour pr\'evenir tout \'ecrasement
   accidentel (au moins par Bacula).  
\item Un nombre quelconque de Jobs et Clients peuvent \^etre sauvegard\'es sur
   un Volume unique.  Cela signifie que vous pouvez sauvegarder et restaurer des
   machines Linux,  Unix, Sun, et Windows sur le m\^eme volume.  
\item Sauvegardes multi-volumes. Lorsqu'un Volume est plein, {\bf Bacula} 
   r\'eclame automatiquement le volume suivant et poursuit la sauvegarde.  
\item Gestion de librairie par 
   \ilink{Pools et Volumes}{PoolResource} offrant  beaucoup de
   flexibilit\'e dans la gestion des volumes (par exemple, groupes de volumes mensuels, 
hebdomadaires, quotidiens ou diff\'erenci\'es par client,...).  
\item Format d'\'ecriture de donn\'ees sur les volumes ind\'ependant des
   machines. Les clients  Linux, Solaris, et Windows peuvent tous \^etre
   sauvegard\'es sur le m\^eme volume si  d\'esir\'e.  
\item Prise en charge flexible des 
   \ilink{ messages}{MessageResource}  incluant le routage des
   messages depuis n'importe quel {\it daemon} vers le Director  pour un
reporting
\label{b}
automatique par e-mail.  
\item Impl\'ementation multi-thread.  
\item Programm\'e pour prendre en charge des noms de fichiers et messages
   arbitrairement longs.  
\item Compression GZIP fichier par fichier effectu\'ee, si activ\'ee, par  le
   programme Client avant le transfert sur le r\'eseau.  
\item Calcul de signatures MD5 ou SHA1 des fichiers de donn\'ees sur demande. 
\item Sauvegarde et restaure les POSIX ACLs.  
\item Support pour les librairies de sauvegarde via une simple interface shell
   capable de s'interfacer avec pratiquement n'importe quel programme
   autochargeur.  
\item Support pour les librairies \'equip\'ees de lecteurs de codes barres --
   marquage (labeling)  automatique selon les codes barres.  
\item Support pour les librairies \`a magasins multiples, soit par
   l'utilisation des codes barres,  soit par lecture des cartouches. 
\item Support pour les librairies avec plusieurs lecteurs. 
\item Sauvegardes/restaurations "Raw device". Les restaurations doivent
   alors s'effectuer vers  le m\^eme support physique que la sauvegarde.  
\item Tous les blocs de donn\'ees des volumes (approx 64K bytes) contiennent
   une somme de contr\^ole.  
\item Liste d'acc\`es \`a la console qui permet de restreindre l'acc\`es des
   utilisateurs \`a leurs donn\'ees seulement.  
\item Possibilit\'e de mettre les donn\'ees sur un tampon disque (data
   spooling) pendant la sauvegarde avant  \'ecriture sur cartouche, pour limiter
   les arr\^ets-red\'emarrages du lecteur lors des  incr\'ementales.  
\item Support pour sauvegarde et restauration de fichiers de plus de 2GB.  
\item Support pour les machines 64 bit, e.g. amd64.  
\item Possibilit\'e de chiffrer les communications entre les {\it daemons} en
   utilisant stunnel.
\item Support des étiquettes (labels) de cartouches ANSI et IBM.
\item Support des noms de fichiers Unicode (exemple : chinois) sur les machines Win32 
   depuis la version 1.37.28.
\item Sauvegarde cohérente des fichiers ouverts sur les systèmes Win32 (WinXP, Win2003 
   mais pas Win2000), par l'utilisation de Volume Shadow Copy (VSS).
\end{itemize}

\subsection*{Avantages de Bacula sur d'autres programmes de sauvegarde}
\index[general]{Avantages de Bacula sur d'autres programmes de sauvegarde }
\index[general]{Sauvegarde!Avantages de Bacula sur d'autres programmes de }
\addcontentsline{toc}{subsection}{Avantages de Bacula sur d'autres programmes
de sauvegarde}

\begin{itemize}
\item Du fait qu'il y a un client pour chaque machine, vous pouvez 
   sauvegarder et restaurer des clients de tous types avec  l'assurance que tous
   les attributs de fichiers sont convenablement  sauvegard\'es et restaur\'es.  
\item Il est aussi possible de sauvegarder des clients sans aucun  logiciel
   client en utilisant NFS ou Samba. Cependant, nous recommandons  d'ex\'ecuter,
   si possible, un File Daemon client sur chaque machine  \`a sauvegarder.  
\item Bacula prend en charge les sauvegardes multi-volumes.  
\item Une base de donn\'ees compl\`ete aux standards SQL de tous les fichiers 
   sauvegard\'es. Ceci permet une vue en ligne des fichiers  sauvegard\'es sur
   n'importe quel volume.  
\item Elagage automatique du catalogue (destruction des anciens
   enregistrements),  ce qui simplifie l'administration de la base de donn\'ees. 
\item N'importe quel moteur de base de donn\'ees SQL peut \^etre utilis\'e, ce
   qui  rend Bacula tr\`es flexible.  
\item La conception modulaire, mais int\'egr\'ee rend Bacula tr\`es
   \'echelonnable.  
\item Puisque Bacula utilise des {\it daemons} fichier clients, toute base de
   donn\'ees,  toute application peut \^etre arr\'et\'ee proprement, puis
   red\'emarr\'ee par Bacula  avec les outils natifs du syst\`eme sauvegard\'e
(le tout dans un Job Bacula).  
\item Bacula int\`egre un Job Scheduler.  
\item Le format des volumes est document\'e et il existe de simples programmes C
 pour le lire/\'ecrire.  
\item Bacula utilise des ports TCP/IP bien d\'efinis (enregistr\'es) -- pas de
   rpcs, pas  de m\'emoire partag\'ee.  
\item L'installation et la configuration de Bacula est relativement simple 
   compar\'ee \`a d'autres produits comparables.  
\item Selon un utilisateur, Bacula est aussi rapide que la grande application 
   commerciale majeure.  
\item Selon un autre utilisateur, Bacula est quatre fois plus rapide qu'une
   autre  application commerciale, probablement parce que cette application
   stocke  ses informations de catalogue dans un grand nombre de fichiers 
plut\^ot que dans une base SQL comme le fait Bacula. 
\item Au lieu d'une interface d'administration graphique, Bacula possède une 
interface shell qui permet à l'administrateur d'utiliser des outils tels que 
ssh pour administrer n'importe quelle partie de Bacula depuis n'importe où.
\item Bacula dispose d'un CD de secours pour les systèmes Linux dotés des 
   fonctionnalités suivantes :
   \begin{itemize}
   \item Vous le générez sur votre propre système d'un simple make suivi de make burn. 
   \item Il utilise votre noyau.
   \item Il capture vos paramètres de disques et génère les scripts qui vous permettront 
   de repartitionner automatiquement vos disques et de les formater pour y remettre 
   ce qui s'y trouvait avant le désastre.
   \item Il comporte un script qui redémarrera votre réseau (avec l'adresse IP correcte).
   \item Il comporte un script qui monte automatiquement vos disques durs. 
   \item Il comporte un Bacula FD complet statiquement lié. 
   \item Vous pouvez aisément y ajouter des données ou programmes additionnels. 
\end{itemize}

\subsection*{Restrictions de l'impl\'ementation actuelle}
\index[general]{Restrictions de l'impl\'ementation actuelle }
\index[general]{Actuelle!Restrictions de l'impl\'ementation }
\addcontentsline{toc}{subsection}{Restrictions de l'impl\'ementation actuelle}

\begin{itemize}
\item Les chemins et noms de fichiers de longueur supérieure à 260 caractères 
   sur les systèmes Win32 ne sont pas supportés. Il sont sauvegardés mais 
   ne peuvent être restaurés. L'utilisation de la directive {\bf Portable=yes}
   dans votre FileSet permet de restaurer ces fichiers vers les systèmes 
   Unix et Linux. Les noms de fichiers longs seront implémentés dans une 
   version ultérieure.
\item Si vous avez plus de 4 billions de fichiers enregistr\'es dans votre 
   catalogue, la base de donn\'ees FileId atteindra probablement ses limites. 
   Ceci est une base de donn\'ees monstrueuse mais possible. A un certain stade,
   les champs  FileId de Bacula passeront de 32 bits \`a 64 et ce probl\`eme
   dispara{\^\i}tra. En attendant, un palliatif  satisfaisant consiste \`a
   utiliser plusieurs bases de donn\'ees  
\item Les fichiers supprim\'es apr\`es une sauvegarde full sont inclus dans
   les restaurations. 
\item Les Modules Système de Fichiers (routines configurables pour 
   sauvegarder/restaurer les fichiers spéciaux) ne sont pas encore implémentés.
\item Le chiffrement des données sur les volumes n'est pas implémenté. 
\item Bacula ne peut restaurer automatiquement les fichiers d'un job depuis 
   deux ou plusieurs périphériques de stockage différents. Si vous 
   un même job utilise plusieurs périphériques ou plusieurs types de 
   média distincts, le processus de restauration nécessitera certaines 
   interventions manuelles. 
\end{itemize}

\subsection*{Limitations ou Restrictions inh\'erentes \`a la conception}
\index[general]{Limitations ou Restrictions inh\'erentes \`a la conception }
\index[general]{Conception!Limitations ou Restrictions inh\'erentes \`a la }
\addcontentsline{toc}{subsection}{Limitations ou Restrictions inh\'erentes \`a
la conception}

\begin{itemize}
\item Les noms (tels que resource names, Volume names, ...) d\'efinis dans les
   fichiers  de configuration de Bacula sont limit\'es \`a un nombre fix\'e de
   caract\`eres.  Actuellement, la limite est d\'efinie \`a 127 caract\`eres.
Notez que ceci ne concerne  pas les noms de fichiers qui peuvent \^etre
arbitrairement longs.  
\item Sur les machines Win32, les noms de fichiers sont limités à 260 caractères 
   par l'API non-Unicode Windows que nous utilisons. Il est prévu de lever cette 
   limitation en basculant sur l'API Unicode.
\end{itemize}
