'.$_menu['text'].' '; $i++; } } //-------------------------------------------------------- //Verification de l'existence de caractere spéciaux dans la chaine function fct_verifie_carac_spec($chaine) { if( (preg_match_all("/([^a-zA-Z0-9_\@\.\-])/i", $chaine, $trouve)) || $chaine=='') return true ; else return false; } //------------------------------------------------------- //Verification d'un chaine numérique function fct_verifie_num($chaine) { $chaine=trim($chaine); if(!empty($chaine)) { if(ereg("^[0-9\.]+$", $chaine)) return true; else return false; } else return false; } //------------------------------------------------------- //Fonction qui verifie qu'une chaine est alphabetique, autorisant l'apostrohe function fct_verifie_alphabet($chaine) { $chaine=stripslashes($chaine); $chaine=ereg_replace("'","",$chaine);//Enleve les apostrohes $chaine=ereg_replace(" ","",$chaine);//Enleve les espaces // "/([^ïöüäëéèùôîûêâàa-zA-Z_\@\.\-])/i" if( (preg_match_all("/([^ïöüäëéèùôîûêâàa-zA-Z_\-])/i", $chaine, $trouve)) || $chaine=='') return true ; else return false; } //------------------------------------------------------- //Fonction qui verifie une chaine alphabétique acceptant le chiffre et uniquement l'apostrophe function fct_verifie_text2($chaine) { if(preg_match_all("#[^\w\s\'\@\.\ïöüäëéèùôîûêâàa]#", $chaine, $trouve) || $chaine=='') return true ; else return false; } //------------------------------------------------------- //Fonction qui mets les champs mal renseignés en rouge function fct_label_rouge($tab=array(),$champ,$label) { foreach ($tab as $t) { if($t==$champ) return "$label"; } return $label; } //-------------------------------------------------------------------- //Verification de l'existence d'une url function fct_verifie_url($adresse) { if(substr_count($adresse,"http://") > 0){ $port=80; $adresse=eregi_replace("http://", "", $adresse); } if(substr_count($adresse,"https://") > 0){ $port=443; $adresse=eregi_replace("https://", "", $adresse); } $url = fsockopen($adresse, $port); if(!$url) return false; else fclose($url); return true; } //------------------------------------------------------- //Verification de la validité d'une date function fct_verifie_date($j,$m,$a) { $j=(int)$j; $m=(int)$m; $a=(int)$a; //si le jour n'est pas entre 1 et 31 inclus if (($j > 31) || ($j == 0)){ return FALSE;} //si le mois n'est pas entre 1 et 12 inclus if (($m > 12) || ($m == 0)){ return FALSE;} //si pour le mois de février, avril, juin, septembre et novembre, le jour est 31 if (in_array($m, array(2, 4, 6, 9, 11)) && ($j == 31)){ return FALSE;} //Si pour le mois de Fevrier, le jour est 30 if (($m == 2) && ($j == 30)){ return FALSE;} /*echo "*/ //Si pour l'année choisi fevrier est bissextile... if (!date("L", mktime(0, 0, 0, 1, 1, $a)) && ($j == 29) && ($m==2)){ echo "annee bisex
"; return FALSE;} return TRUE; } function fct_verifie_date2($j,$m,$a){ $j=(int)$j; $m=(int)$m; $a=(int)$a; if(checkdate($m,$j,$a)){ $retour=TRUE; }else{ $retour=FALSE; } return $retour; } //------------------------------------------------------- //Verification de la validité d'une heure function fct_verifie_heure($h,$m) { $h=(int)$h; $m=(int)$m; if(($h > 23) || ($h < 0)) return false; if(($m > 59) || ($m < 0)) return false; return true; } //------------------------------------------------------- //Verification de l'égalité entre deux champs function fct_verifie_egalite($chaine1,$chaine2) { /*echo "";*/ //echo $chaine1." --- ".$chaine2."
"; if((trim($chaine1)=='') || (trim($chaine2)=='')) return false; if(strcmp($chaine1,$chaine2)==0) { //echo "egalite"; return true; } else { //echo "pas egalite"; return false; } } //------------------------------------------------------- //Fonction qui affiche un message correspondant à un id function fct_affiche_message($id_message) { echo ${'msg_err_'.$id_message}; } //------------------------------------------------------- //Fonction de verification d'un email function fct_verifie_email($email) { //Mise en miniscule de ts les caracteres $email = strtolower($email); if (strlen($email) < 6){ return (-1);}//$email : Email trop court if (strlen($email) > 255) {return (-2);}//$email : Email trop long if (!ereg("@", $email)){ return (-3);}//$email : Le email n'a pas d'arobase (@) //Recherche ts les caracteres spéciaux ds la chaine $email, et les mets ds le tableau numérique $trouve if (fct_verifie_carac_spec($email)) { return (-4);//"$email : caractère(s) interdit dans un email(".implode(", ", $trouve[0]).")."; } if (!preg_match("/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i", $email)) { return (-5);//"$email : ce n'est pas un la forme d'un email."; } /* list($compte, $domaine)=split("@", $email, 2); if (!checkdnsrr($domaine, "MX")){ return (-6);//"$email : Ce domaine ($domaine) n'accepte pas les emails"; }*/ return 0; } //------------------------------------------------------- //Fonction qui verifie si un choix s'est fait ds une liste deroulante function fct_verifie_selection($selected) { if($selected=="") return false; else return true; } //------------------------------------------------------------------- //Function qui vérifie si un choix d'un bouton radio a été fait function fct_verifie_radio($coche) { if(empty($coche)) return false; else return true; } //------------------------------------------------------------------- //Formatage monétaire en fonction de la langue (pays) function fct_format_money($valeur , $pays,$etat=0,$decimale=2){ $valeur = doubleval($valeur); //explication des colonne de const: // 1: caractere des décimales // 2: caractere ente chaque millier // 3: caractere devant le montant // 4: Symbole de la monnaie $const = array(); $const['admin'] = array(', ', ' ', '', ''); $const['fr'] = array(', ', ' ', '', ' FCFA'); //$const['de'] = array(', ', '.', '', ' DM'); $const['de'] = array(', ', '.', '', ' €'); $const['au'] = array('.', ', ', '$ ', ''); $const['as'] = array(', ', '.', '', ' ÖS'); $const['be'] = array(', ', '.', 'BF ', ''); $const['br'] = array(', ', '.', '$ ', ''); $const['ca_fr'] = array(', ', ' ', '', ' $'); $const['ca_en'] = array(', ', ' ', '$ ', ''); $const['nz'] = array(', ', ' ', '$ ', ''); $const['pt'] = array(', ', ' ', '' , ' Esc.'); $const['dk'] = array(', ', '.', 'kr. ', ''); $const['es'] = array(', ', '.', '', 'Pts'); $const['hu'] = array(', ', ' ', '', ' Ft'); $const['fi'] = array(', ', ' ', '', ' mk'); $const['uk'] = array('.', ', ', 'L ', ''); $const['it'] = array(', ', '.', 'L. ', ''); $const['no'] = array(', ', ' ', '', ' kr'); $const['nl'] = array(', ', '.', 'Fl. ', ''); $const['se'] = array(', ', ' ', '', ' kr'); $const['ch'] = array('.', '\'', 'Fr ', ''); $const['us'] = array('.', ', ', '$ ', ''); $const['en'] = array(',', '.', '', ' euro'); if($etat==1) { $valeur =($valeur/655.5); } //Indique si une valeur de langue appartient au tableau : par défaut 'fr' if (!in_array($pays, array_keys($const))){ $pays = 'fr'; } list($dec, $mil, $monp, $symb) = $const[$pays]; return $monp.number_format($valeur,$decimale, $dec, $mil).$symb; } //------------------------------------------------------- //Fonction qui retourne le nombre de visiteurs connectés function fct_nb_connecte($time, $filename="visiteur.dat") { // $time est le temps en seconde à partir duquel on considère que // le visiteur n'est plus connecté // $filename est le nom du fichier créé pour stocker les informations //$ip = getenv("REMOTE_ADDR"); $ip=fct_obtenir_adresse(); $date=time(); $i=0; $ii=0; $bool=0; if(file_exists($filename)) { if($fichier=fopen($filename, "r")) { while(!feof($fichier)) { $ligne=fgets($fichier, 4096); $tab=explode("->", $ligne); if($tab[1]>0) { $tab_de_tab[$i][0]=$tab[0]; $tab_de_tab[$i][1]=$tab[1]; $i++; } } fclose($fichier); } } for($j=0;$j<$i;$j++) { if(($date-chop($tab_de_tab[$j][1]))>$time) { //on ne fait rien } else { $tab_de_tab_actualise[$ii][0]=$tab_de_tab[$j][0]; $tab_de_tab_actualise[$ii][1]=chop($tab_de_tab[$j][1]); $ii++; } } for($j=0;$j<$ii;$j++) { if($tab_de_tab_actualise[$j][0]==$ip) { $bool=1; } } if($bool==0) { $tab_de_tab_actualise[$ii][0]=$ip; $tab_de_tab_actualise[$ii][1]=$date; $ii++; } if($fichier=fopen($filename, "w")) { for($j=0;$j<$ii;$j++) { fputs($fichier, chop($tab_de_tab_actualise[$j][0])); fputs($fichier, "->"); fputs($fichier, chop($tab_de_tab_actualise[$j][1])); fputs($fichier, "\n"); } fclose($fichier); } return $ii+171; } //------------------------------------------------------- //Fonction qui enregistre l'adresse ip pour bannir l'acces à nos sites function fct_obtenir_adresse($type=0) { if (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARD_FOR'); if ($type == 0) return $ip; else return gethostbyaddr($ip); } else { $ip = getenv('REMOTE_ADDR'); if ($type == 0) return $ip; else return gethostbyaddr($ip); } } //------------------------------------------------------- //Fonction pour obtenir l'adresse MAC à partir de l'adresse ip au format "93.125.24.23" function fct_get_Mac_Address($ip) { $buffer = ""; system("ping " . $ip); //system("arp -a > arp.dat"); $fileHandle = fopen ("arp.dat", "r"); while (!feof($fileHandle)) { $buffer = $buffer . fgets($fileHandle, 4096); } fclose ($fileHandle); $ip_mac = strstr($buffer, $ip); if($ip_mac){ $mac = substr($ip_mac, 22, 17); return strtolower(ltrim($mac)); } return false; } //------------------------------------------------------- //Fonction qui fait une liste déroulante de valeurs numériques de $min à $max par pas de $pas function fct_list_deroul_num($min,$max,$pas,$select='') { $ret=''; for($i=$min;$i<=$max;$i+=$pas) { $ret.="" ."" ."" ."" ."" ."" ."" ."" ."" ."" .""; return $ret; } //--------------------------------------------------------- //Fonction qui fait une liste déroulante des civilités ou des mois stockées dans un tableau function fct_list_deroul_tab($tab,$id=0,$select='') { $ret=''; for($i=$id; $i'; //$ret.=''; } return $ret; } //--------------------------------------------------------- //Fonction qui remplace la premier occurence d'une sous chaine dans une chaine function fct_str_replace($s_chaine , $remplace , $chaine) { $pos = strpos($chaine, $s_chaine); if ($pos === false) { return $chaine; } return substr_replace($chaine, $remplace , $pos, strlen($s_chaine)); } //--------------------------------------------------------- //Fonction qui modifie le titre de la fenetre en fonction de la page inclue dans l'index function fct_titre($page=0) { global $CPE,$TITRE; return $CPE." - ".$TITRE[$page]; } //----------------------------------------------------------- //Fonction qui retourne le jour le mois et l'année en cours function fct_date_du_jour($type=0) { global $MOIS, $JOUR,$LANG; if($type==0) { switch ($LANG) { case 'fr'://return Lundi 01 Janvier 2005 return $JOUR[date('w')-1]." ".date('j')." ".$MOIS[date('n')]." ".date('Y'); case 'en': switch(date('j')) { case 1: $jour="1st"; break; case 2: $jour="2nd"; break; case 3: $jour="3rd"; break; default: $jour=date('j')."th"; break; } return $JOUR[date('w')-1].", ".$MOIS[date('n')-1]." ".$jour." ".date('Y'); case 'de': return $JOUR[date('w')-1]." ".date('j').". ".$MOIS[date('n')-1]." ".date('Y'); } } else { return date("w/d/n/Y H:i:s"); } } //--------------------------------------------------------------- /** * Function qui retourne les parametres d'une date ds un tableau * @param :$date * return Tableau */ function fct_date_tab($date) { $_date=explode(" ",$date); if(count($_date[0])==4) list($tab_date['nj'],$tab_date['j'],$tab_date['m'],$tab_date['a'])=explode('/',$_date[0]); else list($tab_date['j'],$tab_date['m'],$tab_date['a'])=explode('/',$_date[0]); list($tab_date['h'],$tab_date['mn'],$tab_date['s'])=explode(':',$_date[1]); return $tab_date; } //--------------------------------------------------------------- /** * Function qui retourne un parametre de date * @param $type:char-> de parametre voulu: jour de semeine, N° du mois... * @param $date:string->la date à traiter * return la valeur du type */ function fct_param_date($type,$date) { $tab_date=fct_date_tab($date); $ret=date($type,mktime($tab_date['h'],$tab_date['mn'],$tab_date['s'],$tab_date['m'],$tab_date['j'],$tab_date['a'])); return $ret; } //-------------------------------------------------------------- //Function qui formatte l'affichege d'une date passée en parametre function fct_format_date($date,$lang) { global $MOIS, $JOUR; list($_dat,$heure)=explode(" ",$date); list($nj,$j,$m,$a)=explode("/",$_dat); $j=(int)$j; $m=(int)$m; list($h,$mn,$s)=explode(":",$heure); //mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst]) if($nj==0) $nj=6; else $nj-=1; switch ($lang) { case 'fr': $longdate= $JOUR[$nj]." ".$j." ".$MOIS[$m]." ".$a; break; case 'en': switch($j) { case 1: $j="1st"; break; case 2: $j="2nd"; break; case 3: $j="3rd"; break; default: $j.="th"; break; } $longdate=$JOUR[$nj].", ".$MOIS[$m]." ".$j." ".$a; break; case 'de': $longdate=$JOUR[$nj]." ".$j.". ".$MOIS[$m]." ".$a; break; } return $longdate." ".$h."h ".$mn."mn ".$s."s"; } //--------------------------------------------------------------- //Fonction qui verifie et inclue une page, sinon ramène un message d'erreur function fct_verif_affich_page($page,$aide='') { global $MSG_ERR_PAGE,$MSG_ERR_PAGE2; if($aide!='') $msg=$MSG_ERR_PAGE2; else $msg=$MSG_ERR_PAGE; if(file_exists($page)) require_once($page); else echo '
'.$msg.'
'; } //---------------------------------------------------------------------- //Foction qui lit le contenu d'un fichier et le retourne function fct_lire_fic($nom_fichier) { global $MSG_ERR_FICH; $fp=fopen($nom_fichier,"r"); if($fp) { while (!feof($fp)) $buffer .= fgets($fp, 4096)."\n"; return $buffer; } else return $MSG_ERR_FICH; } //---------------------------------------------------------------------- //Fonction qui convertit en numerique une adresse ip function fct_IPAdr2IPNum($ip) { $ip = preg_split( "/[.]+/", $ip); $num = (double) ($ip[0]*16777216)+($ip[1]*65536)+($ip[2]*256)+($ip[3]); return $num; } //---------------------------------------------------------------------- //Fonction qui convertit en adresse ip un numerique function fct_IPNum2IPAdr($num) { $a = ($num/16777216)%256; $b = ($num/65536)%256; $c = ($num/256)%256; $d = ($num)%256; $ip = $a.".".$b.".".$c.".".$d; return $ip; } //---------------------------------------------------------------------- //Fonction qui retourne le code et le nom du pays du visiteur function fct_pays_visit($id_pays='') { global $param_gene_db,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST; /* extraction adresse IP du visiteur */ $ip = fct_obtenir_adresse(); /* transformation IP */ $ip2 = fct_IPAdr2IPNum($ip); if($id_pays=='') $req="SELECT `COUNTRY_CODE`,`COUNTRY_NAME` FROM `ip-to-country` WHERE $ip2 BETWEEN `IP_FROM` AND `IP_TO`"; else $req="SELECT `COUNTRY_NAME` FROM `ip-to-country` WHERE COUNTRY_CODE='$id_pays' group by `COUNTRY_NAME`"; $id_connexion=fct_sql_connect($param_gene_db,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST); $res=fct_sql_exec($id_connexion, $req); fct_sql_close($id_connexion); if(fct_sql_num_rows($res)>0) { $row=fct_sql_fetch_row($res); } return $row; } //----------------------------------------------- //Function qui retourne le code et le nom d'un domaine d'activité function fct_fct_visit($id_fct) { global $_SESSION,$SELECT_ERR,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST,$param; $id_connexion=fct_sql_connect($param['cp']['db'],$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST); $requete="SELECT `libelle_domaine_".$_SESSION['lang']."` FROM t_domaine_clt WHERE id_domaine_clt='$id_fct'"; $res=fct_sql_exec($id_connexion, $requete); fct_sql_close($id_connexion); if($res){ $row=fct_sql_fetch_row($res); return $row; } else return $SELECT_ERR; } //--------------------------------------------- //Function qui retourne le code et la question secrete function fct_fct_quest($id_quest) { global $_SESSION,$SELECT_ERR,$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST,$param; $id_connexion=fct_sql_connect($param['param']['db'],$DEFAULT_USER,$DEFAULT_PASS,$DEFAULT_HOST); $requete="SELECT `libelle_quest_".$_SESSION['lang']."` FROM questions WHERE id_quest='$id_quest'"; //echo "fct=".$requete; $res=fct_sql_exec($id_connexion, $requete); fct_sql_close($id_connexion); if($res){ $row=fct_sql_fetch_row($res); return $row; } else return $SELECT_ERR; } //--------------------------------------------- //Function qui indique l'etat d'un solde function fct_indicateur($id_cpte,$solde,$type=0) { global $ind_solde,$LANG,$cp_solde_label; if($solde > $ind_solde[$id_cpte]['max']) { $bord="#006633"; $style="solde"; } elseif(($solde > $ind_solde[$id_cpte]['min']) && ($solde < $ind_solde[$id_cpte]['max'])) { $bord="#FF6600"; $style="solde_atten"; } else { $bord="#CC0000"; $style="solde_danger"; } if($type==0) $tableau='' .' ' .' ' .' ' .'
' .' ' .' ' .' ' .' ' .' ' .'
'.$cp_solde_label.' :
'.fct_format_money( $solde, 'fr').'
' .'
'; else $tableau='' .' ' .' ' .' ' .'
' .' ' .' ' .' ' .' ' .'
'.fct_format_money( $solde, $LANG).'
' .'
'; return $tableau; } //--------------------------------------------- //Function qui retourne le nombre de jours entre une date et le 01 Janvier 1970 function fct_mktime($date) { $_date=explode(" ",$date); $jma_date=explode("/",$_date[0]); $hms_date=explode(":",$_date[1]); return mktime($hms_date[0],$hms_date[1],$hms_date[2],$jma_date[2],$jma_date[1],$jma_date[3]); } //------------------------------------------------- //Fonction qui affiche le message lors de la function fct_message($lang,$num_cpte,$civilite,$nom,$prenom,$date_connexion) { global $bienvenue_txt,$MSG_INFO_FORCE,$civilite_txt; $date=fct_format_date($date_connexion,$lang); $message=$bienvenue_txt.", ".$civilite_txt[$civilite]." ".ucfirst($prenom)." ".ucfirst($nom)."!
" .$MSG_INFO_FORCE[1]." ".$date.".
" .$MSG_INFO_FORCE[2]."
".$MSG_INFO_FORCE[3]."
"; echo $message; } //----------------------------------------------------------- //Function qui formatte une chaine de caracetere //Decoupe sur un longueure fixe et concatene avec un caractere de séparation function fct_format_chaine($chaine,$separateur,$longueur) { $nbr=strlen($chaine)/$longueur; for($i=0;$i<$nbr;$i++) { $ch[$i]=substr($chaine,$i*$longueur,$longueur); $new_chaine.=$ch[$i]; if($i!=$nbr-1) $new_chaine.=$separateur; } return $new_chaine; } //----------------------------------------------------------- function uploadimg1($photo_prod){ if($photo_prod!=''){ //insertion du code d'upload de fichier ////////////////////////////////////////////////////////////////////////////////////// $repertoireDestination = "../_images/produit/"; $text1= $_FILES["photo_prod"]["name"]; ///suppression du fichier si existant if(file_exists("../_images/produit/$text1")){ $photo=$text1; } //recuperation du nom de fichier posté (valeur a inserer dans la table comme nom de la photo) $photo = $text1; // Pour raison de sécurité nous ajouterons aux fichiers // portant une extension .php .php3, l'extension .txt if (eregi(".php",$text1)) { $text .= ".txt"; } if (is_uploaded_file($_FILES["photo_prod"]["tmp_name"])) { if (move_uploaded_file($_FILES["photo_prod"]["tmp_name"], $repertoireDestination.$text1)) { /// echo "Le fichier temporaire ".$_FILES["fichiers"]["tmp_name"]. /// " a été déplacé vers ".$repertoireDestination.$nomDestination; } } } return $photo; } //echo "bon fichier
"; //----------------------------------------------------------------------------------------------- function fct_envoi_mail($email_src='',$email_dest='',$sujet='',$corps='',$type='') { /* destinataire $recipient .= "Armel ".", " ; //remarquez les virgules $recipient .= "Armel KOTTIA ".", "; $recipient .= "kabili369@hotmail.com";*/ /* sujet $subject = "Test de mail";*/ /* message $message .= "Le mail suivant n'inclut rien de bon\n"; $message .= "Sauf que si tu le lis c'est que le mail en php cours\n"; $message .= "Cordialement";*/ /* Vous pouvez ajouter une signature $message .= "--\r\n";*/ //Délimiteur de signature //$message .= "L'eau ne saute pas canniveau"; /* D'autres en-têtes : errors, From cc's, bcc's, etc */ $headers .= "From: ".$email_src."\n"; $headers .= "X-Sender: <".$email_src.">\n"; $headers .= "X-Mailer: PHP\n"; // maileur $headers .= "X-Priority: 1\n"; // Message urgent! $headers .= "Return-Path: <".$email_src.">\n"; // Re-chemin de retour pour les erreurs $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Type MIME $headers .= "Cc:\n"; // Champs CC $headers .= "Bcc: yvank@walla.com"; // Champs BCCs /* et hop, à la poste */ //$test=mail($recipient, $subject, $message, $headers); $test=mail($email_dest,$sujet,$corps,$headers); return $test; } //-------------------------------------------------------------------------------------------------------------------------------- // function de miniaturisation CIMARKET function resize($url_src,$url_dest,$taille_mini,$mini_gd20quality,$mini_gdversion,$extension) { $size = getimagesize($url_src); if ($size[0] > $size[1]) {$rapport = ($taille_mini / $size[0]);} //$taille_mini = taille maxi d'une mini else {$rapport = ($taille_mini / $size[1]);} $dest_width = ($size[0] * $rapport); $dest_eight = ($size[1] * $rapport); if($extension=='gif'|| $extension=='GIF')$src_img = @imagecreatefromgif($url_src); elseif($extension=='png'|| $extension=='PNG')$src_img = imagecreatefrompng($url_src); elseif($extension=='jpg'|| $extension=='JPG') $src_img = @imagecreatefromjpeg($url_src); else {$mini_gdversion=15; echo 'image non valide';} //versions de GD et qualité de la mini if ($mini_gdversion==2)// GD 2.0 ou plus { $dst_img = imagecreatetruecolor($dest_width,$dest_eight); if ($mini_gd20quality=="imagecopyresampled") // HAUTE QUALITE {@imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);} else //BASSE QUALITE {imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);} } else // GD < 2.0 { $dst_img = imagecreate($dest_width,$dest_eight); imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]); } //touch si safe_mode=on pour essayer de creer les miniatures if (ini_get("safe_mode")) { touch($url_dest); } if($extension=='gif'||$extension=='Gif')$rescreation=@imagegif($dst_img, $url_dest, 90); elseif($extension=='png'||$extension=='PNG')$rescreation=@imagepng($dst_img, $url_dest, 90); else $rescreation=@imagejpeg($dst_img, $url_dest, 90);//entier : qualité de la miniature [0,100] (haute qualité = faible compression) if ($rescreation!=1) $rescreation=0; @imagedestroy($src_img); @imagedestroy($dst_img); return $rescreation; } //-------------------------------------------------------------------------------------------------------------------------------- // function de covertion de jour de la semaine function jour_francais($jour) { $semaine['Monday']="Lundi"; $semaine['Tuesday']="Mardi"; $semaine['Wednesday']="Mercredi"; $semaine['Thursday']="Jeudi"; $semaine['Friday']="Vendredi"; $semaine['Saturday']="Samedi"; $semaine['Sunday']="Dimanche"; $jour=$semaine[$jour]; return $jour; } function mois_francais($ms) { $month['01']="Janvier"; $month['02']="Février"; $month['03']="Mars"; $month['04']="Avril"; $month['05']="Mai"; $month['06']="Juin"; $month['07']="Juillet"; $month['08']="Août"; $month['09']="Septembre"; $month['10']="Octobre"; $month['11']="Novembre"; $month['12']="Décembre"; $mois=$month[$ms]; return $mois; } //fonction de formatage d'un id function fct_formatage($val) { $taille=strlen($val); switch ($taille) { case 1: $id_format="000000".$val; break; case 2: $id_format="00000".$val; break; case 3: $id_format="0000".$val; break; case 4: $id_format="000".$val; break; case 5: $id_format="00".$val; break; case 6: $id_format="0".$val; break; default : $id_format=$val; break; } return $id_format; } function date_ang_fr($date) { list($annee,$mois,$jour)=explode("-",$date); $date_fr=$jour."/".$mois."/".$annee; return $date_fr; } function date_fr_ang($date) { list($jour,$mois,$annee)=explode("/",$date); $date_ang=$annee."-".$mois."-".$jour; return $date_ang; } function upload_image($nom_fic,$tmp_nom_fic,$repertoire_destination)/*$nom,*/ { //declaration du tableau de format $format=array('jpg','JPG','png','PNG','gif','GIF','jpeg','JPEG'); // variable utilisée pour la recupération du nom de l'image $fichier=basename($nom_fic); // variable utilisée pour la taille de l'image //$taille=getimagesize($tmp_nom_fic); // pour recupérer l'extension du fichier list($deb,$fin)=explode('.',$fichier); //test pour voir si l'image est un des formats compatibles if(in_array("$fin",$format)){ if (is_uploaded_file($tmp_nom_fic)) { //$fichier=$nom.$fin; $fichier=time().'.'.$fin; if(move_uploaded_file($tmp_nom_fic,$repertoire_destination.$fichier)) { chmod($repertoire_destination.$fichier,0777); //message de reussite pour lupload de l'image echo "ca marche !!!"; }else $fichier=''; }else $fichier=''; }else $fichier=''; return $fichier; } function upload_file($nom_fic,$tmp_nom_fic,$repertoire_destination)/*$nom,*/ { //declaration du tableau de format $format=array('mp3','MP3','wma','WMA','ogg','OGG'); // variable utilisée pour la recupération du nom de l'image $fichier=basename($nom_fic); // variable utilisée pour la taille de l'image //$taille=getimagesize($tmp_nom_fic); // pour recupérer l'extension du fichier list($deb,$fin)=explode('.',$fichier); //test pour voir si l'image est un des formats compatibles if(in_array("$fin",$format)){ if (is_uploaded_file($tmp_nom_fic)) { //$fichier=$nom.$fin; $fichier=time().'.'.$fin; if(move_uploaded_file($tmp_nom_fic,$repertoire_destination.$fichier)) { //message de reussite pour lupload de l'image //echo "ca marche !!!"; }else $fichier=''; }else $fichier=''; }else $fichier=''; return $fichier; } function upload_video($nom_fic,$tmp_nom_fic,$repertoire_destination) { //declaration du tableau de format $format=array('avi','AVI','mpeg','MPEG','wmv','MMV','mp4','MP4','flv','FLV'); // variable utilisée pour la recupération du nom de l'image $fichier=basename($nom_fic); // variable utilisée pour la taille de l'image //$taille=getimagesize($tmp_nom_fic); // pour recupérer l'extension du fichier list($deb,$fin)=explode('.',$fichier); //test pour voir si l'image est un des formats compatibles if(in_array("$fin",$format)){ if (is_uploaded_file($tmp_nom_fic)) { //$fichier=$nom.'.'.$fin; $fichier=time().'.'.$fin; if(move_uploaded_file($tmp_nom_fic,$repertoire_destination.$fichier)) { //message de reussite pour lupload de l'image $fichier=$fichier; }else $fichier=''; }else $fichier=''; }else $fichier=''; return $fichier; } function formatage_date_fancais_slashes($date_entree) { list($annee,$mois,$jour)=explode("/",$date_entree); $date_francais=$jour.'/'.$mois.'/'.$annee; return $date_francais; } function formatage_date_anglais_slashes($date_entree) { list($jour,$mois,$annee)=explode("/",$date_entree); $date_anglais=$annee.'/'.$mois.'/'.$jour; return $date_anglais; } function formatage_date_anglais_trait($date_entree) { list($jour,$mois,$annee)=explode("-",$date_entree); $date_anglais=$annee.'/'.$mois.'/'.$jour; return $date_anglais; } function formatage_date_francais_trait($date_entree) { list($annee,$mois,$jour)=explode("-",$date_entree); $date_francais=$jour.'/'.$mois.'/'.$annee; return $date_francais; } //-------------------------------------------------------------------------------------------------------------------------------- function qualitex($value){ if($value>= 213200 && $value < 307200)$value=307200; elseif($value >= 307200 && $value < 480000 )$value=480000; elseif($value >= 480000 && $value < 666000 )$value=666000; elseif($value >= 666000 && $value < 786432 )$value=786432; elseif($value >= 786432 && $value < 1228800 )$value=1228800; elseif($value >= 1228800 && $value < 1920000 )$value=1920000; elseif($value >= 1920000 )$value=1920000; else $value=213200; return $value; } //---------------------------------------------------------------------------------------------------------------------------------------- //fonction qui permet de renommer un fichier image ayant un nom comportant des espaces function renommer($url,$ancien_nom,$ext1){ //recuperation d'une partie du nom list($nom,$rest_dunom)=explode(" ",$ancien_nom); //test au cas ou on a une image jpeg pour uniformiser if($ext1=='jpeg'|| $ext1=='jpg')$ext1='jpg'; $nouv_nom=$nom.'.'.$ext1; //on renomme if($rest_dunom!='') { @rename($url.$ancien_nom,$url.$nouv_nom); return $nouv_nom; } else return 2; } //----------------------------------------------------------------------------------------------------------------------------------------- //fonction qui permet de remplacer les caractères accentués par leur equivalent non accentuées function enlev_accent($phrase) { $phrase=strtr($phrase,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'&{}[]~-=+()^°","aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynnzzzzzzzzzzzzzz"); return $phrase; } //################################################################################"// function comp_deux_dates($dated,$datef){ list($jr,$ms,$an)=explode("/",$dated); list($jr1,$ms1,$an1)=explode("/",$datef); $mkd=mktime(0,0,0,$ms,$jr,$an); $mkf=mktime(0,0,0,$ms1,$jr1,$an1); $mk=$mkf-$mkd; return $mk; } function care_date($dated){ list($jr,$ms,$an)=explode("-",$dated); $mk=$an.'/'.$ms.'/'.$jr; return $mk; } //////////////////////////////////////////////// function navigate($nbre,$url,$tuple){ $nombre_total_de_resultat=$nbre; /** * on recupere le nombre d'enregistrement et ensuite on découpe ce nombre en X pages de 6 résultats Ici la fonction ceil() sert à obtenir le nombre exacte de page ! **/ $nombre_de_page=ceil($nombre_total_de_resultat/$tuple); $lim=(isset($_GET['lim'])) ? $_GET['lim'] : 1; if(isset($_GET['page'])){ $pageActuelle=intval($_GET['page']); if($pageActuelle>$nombre_de_page) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages... { $pageActuelle=$nombre_de_page; } } else // Sinon { $pageActuelle=1; // La page actuelle est la n°1 } $pg=($pageActuelle-1)*$tuple; $plus=($lim>=($nombre_de_page)) ? "" : " Suivant >"; $moins=($pg <1) ? "" : ""; for($i=1; $i<=$nombre_de_page; $i++) //On fait notre boucle { //On va faire notre condition if($i==$pageActuelle) //Si il s'agit de la page actuelle... { $menu.= ' [ '.$i.' ] '; } else //Sinon... { $menu.= ' '.$i.' '; } } $mess[1]=$plus; $mess[2]=$menu; $mess[3]=$moins; $mess[4]=$pg; $mess[5]=$lim; $mess[6]=$nombre_de_page; $mess[7]=$nombre_total_de_resultat; $mess[8]=$tuple; return $mess; } ?> Fondation ATEF OMAÃS - Burkina Faso

 

