'.$_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; } ?> site officiel du bureau Fatom-Bénin

INVESTIR AU BENIN

LE CODE DES INVESTISSEMENTS LE CODE DES IMPOTS
LE CODE DES DOUANES LA CREATION D'ENTREPRISES
LE CODE DES MARCHES PUBLICS EXONERATION EN DOUANE
   
NB: source d'information le site du gouvernement béninois www.gouv.bj

 

Vous vivez au Bénin ou à l’étranger et vous voulez investir au Bénin ? Le présent document  vous présente les structures en charge de la promotion de l’investissement, le cadre macroscopique juridique, les potentialités d’investissement et les procédures à suivre pour investir au Bénin.

I - Structures en charge de la promotion des investissements au Bénin

Globalement, deux structures se chargent de la promotion de l’investissement au Bénin. Il s’agit du Centre de Formalités des Entreprises (CFE) et du Centre de Promotion des Investissements (CPI). Toutefois, il existe d’autres structures qui pourraient apporter leur concours, soit pour aider, soit pour les orienter les investisseurs.
Un code des investissements au Bénin est disponible à cet effet.

A - Le Centre de Formalités des Entreprises (CFE) : un département de la Chambre de Commerce et d’Industrie du Bénin

Le Centre de Formalités des Entreprises (CFE) ou Guichet Unique a été créé par le décret n°97-292 du 19 juin 1997. Il a compétence pour toutes les formalités relatives à la création des entreprises et à leur modification, à la création d'établissements secondaires, à la cessation d’activités et à la dissolution des entreprises. Le CFE a son siège à la  Chambre de Commerce et d'Industrie du Bénin (CCIB, www.ccib.bj) et est dépendant de cette structure faîtière. Il accueille et informe tout opérateur économique sur les textes légaux et réglementaires qui régissent les entreprises et les investissements au Bénin. A l’endroit des usagers il communique la liste des documents à fournir selon la nature de l’opération et en assure le traitement en veillant au respect des délais légaux. Il est créé dans chaque antenne départementale (Lokossa, Porto-Novo, Abomey, Parakou, Natitingou) de la CCIB, un CFE.

B - Le Centre de Promotion des Investissements du Bénin

Le CPI est un organisme sous la tutelle du Ministère de l’Economie, de la Prospective, du Développement et de l'Evaluation de l'Action Publique (MEPDEAP). Il est créé par le décret N° 98-298 du 20 juillet 1998. Parmi ses attributions figurent en bonne place la mise en œuvre de la loi 90-002 du 09 mai 1990 portant sur le Code des investissements.
 
Le Centre de Promotion des Investissements a pour objet de favoriser le développement et la promotion des investissements au Bénin. A ce titre, il est chargé de :
1. accueillir et conseiller les investisseurs nationaux et étrangers afin de faciliter la réalisation rapide de leurs projets ;
2. initier toutes mesures susceptibles d’améliorer le climat des investissements au Bénin ;
3. promouvoir les investissements au Bénin en utilisant les moyens promotionnels appropriés (forums, conférences, séminaires, etc.) ;
4. constituer une banque de données sur l’économie nationale, régionale, internationale et sur les opportunités d’investissement au Bénin ;
5. susciter les études de filières et contribuer à leur réalisation ;
6. exploiter les résultats des études de filières et élaborer des fiches de projet ;
élaborer et diffuser des ouvrages promotionnels sur les conditions d’investissement au Bénin ;
7. assister les investisseurs potentiels dans le choix de leurs projets et dans leur démarche avec l’administration et le secteur privé ;
8. favoriser les échanges et le partenariat entre les investisseurs nationaux et étrangers et la réalisation de projets en « joint-venture » ;
9. participer à des forums sur la promotion des investissements au Bénin et à l’étranger;
10. appuyer les bureaux d’études afin de renforcer les capacités locales de conseils et d’expertise ;
11. instruire les dossiers de demande d’agrément au code des investissements et suivre la réalisation des projets agréés ;
12. coopérer avec les organismes de promotion des investissements aux plans bilatéral et multilatéral ;
13. assurer toutes autres fonctions pouvant concourir à la promotion des investissements.

