getStore('read'); $doc=$this->get('doc',false); $mode=$this->get('mode'); $this->del('mode'); $test=false; if($user=$this->get('user')) if(array_key_exists($user,$users)) if(Tools::queryControl($this->get(),$users[$user],600)!==false) $test=true; if(ENV_DEV===true && $user=='TEST') $test=true; //$test=true; if($test) { $jsonList=array(); switch($mode) { case 'rank': $rank=new Rank($db); $formacode=trim($this->get('formacode',false)); $codeInseeVille=trim($this->get('codeinseeville',$this->get('codeinsee',false))); if($doc) { $formacode=13021; $codeInseeVille=35001; } if($formacode && $codeInseeVille) { $list=$rank->getList($formacode,$codeInseeVille); if($list!==false) { foreach($list as $line) $jsonList[]=array( 'formacode'=>$line['formacode'], //'label'=>$line['label'], //'location-slug'=>$line['locationslug'], 'codeinsee-bassin'=>$line['codeinsee'], 'taux-bassin'=>is_null($line['bassinrate'])?'':$line['bassinrate'], 'taux-departemental'=>is_null($line['departementalrate'])?'':$line['departementalrate'], 'taux-regional'=>is_null($line['regionalrate'])?'':$line['regionalrate'], 'taux-national'=>is_null($line['nationalrate'])?'':$line['nationalrate'], ); } elseif($rank->error) { $code=$rank->error['code']; unset($rank->error['code']); switch($code) { case 'ERROR_MISSING': case 'ERROR_NOTSTATS': case 'ERROR_NOTFOUND': $jsonList=$rank->error; break; } http_response_code(400); } } break; case 'location': $ref=new Reference($db); foreach($ref->get('LOCATION','/1/1/*') as $line) { $l=array( 'path'=>$line['path'], 'label'=>$line['label'], 'location-slug'=>$line['labelslug'] ); if($zipcode=Reference::extraDataAll('zc',$line['extradata'],array())) $l['zipcode']=$zipcode; if($lat=Reference::extraData('lt',$line['extradata'],'')) $l['lat']=$lat; if($lng=Reference::extraData('lg',$line['extradata'],'')) $l['lng']=$lng; $jsonList[]=$l; } break; case 'detail': $jsonList=false; $adSearch=new AdSearch($db); $uid=trim($this->get('uid','')); $id=trim($this->get('id','')); if($uid) $ad=$adSearch->getByIdNew($uid,'findbyuid'); elseif($id) $ad=$adSearch->getByIdNew($id); $properties=array(); if(!empty($ad)) { // on met les flags publiques sont forme de booleen $properties=array( 'contrat-professionnalisation'=>'CONTRATPROFESSIONALISATION', 'contrat-apprentissage'=>'CONTRATAPPRENTISSAGE', 'entrees-sorties-permanentes'=>'ENTREESSORTIESPERMANENTES', 'certifiante'=>'CERTIFIANTE', 'rncp'=>'RNCP', 'pic'=>'PIC', ); $flags=$ad['caracteristiques']?:array(); if(array_walk($properties,function(&$v) use($flags){return $v=in_array($v,$flags);})) { unset($ad['caracteristiques']); $jsonList=$ad+array_filter($properties); } else error_log('API detail - ligne '.__LINE__.': échec du filtrage des flags'); } break; case 'catalogue': $doc=''; $jsonList=array(); $rome=trim($this->get('rome',false)); $codeInsee=trim($this->get('codeinsee',false)); $limit=trim($this->get('limit',1000)); $adSearch=new AdSearch($db); $content=new QContentParser(); $list=$adSearch->getList(array('rome'=>$rome,'codeinsee'=>$codeInsee)); $i=0; foreach($list as $ad) { if($i++>=$limit) break; $item=array(); $item['formacode']=explode(' ',$ad['formacode']); $item['intitule']=utf8_encode($ad['title']); $item['lieu-de-formation']=utf8_encode(sprintf('%s > %s',$ad['locationparentlabel'],$ad['locationlabel'])); $item['organisme']=utf8_encode($ad['organame']); $item['distance']=utf8_encode($ad['dist']); //En metre $tx=$ad['nationalrate']; $txType='national'; if($ad['bassinrate']) {$tx=$ad['bassinrate']; $txType='bassin';} elseif($ad['departementrate']) {$tx=$ad['departementrate']; $txType='departement';} elseif($ad['regionalrate']) {$tx=$ad['regionalrate']; $txType='region';} else {$tx=''; $txType='national';} $item['tx']=$tx; $item['tx-type']=$txType; $item['lat']=$ad['lat']; $item['lng']=$ad['lng']; $item['url']=URL_BASE.$this->rewrite('/detail.php',array('ad'=>$ad)); $content->parse($ad['content']); $desc=(string)$content->get('objective',$content->get('description')); $item['description']=utf8_encode(substr($desc,0,300).(strlen($desc)>300?'...':'')); $jsonList[]=$item; } $jsonList=array( 'resultat-total'=>count($list), 'resultat-url'=>URL_BASE.$this->rewrite('/result.php',array('criteria'=>array('rome'=>$rome,'codeinsee'=>$codeInsee))), 'annonces'=>$jsonList ); //$jsonList=$list; break; } if(!$doc) { $this->header('Content-Type: application/json'); if($jsonList!==false) { $json=json_encode($jsonList); if($json!==false) { echo $json; return; } } //utf8_encode(echo json_last_error()); http_response_code(400); return; } } else $doc=''; //$this->forward('/404.php'); $asset=$this->getGeneral('asset'); ?> Documentation API Documentation API
Plus précisément, l’API restitue le niveau de retour à l'emploi de l’ensemble des demandeurs d’emploi sortants de formation depuis janvier 2013.
Le niveau de retour à l'emploi mesure la part des stagiaires inscrits à Pôle emploi qui, dans les 6 mois suivant la fin de chaque formation, ont retrouvé un emploi salarié de 1 mois et plus (hors particuliers employeurs, employeurs publics, employeurs à l’étranger et missions d’intérim à durée non renseignée), ou ont bénéficié d’un contrat aidé ou ont créé leur entreprise (Source : données Pôle emploi).