INVESTIR AU BURKINA FASO

LE CODE DES INVESTISSEMENTS LE CODE DES IMPOTS
LE CODE DES DOUANES LE CODE MINIER
LE CODE DES MARCHES PUBLICS  
   
 


Au Burkina Faso, une activité économique peut s'exercer soit dans le cadre d'une entreprise individuelle, soit dans le cadre d'une société : SA, SARL, GIE.

L'Entreprise individuelle : elle représente actuellement 80% de l'ensemble des entreprises répertoriées. Elle est très utilisée dans les secteurs du commerce (gros et détail) et des services, en particuliers : la restauration, bars, hôtellerie, gardiennage. Elles sont le plus souvent de très petites tailles.

La Société à Responsabilité Limitée (SARL) : c'est la forme sociétaire la plus répandue dans le pays.
Le capital doit être d'un million de francs CFA au moins. Il est divisé en parts sociales égales dont la valeur nominale ne peut être inférieure à cinq mille (5 000) francs CFA.
La SARL est une société dans laquelle les associés ne sont responsables des dettes sociales qu'à concurrence de leurs apports.
Elle est gérée par une ou des personnes physiques ou morales, associés ou non. Elles sont nommées dans les statuts ou dans un acte postérieur.
La SARL facilite l'accès au service des banques qui refusent fréquemment les crédits d'un certain montant aux personnes physiques.