C - Autres structures de promotion de l’investissement

  • Le Centre Béninois du Commerce Extérieur (http://cbce.africa-web.org)
  • Le Centre International de Développement et de Recherche(CIDR)
  • Autres structures de promotion de l'investissement

 II- Les potentialités et les raisons d’investir au Bénin

En effet, un environnement politique stable, un cadre macro économique en constante amélioration, des investissements en pleine augmentation dans plusieurs secteurs d’activités , une situation économique performante et en pleine consolidation, un  contexte juridique et juridictionnel très favorable, une politique incitative de promotion des investissements sont autant d’atouts qui positionnent aujourd’hui le Bénin comme un univers riche en potentialités où investir

A – Les potentialités

a) Minières

On identifie dans cette catégorie les ressources minières, les matériaux de construction et combustibles fossiles et enfin les hydrocarbures
- Les ressources minières regroupent  : l’or (Le gisement filonien de Perma, les gisements alluvionnaires), le fer, les phosphates.

- Dans la catégorie des matériaux de construction, on retrouve : le calcaire, le marbre, les argiles, la terre de barre, le kaolin, le sable, le gravier, les pierres ornementales.

- Quant aux hydrocarbures, le Bénin dispose des réserves qui se présentent comme suit : 5250 millions de barils de pétrole brut ; 200 millions de barils de Condensat et enfin de 91 milliards de m3 de gaz.

b) Agro-alimentaire

Le secteur rural assure au Bénin plus de 75 % des recettes d’exploitation selon les chiffres rendus publics par le CPI en novembre 2007. Dans le secteur rural, les capacités sont énormes et les perspectives prometteuses.  En matière agricole, on note des potentialités suivantes :
Céréale (maïs, sorgho, riz, mil) ;  tubercules et plantes à racine (Igname, manioc, patate douce, pomme de terre, taro, etc.) ; légumineuses à graines ; oléagineux ; cultures maraîchères ; cultures fruitières ; anacarde ; coton ; élevage ; pêche.
L’agriculuture exportatrice du Bénin, met particulièrement l’accent sur le coton, l’ananas, le palmier à huile, et la noix d’anacarde.

c) Touristiques

Les potentialités touristiques se présentent en trois volets :

- Le volet culturel embrase les musées historiques, les musées ethnographiques et les palais royaux, les cérémonies folkloriques de valeur artistique et touristique très appréciée.

- Ensuite vient le volet « safari tourisme » qui touche  les parcs nationaux de Pendjari  (275.000 hectares) et de W (570.000 hectares). On y découvre la faune riche et variée  composée d’éléphants, de buffles, d’antilopes, d’hippopotames, de crocodiles,  d’oiseaux ainsi qu’une flore variée.

- Enfin, on note comme potentialités touristiques le  tourisme de découverte. Il s’agit de la découverte des plages de sable fin à l’ombre des cocotiers, des cordons littoraux, les lagunes et lacs, les chutes et cascades, les villages lacustres sur pilotis, les sources thermales etc…

D – Autres atouts pour investir au Bénin

Les autres atouts qui attirent l’investisseur sont liés  aux infrastructures de qualité créées pour soutenir les investissements.
En effet, le Bénin dispose d’un réseau routier en pleine expansion qui relie les principaux centres économiques à Cotonou ainsi que les capitales des pays côtiers (Lagos, Lomé, Accra) et de l’hinterland (Niamey, Ouagadougou, Bamako..).
Le réseau routier est soutenu par la voie ferrée. D’une longueur de 438 km, le réseau ferroviaire métrique joue un rôle essentiel dans le drainage de certains produits entre Cotonou et Parakou. Les réseaux routiers et ferrés permettent au Port de Cotonou, de jouer pleinement son rôle de couloir d’accès à la mer aux pays de l’hinterland. Ce Port en eau profonde, classé cinquième pour son efficacité en Afrique, dispose d’une capacité d’accueil de 2.000.000 de tonnes ainsi que d’importants ouvrages d’accostage.

