Q:

Subscribe meteor collection through a handlebars helper

On my quest to gain meteor knowledge, I found a new hurdle. 
I was using autopublish with my application. 
I registered a Settings collection through a helpers to have the values available globally. 
// in settings.js
Settings = new Meteor. Collection('settings');
Settings.insert(
  {
  logo: 'Comparer Caisses Enregistreuses',
  contact: {
    human: '01 82 88 19 13',
    machine:'0440182881913'
  },
  headline: 'Comparez les meilleurs fournisseurs de Caisses!', 
  tagline: "Obtenez jusqu\'à 4 devis gratuits et économisez votre temps et votre argent",
  offer: 'Economisez <span class="value">jusqu\'a 40%</span> sur votre caisses',
}
)

And then in client/main.js
  Handlebars.registerHelper('view', function(){
    return Settings.findOne();
  });

I have now removed autopublish and I'm trying to register the collection again. 
In the server folder:
  // server/publication.js
  Meteor.publish('settings', function(){
    return Settings.findOne();
    // or should it be `return settings` so that I can call `.findOne()` in my helper
  });

In the client folder:
// client/main.js
  Meteor.subscribe('settings');

  Handlebars.registerHelper('view', function(){
    // here nothing work
    // return settings;
    // return Settings.findOne();
    // not sure how to call the publication
  });

Is there a way to subscribe to a publication through a helper? 

A:

Meteor.publish is supposed to be used in server-side code, not on the client. 
EDIT
Your updated code: 
  // server/publication.js
  Meteor.publish('settings', function(){
    return Settings.findOne();
    // or should it be `return settings` so that I can call `.findOne()` in my helper
  });

As you already pointed out, it should be return Settings.find() because the function given as a second parameter to Meteor.publish should return a single or multiple cursors (not a single document which is returned by findOne()).