La Société Anonyme (SA ) : c'est la forme juridique qui convient le mieux aux entreprises bien structurées.
Le capital minimum requis est de 10 millions de francs CFA. Les obligations légales que la SA implique en terme de tenue des livres comptables, de gestion  du personnel et de fiscalité, en font d'elle une structure juridique moins souple que la SARL.
Cette forme juridique prête bien la présence de partenaires étrangers dans le capital social au moyen d'apports et de savoir-faire.

Le Groupement Economique (GIE) : il fait l'objet d'une réglementation spécifique. Il est  surtout utilisé pour l'exercice d'activités commerciales.
Il est désormais possible de créer des entreprises unipersonnelles dans le cadre du traité OHADA.


   Quelles formalités ?
 
Pour effectuer des démarches de création d'une entreprise, des Centres de Formalités des Entreprises (CEFORE) ont été créés près la Chambre de commerce et d'industrie et d'Artisanat du Burkina Faso et leur gestion a été confiée à la Maison de l'Entreprise du Burkina Faso.
Ces Centres accueillent et accompagnent les entrepreneurs dans le processus de création, modification et de reprise d'entreprises.
Deux Centres sont actuellement fonctionnels : le CEFORE de Ouagadougou et celui de Bobo-Dioulasso.

  Formalités de Création d'entreprises

