'.$_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

CREER UNE ENTREPRISE AU BENIN

CONSTITUTION D’UNE ENTREPRISE DU REGIME A
Sont inscrites dans cette catégorie des entreprises individuelles à savoir les commerçants/personnes physiques.
Le Centre de Formalités des Entreprises de la Chambre de Commerce et d'industrie du Bénin est compétent pour recevoir l'ensemble des déclarations de création des entreprises individuelles.


FORMALITES

DESCRIPTION DES FORMALITES

FRAIS (F CFA)

NATIONAUX

ETRANGERS

Immatriculation au R.C.

5.000

7.000

Publication au J.O.

5.000

5.000

Inscription au fichier C.C.I.B

25.000

100.000

Première cotisation annuelle CCIB

10.000

50.000

Déclaration d’établissement

2.000

2.000

Carte professionnelle
de commerçant

5.000

5.000

Prestation C.F.E

20.000

20.000

TOTAL COUT FIXE

72.000

189.000

Inscription et cotisation à l’OBSS

Variable

Variable

Patente ou TPU

Variable

Variable

MONTANT TOTAL DES FRAIS

 

 

 

 

 

Liste des pièces à joindre au dossier (personne physique)

  • Casier judiciaire du dirigeant datant de moins de 3 mois
  • Copie légalisée de la carte d'identité ou passeport du dirigeant
  • 2 photos d'identité récentes du dirigeant (inscrire le nom derrière)
  • Timbre fiscal de 500 frs cfa
  • 2 Chemises à 3 rabats en carton
    Copie légalisée de la carte de séjour (pour les opérateurs étrangers)

N.B : Dans le cas d'embauche de salariés à la création

  • Imprimés CNSS
  • 2 photos d'identité de(s) employé(s) datant de moins de trois mois
  • Copie légalisée de la carte d'identité ou passeport et acte de naissance de(s) employé(s)
  • Copie certifiée conforme ou photocopie de la pièce d'état civil ayant servi à l'établissement de l'avis d'embauchage.

 

 

 

CONSTITUTION D’UNE ENTREPRISE DU REGIME B

 

FORMALITES

DESCRIPTION DES FORMALITES

FRAIS (F CFA)

NATIONAUX

ETRANGERS

Dépôt des statuts

5.000

5.000

Immatriculation au Registre
du commerce

10.000

12.000

Inscription au fichier C.C.I.B

25.000

100.000

Première cotisation annuelle CCIB

50.000

150.000

Insertion au journal d’annonce légale
(Journal officiel)

40.000

40.000

Carte de commerçant

25.000

25.000

Carte d’importateur

30.000

30.000

Déclaration d’Etablissement

2.000

2.000

Prestation CFE

40.000

40.000

TOTAL COUT FIXE

197.000
202.000

374.000
379.000

Patente ou TPU

Variable
(13 à 26% valeur locative)

Variable (13 à 26% valeur locative)

Inscription à l’OBSS

Variable (20 à 23% salaires brutes)

Variable (20 à 23% salaires brutes)

Acompte à l’OBSS

Variable

Variable

MONTANT TOTAL

 

 

 

 

 

Liste des pièces à joindre au dossier (personne physique)

  • 4 exemplaires originaux des statuts de la société dûment signés;
  • 4 photocopies des statuts;
  • Timbre fiscal de 1000 francs CFA;
  • Casier judiciaire du ou des dirigeants datant de moins de 3 mois;
  • Copie légalisée de la carte d'identité ou du passeport du dirigeant
  • Justificatif bancaire;
  • 3 photos d'identité récentes du dirigeant (inscrire le nom derrière)
  • 2 chemises à trois rabats en cartons si immatriculation au RCCM non exécutée;
  • Copie légalisée de la carte de séjour (pour les opérateurs étrangers)

- 4 exemplaires du procès verbal de l'Assemblée Générale constitutive dûment signés (lorsqu'il s'agit des S.A)
NB: Dans les cas d'embauche de(s) salarié(s) à la création

  • imprimer l'OBSS en autant d'exemplaires que de besoin
  • 2 photos d'identité et copie légalisée acte de naissance et carte d'identité/ passeport pour chaque employé à déclarer
  • Copie certifiée conforme ou copie de la pièce d'état civil ayant servi à l'établissement de l'avis d'embauche.

 