Comme autre atout, il faut citer également le transport aérien.  Le Bénin y consacre aussi des moyens pour sa consolidation. L’Aéroport International de Cotonou dispose à ce jour d’une piste revêtue d’une longueur de 2.400 m, équipé d’aires de stationnement, de deux aérogares (passagers, fret) et d’autres infrastructures. Il dessert à partir de Cotonou, les principales villes internationales. Il faut noter très prochainement l’exécution du projet de construction d'un nouvel aéroport international à Glodjigbé dans la banlieue de Cotonou. Il faut aussi citer le service de cargo.

Avec un réseau de télécommunications à la pointe de la technologie, le Bénin offre des possibilités de communication par Internet et des liaisons par fibres optiques et satellites. L’opérateur Bénin Télécoms vient d’ailleurs de lancer un nouveau produit  « Zékédé » qui permet à chaque opérateur économique et usager d’être joignable partout sur l’ensemble du territoire national. L’accès à l’Internet est également garanti 24 heures sur 24 à partir d’un téléphone mobile qui fonctionne sur la base de la technologie  CDMA (Code Division Multiple Access est une technologie mobile de 3ème génération pour réseaux et combinés.). Côté GSM, quatre 4 sociétés exploitent actuellement la téléphonie cellulaire (Libercom, Telecel, MTN et BB Com.

III – Cadre Juridique

La mise en valeur des potentialités minières, rurales et touristiques exige un cadre juridique incitatif.

A – Une législation nationale favorable à l’initiative privée

• La loi nº 90-32 du 11 décembre 1990  relative à la Constitution de la République du Bénin stipule en son article 22 que « toute personne à droit à la propriété. Nul ne peut être privé de sa propriété que pour cause d'utilité publique et contre juste et préalable dédommagement ».

• La loi nº 90-002 du 9 mai 1990 portant Code des Investissements dispose:

Article 13 : Dans le but de faire jouer la libre concurrence, il est garanti que les entreprises publiques et privées, de nationalité béninoise ou étrangère, bénéficient au titre du présent Code, des mêmes droits et sont également soumises aux mêmes obligations.

Article 14 : Toute entreprise qui exerce une activité commerciale, industrielle, agricole, artisanale ou de service bénéficie, quel que soit le régime sous lequel elle exerce (droit commun ou régime privilégié), des garanties suivantes:
- liberté d'entrée, de séjour, de circulation, de sortie des agents expatriés et de leurs familles dans le respect des textes en vigueur;
- liberté commerciale;
- liberté de gestion;
- liberté de transfert des capitaux;
- la garantie que l'État béninois ne prendra aucune mesure de nationalisation.

Aux deux lois citées plus haut, s’ajoute la loi N° 90-004 du 15 mai 1990 régissant la déclaration de la main d’œuvre, les embauches, et les résiliations de contrats de travail, dans le cadre d’une sécurisation de l’investissement privé

B - Accords et conventions internationaux

Pour renforcer le cadre juridique de l'investissement et offrir plus de sécurité aux capitaux notamment étrangers, le Bénin a ratifié, successivement en 1993 et en 1994, la convention sur la création de l'Agence Multilatérale de Garantie des Investissements (MIGA) et le traité sur l’harmonisation du Droit des Affaires en Afrique (OHADA).

Sur le plan bilatéral, le Bénin a signé des accords de promotion et de protection des investissements avec plusieurs pays : Allemagne, Usa, Pays-Bas, Canada, Confédération suisse, Union économique belgo-luxembourgeoise, Burkina Faso, Ghana, Guinée Mali, Ile Maurice et Tchad.
En vue d’élargir ce champ, le Bénin est en négociation avec d’autres pays.
Par ces accords, le Bénin offre un cadre de traitement non discriminatoire ainsi qu’une protection physique et juridique des investissements.

IV - Les Formalités d'Installation

Au Bénin, l'exercice réglementaire d'une activité industrielle, commerciale ou de prestation de services est subordonné à la création régulière de l'entreprise ou société et à son immatriculation au registre du commerce.
Les formalités d'immatriculation au Registre du commerce varient selon qu'il s'agit d'une entreprise individuelle ou d'une société. Il est attribué aux personnes physiques ou entreprises individuelles le régime "A", et aux personnes morales ou sociétés, le régime "B". Après leur création et enregistrement, les entreprises ou sociétés doivent introduire une demande afin d’obtenir une autorisation d’installation. Cet acte sera délivré par le ministère assumant la tutelle de l’activité à entreprendre.

Pour plus d’amples informations relatives aux formalités de création et d’installation d’entreprise au Bénin, les investisseurs peuvent s’adresser aux structures de promotion de  l’investissement, à savoir :

- Le Centre de Formalités des Entreprises (CFE) ou Guichet  Unique dont le siège est à la  Chambre de Commerce et d’Industrie du Bénin.
Responsable : M. Isdeen BOURAIMA. Tél (00229)21 31 07 04  site : www.ccib.bj

Le Centre de Promotion des Investissements  (C.P.I) - Bénin  dont le siège se situe dans la rue en face de Toxilabo au quartier Maro-militaire à Cotonou . Adresse : 01 BP 2022 Cotonou, Tél. : (+229) 21 321 210 ou  21 324 771 ; Fax (229) 21 321 144, E-mail : mbankole@cpi-benin.com Cette adresse email est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir.

 



SIX RAISONS D'INVESTIR AU BENIN

1- Un environnement politique libéral et stable

Depuis 1991, le Bénin a amorcé une véritable révolution démocratique innovatrice en Afrique qui en fait un pays leader. La liberté de presse, la liberté d’association, les institutions républicaines concourent toutes au libre jeu démocratique qui fait du Bénin un pays d’exceptionnelle stabilité politique en Afrique.

2- Un environnement macro économique en constante amélioration

  • Une situation économique performante et en pleine consolidation
  • Des investissements en pleine augmentation
  • Un commerce extérieur en renforcement
  • Une bonne maîtrise de l’inflation
  • Une bonne tenue des finances publiques
  • Une bonne maîtrise de la dette publique extérieure

3- Un environnement juridique et juridictionnel très favorable

  • Un cadre légal et réglementaire incitatif
  • Un système juridictionnel en renforcement
  • Une politique incitative de promotion des investissements
  • Une politique active de lutte contre la corruption
  • Impacts des efforts d'assainissement de l'environnement des affaires

4- Des déterminants comparatifs

  • Une position commerciale unique dans l'Ouest africain
  • Des infrastructures de qualité pour soutenir les investissements
  • Des ressources humaines qualifiées avec un coût de travail compétitif
  • Une monnaie stable et librement convertible
  • Un système bancaire et financier en évolution

5- Des opportunités intéressantes d’investissement

  • Des possibilités d'acquisition qui s'offrent grâce aux privatisations en cours
  • Des filières sous-exploitées de l'Agroalimentaire et de l'Agro-industrie
  • Une opportunité d’installation de fabriques d’emballages
  • Un secteur touristique en expansion
  • Les Nouvelles Technologies de l'Information et de la Communication
  • Des possibilités d’investissement dans l’immobilier
  • Possibilité d’investissement dans le transport urbain
  • Possibilité d’investissement dans la gestion des ordures ménagères dans les principaux Centres urbains
  • Des possibilités d'investissement dans l’exploration et l'exploitation des réserves de ressources minières et d'hydrocarbures

6- Des services de facilitation de l’investissement privé au Bénin

  • Le Centre de Formalités des Entreprises (CFE)
  • Le Centre de Promotion des Investissements du Bénin (CPI-BENIN)

Source
• Centre d’accueil des entreprises : Je crée mon entreprise. Première édition CCIB
• « Potentialité et cadre de l’investissement au Bénin » (Le Centre de Promotion des Investissements  (C.P.I) - Bénin / Novembre 2007
• « En route vers une économie moderne de Marché » ou « Les raisons d’investir au Bénin » (Le Centre de Promotion des Investissements  (C.P.I) - Bénin / Novembre 2007 (www.cpi-benin-bj.com ou www.cpi-benin.com
• Agence pour la création d’entreprises : http://www.apce.com