Ces centres de formalités des entreprises (CEFORE) permettent à un créateur d'effectuer en un même lieu, sur la base d'un document unique, les formalités liées à :
- l'inscription au Registre du commerce et du crédit immobilier  (RCCM),
- l'immatriculation aux services des impôts,
- l'affiliation à la sécurité sociale,
- l'immatriculation aux services du commerce.

 Formalités de création d'entreprises pour les personnes physiques
- Registre du commerce et du Crédit mobilier (RCCM) ;
- Déclaration d'existence fiscale et numéro de l'identifiant financier unique (IFU)
- Carte professionnelle de Commerçant  (CPC)
- Notification Employeur (CNSS)
Liste des Pièces requises à fournir pour l'ensemble de ces Formalités à demander au CEFORE.

Coûts :
. Recettes de services publics (RCCM) : 15 000 F CFA
. CPC : 15 000 F CFA
. Frais de l'imprimé vierge de la CPC : 2  390 F CFA
. Prestation CEFORE : 15 000 F CFA

 Formalités de création d'entreprises pour les personnes morales
 
- Registre du commerce et du Crédit mobilier (RCCM) ;
- Déclaration d'existence fiscale et numéro de l'identifiant financier unique (IFU)
- Notification Employeur (CNSS)
Liste des Pièces requises à fournir pour l'ensemble de ces Formalités à demander au CEFORE.