Les types d'entreprises reconnus au Bénin sont régis par les Actes Uniformes du traité de l'Organisation pour l'Harmonisation en Afrique du droit des affaires (OHADA) en vigueur depuis le 1er janvier 1998. Ce traité a uniformisé le droit des affaires dans l'ensemble des pays africains.
On distingue en général au Bénin deux (02) formes juridiques d'entreprises notamment l'Entre- prise Individuelle et la Société.
L'ENTREPRISE INDIVIDUELLE
L'Entreprise individuelle est enregistrée sous le Régime A et est communément appelée Etablissement. Elle se caractérise notamment par :
* L'exercice de l'activité par l'entrepreneur de façon indépendante; Elle est constituée par une seule personne;
* La non -distinction du patrimoine de l'entreprise et des biens propres de l'entrepreneur.
L'avantage de l'entreprise individuelle est que le promoteur exploite ses affaires pour son propre compte et n'a pas de capital à constituer.
L'inconvénient est que le patrimoine personnel de l'entrepreneur est engagé: toute perte ou faillite est imputée à ses biens propres ou familiaux ( responsabilité illimitée)
LA SOCIETE
Au Bénin, une société peut être constituée par une personne physique ou morale ou entre deux ou plu- sieurs personnes physiques ou morales.
Les formes de société que l'OHADA distingue sont au nombre de sept (07)
La Société à Responsabilité Limitée (SARL)
La Société à Responsabilité Limitée (SARL) est constituée par un associé (SARL unipersonnelle) ou entre deux ou plusieurs associés. Ceux-ci sont responsables des dettes sociales à concurrence de leurs apports au capital social et leurs droits sont représentés par des parts sociales.
Le capital social doit être de un million (1.000.000) de francs CF A au moins et doit être libéré intégralement et immédiatement. 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 gérée par une ou plusieurs personnes physiques, associées ou non. Un commissaire aux comptes peut être également désigné pour le con- trÔle de la gestion de la société.
Cette désignation devient obligatoire pour la SARL dont le capital social est supérieur à dix millions (10.000.000) de francs CFA ou qui remplit l'une des deux conditions suivantes :
* Chiffre d'affaires annuel supérieur à deux cent cinquante millions (250.000.000) de francs CFA.
* Effectif permanent supérieur à 50 personnes.
La Société Anonyme (SA)
La Société Anonyme (SA) est une société commerciale dont les associés ou " actionnaires " détiennent un droit représenté par un titre négociable appelé « action » Ils ne supportent les pertes éventuelles qu'à concurrence de leurs apports.
Il est possible de constituer une SA ou d'en maintenir durablement l'existence avec une seule personne physique ou morale (SA unipersonnelle)
Le capital social minimum est fixé à dix millions (10.000.000) de francs CF A et le quart libéré immédiatement. Il est divisé en actions dont le montant nominal ne peut être inférieur à dix mille (10.000) francs CF A.
Le mode d'administration de chaque société anonyme est défini dans ses statuts. C'est ainsi que l'on distingue:
* La société anonyme avec Conseil d'Administration : elle est dirigée soit par un Président - Directeur Général, soit par un Président du Conseil d'Administration et un Directeur Général.
* La Société Anonyme avec Administrateur Général; Elle est dirigée par un Administrateur Général qui assume, sous sa responsabilité, les fonctions d'administration et de direction de la société. C'est le cas des SA dont le nombre d'actionnaires est égal ou inférieur à trois.
La Société en Nom Collectif ( SNC )
Elle ne regroupe qu'un petit nombre d'associés (au moins deux) qui se connaissent et se font mutuellement confiance. Le capital social est divisé en parts sociales de même valeur nominale.
* Le décès ou l'incapacité de l'un des associés met généralement fin à la société ;
* Tous sont solidairement et indéfiniment responsables des dettes sociales (comme dans le cas de l'entreprise individuelle)
La gestion d'une Société en Nom Collectif ( SNC ) est assurée par un Gérant associé ou non.
La Société en Commandite Simple (SCS)
C'est une société dans laquelle coexistent un ou plusieurs associés indéfiniment et solidairement responsables des dettes sociales dénommés " associés commandités ", avec un ou plusieurs associés qui ne sont responsables des dettes sociales que dans la limite de leurs apports dénommés " associés commanditaires " ou " associés en comma dite ", et dont le capital est divisé en parts sociales.
La SCS est gérée par tous les associés commandités, sauf stipulation contraire des statuts qui peu- vent désigner un ou plusieurs gérants, parmi les associés commandités.
La Société en participation
La société en participation est celle dans laquelle les associés conviennent qu'elle ne sera pas immatriculée au Registre du commerce et du crédit mobilier et qu'elle n'aura pas la personnalité morale. Elle n'est pas soumise à publicité; Son existence peut être prouvée par tous moyens.
Elle ne regroupe comme dans le cas d'une SNC, qu'un petit nombre d'associés (au moins deux) qui se connaissent et se font mutuellement confiance.
* Le décès ou l'incapacité de l'un d'eux met généralement fin à la société ;
* Tous sont solidairement et indéfiniment responsables des dettes sociales (comme dans le cas de l'entreprise individuelle)
La gestion d'une Société en participation est assurée par un Gérant associé ou non.
La Société de fait
Il y a société de fait lorsque deux ou plusieurs personnes physiques ou morales :
* se comportent comme des associés sans avoir constitué entre elles l'une des sociétés reconnues par les Actes uniformes;
* ont constitué entre elles une société reconnue par les Actes Uniformes mais n'ont pas accompli les formalités légales constitutives ou ont constitué entre elles une société non reconnue par les Actes Uniformes.
L'existence d'une société de fait est prouvée par tout moyen et lorsqu'elle est reconnue par le juge, les règles de la Société en Nom Collectif (SNC) sont applicables aux associés.
Le Groupement d'Intérêt Economique (GIE)
Le GIE est constitué par deux ou plusieurs personnes physiques ou morales et met en oeuvre pour une durée déterminée, tous les moyens propres à faciliter ou à développer l'activité économique de ses membres, à améliorer ou à accroître les résultats de cette activité.
L'activité du GIE doit se rattacher essentiellement à l'activité économique de ses membres et ne peut avoir un caractère auxiliaire par rapport à celle-ci.
Il est administré par une personne physique ou morale ( qui désigne un représentant permanent)