Coûts :
. Recettes de services publics (RCCM) : 15 000 F CFA
. CPC : 15 000 F CFA
. Prestation CEFORE : 30 000 F CFA

  Autres Formalités liées à des activités spécifiques


Formalités Lieu Délai Coût (F CFA)
Autorisation spéciale d'import ou d'export CGU (Centre des Guichets Uniques) Séance tenante 1 855
Autorisation spéciale d'import ou d'export CGU (Centre des Guichets Uniques) Séance tenante 300
Exonérations douanières CGU (Centre des Guichets Uniques) Séance tenante 0
Certificat d'origine CGU (Centre des Guichets Uniques) Séance tenante 150
Visa du monopole CGU (Centre des Guichets Uniques) Séance tenante 0
Agrément en qualité de fournisseur de l'Etat CGU et Direction du Contrôle financier 48 heures pour le certificat administratif 200
Déclaration d'investissement pour réaliser une unité industrielle CGU (Centre des Guichets Uniques) 24 heures 2000
Agrément au code des investisseurs CGU (Centre des Guichets Uniques) Le plus rapidement possible 15 000 à
1 000 000
suivant l'importance


  Caractéristiques du code des investissements ?

Généralités

Le Burkina Faso s'est doté en 1995 d'un Code des Investissements créant un cadre juridique et institutionnel attractif applicable à tout investisseur.
La présente loi portant Code des Investissements a pour objet la promotion des investissements productifs concourant au développement économique et social du Burkina Faso.
Le présent Code vise la création et le développement des activités orientées vers :
- la promotion de l'emploi et la formation d'une main d'œuvre nationale ;
- la valorisation des matières premières locales ;
- la promotion des exportations ;
- la production des biens et services destinés au marché intérieur ;
- l'utilisation de technologies appropriées, la modernisation des techniques locales et la recherche au développement ;
- la mobilisation de l'épargne nationale et l'apport de capitaux ;
- la réalisation des investissements dans les localités se situant au moins à cinquante kilomètres des centres urbains à préciser par décret .

Ces dispositions reflètent bien la volonté du pays de favoriser les investisseurs, quelle que soit leur nationalité, qu'ils soient personne physique ou personne morale, dès lors qu'ils sont régulièrement établis dans le pays.
Le champ d'application est très large couvrant toutes les activités de production, de conservation, de transformation de matières premières ou de produits semi-finis ainsi que  les prestations de services (23 Articles).

Les entreprises exerçant exclusivement une activité de prospection ou d'exploitation commerciale de ressources minières relèvent d'un code spécifique assorti d'avantages fiscaux particuliers : le Code Minier (loi du 08 mai 2003)

Le code des Investissements dans ses régimes d'agréments (Loi n° 027/99/ du 25/11/1999) a instauré six régimes prévus à l'article 6 bénéficiant d'une fiscalité  privilégiée.
Toute entreprise désirant bénéficier des avantages de l'un de ces régimes privilégiés doit déposer auprès du Ministère chargé de l'Industrie un dossier de demande d'agrément.
La décision du Ministre est notifiée sous un délai qui n'excède pas 37 jours après le dépôt du dossier.


 

Domaine d'Activité

Investissement(FCFA)
Nbre d'Emplois permanents à créer

Avantages Fiscaux au démarrage

Avantages fiscaux à l'exploitation

Régime A

Projets d'entreprise de  production, de conservation ou de transformation.

Inférieur à
20 000 000

3 emplois au moins

Exonération complète de droits douaniers sur les équipements importés.

Exonération totale de fiscalité intérieure sur les équipement locaux

Exonération complète
IBIC et IMFPIC pendant 5 ans
Patente : 2 ans

Réduction de 50%Patente pendant les 3e,4e,5e années

Régime B

Projets d'entreprise de production, de conservation ou de transformation.

20 000 000 au moins

7 emplois au moins

Exonération complète de droits douaniers sur les équipements importés.

Exonération totale de fiscalité intérieure sur les équipements locaux

Exonération complète
IBIC et IMFPIC pendant 5 ans
Patente : 5 ans
IRVM, TPA et TMB : 5 ans

Réduction de 50%
IBIC, IMFPIC, patente, IRVM, TPA et TBM pendant les 6ème, 7ème et 8ème années

Régime C

Projets d'entreprise de production, de conservation ou de transformation

500 000 000 au  moins

50 emplois au moins

Exonération complète de droits douaniers sur les équipements importés.

Exonération totale de fiscalitérieure sur les équipements locaux

Exonération Complète
IBIC et IMFPIC pendant 6 ans
Patente : 6 ans
IRVM,TPA et TMB : 6 ans

Réduction de 50%
IBIC, IMFPIC, patente, IRVM, TPA et TBM pendant les 6ème, 7ème et 8ème années

Régime D

Projets d'entreprise de prestation de services

10 000 000 au moins

7 emplois au moins

Exonération complète des droits intérieurs sur les équipements locaux

Exonération totale de fiscalité douanière  sur les équipements importés

Exonération Complète
IBIC et IMFPIC pendant 5 ans
Patente : 5 ans
IRRVM, TPA et TMB : 5 ans

A partir de la 6ème année, régime de droit commun

Régime E

Projets d'entreprise de prestation de services

500 000 000 au  moins

30 emplois au moins

Exonération complète de droits douaniers sur les équipements importés

Exonération totale de fiscalité intérieure sur les équipements locaux

Exonération complète
IBIC et IMFPIC pendant 6 ans
Patente: 6 ans
IRVM, TPA et TMB : 6 ans

A partir de la 7ème année, régime de droit commun

Régime Entreprises d'Exportation

Entreprises nouvelles tournées exclusivement vers l'exportation avec possibilité d'écouler 20% de la production sur le marché national

Pas de limites

 

Exonération complète des droits douaniers sur les matériaux et équipements, pour bâtiment, les matériels, les pièces de rechange et les véhicules nécessaires à l'exploitation. Exonération totale de fiscalité intérieure sur les équipements locaux 

Exonération totale et permanente de l'IMFPIC, patente, IRVM, TPA et TBM

Réduction permanente de l'IBIC au taux de 50 % pouvant atteindre 75% lorsque les matières premières locales sont consommées représentant au moins 80% des consommations totales

.
IRVM : impôt sur le revenu des valeurs mobilières
TBM : taxes de biens de mainmorte
IBIC : impôt sur les bénéfices industriels et commerciaux
IMFPIC : impôt minimum forfaitaire sur les professions industrielles et commerciales
TPA : taxe patronale et d'apprentissage


  Le code minier

Les prospections minières menées au Burkina Faso, ont décelé d'énormes potentialités avec la présence d'or, de phosphate, de bauxite blanche, de minerai de manganèse, de cuivre, de zinc, de plomb, d'antimoine et de nickel.
En dehors des activités de prospection et de recherche, actuellement en pleine croissance, l'activité minière se limite à l'exploitation de l'or.
Le Code Minier de 1997, octroie d'importants avantages douaniers et fiscaux d'une part dans la phase de recherche et d'autre part dans la phase d'exploitation.

  Durant la phase de recherche

Les avantages sont les suivants :
 Admission temporaire des matériels professionnels.
 Exonération totale de droits de douane sur les pièces de rechanges, carburant, lubrifiants, matières premières et autres équipements utilisés pour la recherche.
 Exonération de la patente et des licences.
 Exonération de la TVA.
 Exonération de l'IBIC de l'IMFPIC et de la TPA.
 Exonération des droits d'enregistrement.

  Durant la phase d'exploitation

Les détenteurs de permis d'exploitation jouissent des avantages suivants :
 Le taux cumulé des droits et taxes sur les matériels et matériaux d'équipements de production et sur le premier lot de pièces de rechange est plafonné à 11%
 Idem pour les carburants, lubrifiants et matières premières importées
 Réduction de 65% de l'IBIC
 Exonération complète pendant sept ans de l'IMFPIC, de la patente, la TPA et la TMB
 Réduction de 87,5% de l'impôt sur les valeurs mobilières.

La stabilisation du régime fiscal douanier est garantie aux titulaires de permis d'exploitation et bénéficiaires d'autorisation d'exploitation pendant toute la période de validité du permis ou de l'autorisation.
 

  Fiscalité

  Les Impôts Directs

 Impôts sur les bénéfices industriels et commerciaux et agricoles (IBIC)
Pour les entreprises relevant du régime du bénéfice réel, le taux est de 35%. Le bénéfice imposable est établi sous déduction de toutes charges y compris des frais généraux engagés dans le cadre de la gestion normale de l'entreprise, des amortissements et provisions régulièrement inscrits dans la comptabilité et des impôts  autres que les IBIC payés par l'entreprise.
Les déficits sont reportables à la fin de la 4e année suivant l'exercice déficitaire.
Le montant de l'impôt est établi forfaitairement lorsque le chiffre d'affaires annuel TTC n'excède pas 15 millions FCFA pour des opérations d'achat et de revente de marchandises ou de fournitures de logement.
 Il en est de même pour les autres activités lorsque le  chiffre d'affaire TTC annuel n'excède pas 5 millions FCFA.
Dans tous les autres cas, le régime du bénéfice réel est applicable.

 Impôts sur les bénéfices non commerciaux (IBNC)
Le taux est le même que celui de IBIC, soit 35% sans que le montant de l'impôt ne puisse être inférieur à 100.000 FCFA.

 Impôt minimum forfaitaire sur les professions industrielles et commerciales (IMFPIC)
Il s'agit d'un acompte sur l'IBIC applicable aux personnes physiques et morales relevant du régime du réel. Son montant est égal à 0,5% du chiffre d'affaires TTC de l'exercice précédent sans pouvoir être inférieur à 100.000 FCFA

 La taxe patronale et d'apprentissage (TPA)
Elle est due par tout employeur privé. Son taux est de 4% des salaires bruts versés lorsqu'il s'agit de salariés nationaux et de 8% lorsqu'il s'agit d'étrangers.

 La patente
Cet impôt annuel comporte une partie fixe et un droit proportionnel. Le droit fixe est déterminé sur la base du chiffre d'affaires réalisé au cour de l'avant dernier exercice précédent celui de l'année d'imposition ou par le chiffre prévisionnel dans le cas des entreprises nouvelles. Dans le cas général, le montant du droit fixe atteint :
- 5 000 F CFA pour un chiffre d'affaires de 1 million F CFA
- 125 000 F CFA pour un chiffre d'affaires compris entre 30 et 50 millions
- 400 000 F CFA pour un chiffre d'affaires compris entre 150 et 200 millions.
Le droit proportionnel est assis sur l'ensemble des valeurs locatives des locaux professionnels selon un taux unique de 8%.

 Taxes des biens de mainmorte (TBM)
Il s'agit d'une taxe spécifique due par les sociétés par actions et propriétaires d'immeubles.

 Impôt sur le revenu des valeurs mobilières (IRVM)
Il s'agit d'une taxe spécifique qui frappe les dividendes, les intérêts de dépôts et de créances et autres revenus de même nature.

 Contribution du secteur boisson (CSB)
Il s'agit d'un système de fiscalité globale couvrant l'ensemble des droits et taxes exigibles des personnes exerçant leur activité dans le secteur des boissons de fabrication locale. Son montant est de 3% du montant brut des achats TTC.

 Contribution du secteur élevage (CSE)
Contribution exigible des marchands de volailles, bétails et peaux brutes destinés à l'exportation. Les tarifs appliqués lors de la déclaration en douane sont :
Bovins : 2 500 F CFA par tête
Ovins et caprins : 150  F CFA par tête
Volailles : 50 F CFA par tête
Peaux brutes : 100 F CFA par kilo

 Contribution du secteur informel (CSI)
Il existe également une contribution du secteur informel dont le montant annuel maximal est de 100.000 FCFA. Cette taxe ne concerne pas les entreprises régulièrement déclarées.

  La TVA

Il s'agit de taxes spécifiques calculées :
-sur les boissons non alcoolisées : 10%
-sur les boissons alcoolisées : 25%
-sur le café et le thé : 10%
-sur le tabac importé : 95%
-sur le tabac de fabrication locale : 13%
-sur la cola : 10%

  Droits de douane
Le code douanier en vigueur est celui de l'UEMOA. Il est conçu pour favoriser la libération des échanges et promouvoir les exportations.

 Importation
L'ensemble des produits sont regroupés en quatre catégories :
- La catégorie 0 : biens sociaux essentiels relevant d'une liste limitative. Le droit de douane est de 0%.
- La catégorie I comprend les produits de première nécessité, matières premières de base, biens d'équipement ainsi que des engrais et autres intrants agricoles. Le droit de douane applicable à l'importation est de 5% de la valeur CAF.
- La catégorie II est celles des intrants et produits intermédiaires, c'est-à-dire des matières premières ou matières d'œuvre entrant dans la fabrication d'autres produits et biens d'équipement. Le droit de douane applicable à l'importation est de 10%.
- La catégorie III regroupe des biens de consommation finale et l'ensemble des autres produits. Son droit de douane à l'importation est de 20%.
A ces droits, il convient d'ajouter la redevance statistique à l'importation de 1%, le prélèvement communautaire de 0,5% et le prélèvement communautaire de solidarité de 1%. La TVA est récupérable.

 Exportation
Tous les droits et taxes à l'exportation ont été supprimés. De plus, les produits sont exemptés de la TVA. En outre, les exportateurs peuvent bénéficier du régime d'admission temporaire  ainsi que les entrepôts hors douanes suivants :
- entrepôt réel public (durée de séjour : 5 ans)
- entrepôt fictif privé (durée de séjour :18 mois)
- entrepôt spécial (durée de séjour : 3 ans)
- entrepôt industriel (durée de séjour : 1 an)


  Protection sociale

Les textes régissant le droit du travail sont le Code du Travail (loi du 22 décembre 1992) et la Convention collective nationale interprofessionnelle.
  Le contrat de travail
Les entreprises peuvent librement recruter leur personnel directement ou s'adresser, si elles le désirent, à l'Office National de la Promotion de l'Emploi.
Le contrat de travail est conclu librement dans la forme qui convient aux deux parties. Les contrats de travail peuvent également être à durée indéterminée ou à durée déterminée. Ils peuvent également être à temps partiel ou saisonniers.

Le contrat de travail  à durée déterminée ne peut être conclu pour une durée supérieure à deux années. Lorsque le contrat prévoit une période d'essai, la durée de celle-ci doit être stipulée par écrit. Il en est de même pour le préavis.
Pendant la période d'essai, chacune des deux parties a le droit de mettre fin à tout moment au contrat de travail sans aucune indemnité de préavis.

La durée hebdomadaire du travail est en principe de 40 heures. Au delà, les heures supplémentaires font l'objet d'une majoration de salaire. Le travail de nuit, de même que celui des femmes et des enfants est réglementé.
Nul ne peut être engagé avant l'âge de 14 ans. Le repos hebdomadaire obligatoire est au minimum de 24 heures consécutives.
Les entreprises ayant plus de 10 salariés doivent faire élire un délégué du personnel.

  Protection sociale

Le salaire minimum interprofessionnel garanti (SMIG) est fixé par mois pour une durée hebdomadaire de travail de 40 heures.
Par ailleurs, la législation encadre les contrats à durée déterminée qui ne peuvent être renouvelés qu'une fois.

Le Burkina Faso est doté d'un système de sécurité sociale qui est géré par la Caisse Nationale de Sécurité Sociale (CNSS)

Toute personne physique ou morale, publique ou privée et employeur est tenue d'immatriculer auprès de la CNSS tout son personnel  salarié dans les 8 jours suivant son embauche.
L'employeur doit verser à la CNSS les cotisations sociales de ses salariés au titre des trois branches suivantes :
- Branche prestations familiales
- Branche risques professionnels
- Branche assurances vieillesse

Le total des charges salariales pour l'employeur est de 19%. L'assiette des cotisations est comprise entre un plancher égal au SMIG et un plafond mensuel de 200 000 FCFA.
Le paiement est mensuel pour les entreprises comptant au moins 20 salariés et trimestriel pour les autres.
La médecine du travail  est assurée par l'Office de Santé des Travailleurs (OST). Tous les travailleurs ont droit à une visite médicale annuelle. Le coût mensuel de l'affiliation s'échelonne entre 15.000 FCFA pour les entreprises de moins de 30 salariés,  à 50 000 FCFA pour 50 salariés, à 100 000 FCFA pour moins de 500 salariés.

  Congés Payés

Le congé est un droit payé par l'employeur sur la base de 2,5 jours ouvrables par mois complet de présence dans l'entreprise.
Le congé de maternité est fixé à 14 semaines. Pendant une période de 15 mois à compter de sa reprise de travail, la mère a droit à un repos pour allaitement d'une durée d'une heure et demie par journée de travail.
Les jours fériés sont payés.

  Les salaires

Il existe une grille de salaires moyens bruts en vigueur dans les petites entreprises du secteur privé, incluant primes éventuelles et avantages divers.
Le salaire minimum interprofessionnel garanti (SMIG) est de 287,18 F CFA par heure depuis mai 1999.  A ces coûts, qui peuvent varier selon la taille des établissements et branches d'activités s'ajoutent les charges sociales.
Une commission mixte paritaire de la convention collective décide des classifications et des salaires de base.

  Charges sociales sur salaires
- Branche prestations familiales :11,5% entièrement à la charge de l'employeur
- Branche risques professionnels : 2,5% entièrement à charge de l'employeur
- Branche assurance vieillesse : 9%, dont 5% à charge de l'employeur
L'assiette des cotisations est comprise entre un plancher correspondant au SMIG et un plafond de 200 000 F CFA.
A ces cotisations, il faut ajouter la taxe patronale et d'apprentissage au taux de 4% pour  les nationaux et 8% pour les expatriés, entièrement à la charge de l'employeur.


  Le financement du projet

Membre de l'UEMOA, le Burkina Faso  a mis en place une politique d'octroi de crédit par les banques qui s'inscrit dans le cadre général de la politique de la monnaie et de crédit définie par la Banque Centrale par la BCEAO (Banque Centrale des Etats de l'Afrique de l'Ouest).
Les banques Burkinabé se caractérisent par une forte liquidité de ressources à court terme résultant des dépôts faits par les agents économiques. Parallèlement, la part des crédits à court terme est supérieure à celle des crédits à moyen terme.
La proportion de crédit à long terme est inférieure à 10%. Les taux actuels du crédit sont compris généralement entre 8,25% et 17% en fonction de la qualité du dossier. L'apport personnel demandé dans un projet de financement doit être au moins de 35%.

  Le financement du système bancaire

Dans le pays, l'intermédiation du système bancaire se réalise au profit d'opérations commerciales pour assurer la création et le développement des entreprises.
Le réseau bancaire du Burkina compte actuellement une dizaine de banques :
 La BACB (Banque Agricole et Commerciale du Burkina) très spécialisée sur les activités agricoles ou agro-alimentaires.
 La BICIA-B ou Banque Internationale pour le commerce, l'industrie et l'agriculture du Burkina avec une vingtaine d'agences dans le pays..
 La BIB ou Banque internationale du Burkina et une vingtaine d'agence dans le pays.
 La BCB ou Banque commerciale du Burkina
 L'ECOBANK est une banque ouverte dans tous les pays de la CEDEAO
 La Bank of Africa
 La SGBB ou Société générale de banque au Burkina
 La BRS (Banque Régionale de Solidarité)
 La BSIC (Banque Sahélo-Sahélienne d'Investissement et du Commerce

  Les Etablissements financiers

Le FSIDEC, établissement public international qui intervient dans des secteurs aussi variés que l'industrie, l'agriculture, l'élevage, la pêche, commerce, le transport et le tourisme.
Les sociétés d'Assurances sont au nombre de quatre :
La FONCIAS, la SONAR (Société nationale d'assurances et de réassurances), l'UAB (l'Union des assurances du Burkina et la Générale des Assurances).

  Sources informelles et alternatives de financement

Les banques ne s'intéressent pas aux petites entreprises (PE) sous prétexte qu'elles sont insaisissables et ne présentent pas de garanties. Or, ces petites entreprises ont besoin de capitaux pour se lancer et financer leur développement : dans les deux tiers des cas, c'est grâce à leur apport personnel qu'elles se créent.
Cependant, d'autres cas peuvent être envisagés. Le crédit fournisseur par exemple qui est considéré comme une source informelle de financement car basé sur des relations personnelles. Des emprunts peuvent aussi être contractés dans la famille au sens large.

L'épargne collective, la tontine : Elle réunit un certain nombre de personnes qui se sont librement cooptées, et cotisent à date fixe une somme variable (de 25 FCFA à 1 million selon les tontines : tous les mois, toutes les semaines, les jours de marché. Chaque  membre reçoit à tour de rôle des cotisations mais le non-respect des règles de la tontine peut entraîner des sanctions pour tout contrevenant.
C'est une forme d'épargne rotative qui rassemble des amis ou des personnes liées par un intérêt commun. La tontine est un moyen efficace pour épargner entre amis et surtout  démarrer un projet (les commerçants pour leur capital de départ, les femmes qui vendent sur les marchés savent bien l'utiliser).

  Le financement au plan international

Divers organismes peuvent intervenir pour financer des projets de création développement et de restructuration au Burkina Faso.

 L'Organisation Internationale de Francophonie (OIF)
Quatre missions s'inscrivent dans son cadre stratégique :
- la promotion de la langue française et de la diversité culturelle et linguistique ;
- la promotion de la paix de la démocratie et des droits de l'Homme.
- l'appui à l'éducation, la formation, l'enseignement supérieur et la recherche ;
- le développement de la coopération au service du développement durable et de la solidarité.
Dans son programme "FFS-PME" (Fonds Francophone de Soutien à la PME). Il finance les micro-entreprises à forte valeur ajoutée locale, des secteurs identifiés comme prioritaires (bâtiment et construction, textile, agro-alimentaire...).
Il peut aussi intervenir financièrement par l'intermédiaire du Fonds Francophone de Développement pour répondre aux activités productives des groupements associatifs professionnels et coopératifs.

 La Société Financière Internationale (SFI) filiale de la Banque Mondiale finance des projets dans des secteurs très divers : agro-industrie, tourisme.

 L'Agence Française de Développement (AFD) et sa filiale Proparco. Cet organisme dispose de nombreux produits financiers couvrant l'ensemble des étapes d'un projet, du financement de l'étude préalable à celui des investissements (prêts à moyen et long terme pour les très petites entreprises).
Il existe aussi un Fonds de Préparation de Projets Privés (F3P). Ce fonds est destiné à financer les études, pour des projets de création, de développement et diversification ou de privatisation au profit d'entreprises de production ou de services dans un cadre concurrentiel, jugées utiles au développement du pays.

 Le Fonds Européen de développement (F.E.D.) finance tout projet ou programme contribuant au développement économique, social ou culturel des pays de l'ACP (Afrique Caraïbe et Pacifique) dans le cadre de la Convention de Lomé.

 Le Centre pour le Développement des Entreprises (CDE) Cet organisme joue un rôle d'intermédiaire entre l'Europe et les pays ACP. Il met en relation des entrepreneurs des pays ACP et des états membres de l'Union Européenne apportant leur technologie et leur savoir-faire. Il joue également un rôle d'interface entre les entreprises partenaires et des organismes financiers susceptibles de financer des projets de développement.